Это количественная стратегия, основанная на индикаторе Ичимоку, основанная на длинных и коротких позициях при определенных условиях для отслеживания рыночных тенденций, в сочетании с определенными механизмами стоп-лосса для контроля рисков.
Ядро этой стратегии заключается в создании торговых сигналов на основе индикатора Ичимоку с определенными параметрами. Индикатор Ичимоку состоит из четырех линий: линии конверсии, базовой линии, ведущего диапазона А и отстающего диапазона В. Линия конверсии обычно известна как Тенкан-сен, а базовая линия называется Киджун-сен. Эта стратегия устанавливает различные параметры для Тенкан-сен и Киджун-сен для генерации золотых крестовых и мертвых крестовых торговых сигналов. Кроме того, она также включает облачные прорывы в качестве вспомогательного условия для запуска входов.
В частности, стратегия в основном основана на следующих торговых правилах:
Иди длинный, когда цена пробивается выше Тенкан-сена и покидает облако;
Закрыть длинные позиции, когда цена опустится ниже Тенкан-сена;
Пойдем коротко, когда цена опустится ниже Kijun-sen и войдет в облако;
Закройте короткие позиции, когда цена снова поднимется выше Тенкан-сена.
Благодаря таким принципам длинной и короткой торговли стратегия может эффективно отслеживать тенденции на рынке.
По сравнению с другими распространенными стратегиями торговли скользящей средней, эта стратегия имеет следующие преимущества:
Более точное суждение о тренде на основе Ichimoku. Ichimoku состоит из нескольких скользящих средних, что делает его более надежным для распознавания тренда и фильтрации шума от отдельных MAs.
Дополнительный фильтр от облачных прорывов избегает ложных сигналов.
Установка линии стоп-лосса позволяет своевременно остановить потерю и контролировать риск.
Меньшие убытки: менее неблагоприятные сделки по сравнению с другими тенденциями после стратегий уменьшает убытки от убытков.
Гибкая настройка параметров, параметры могут быть настроены для адаптации к различным условиям рынка.
Для этой стратегии все еще существуют некоторые риски:
Низкие показатели на рынках с ограниченным диапазоном.
Недостаточное распознавание перемены тренда. Слабое распознавание краткосрочных перемены тренда, может упустить возможности или столкнуться с внезапными переменами.
Различные параметры могут значительно повлиять на производительность, что требует большого исторического опыта.
Следующие аспекты могут быть оптимизированы для устранения вышеуказанных рисков:
Добавить индикаторы волатильности для выявления рынков, не имеющих тенденций, и приостановить стратегию.
Включайте дополнительные сигналы обратного движения, такие как пересечение скользящей средней.
Используйте машинное обучение для автоматической оптимизации параметров вместо ручной настройки.
Установите динамические линии стоп-лосса, основанные на волатильности рынка.
В целом, эта стратегия использует силу Ichimoku в поймании движений тренда. При правильной настройке параметров и оптимизации она может достичь лучшей надежности и служить эффективной стратегией, которую стоит рассмотреть для торговли в режиме реального времени.
/*backtest start: 2022-12-13 00:00:00 end: 2023-12-19 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="RENKO ICHIMOKU STRATEGY", shorttitle="RENKO ICHIMOKU STRATEGY", overlay=true) ro = open rc = close tenkanSenPeriods = input(10, minval=1, title="Tenkan-sen"), kijunSenPeriods = input(30, minval=1, title="Kijun-sen") SenkouSpanBPeriods = input(60, minval=1, title="Senkou Span B"), displacement = input(30, minval=1, title="Chikou Span (Displacement)") donchian(len) => avg(lowest(len), highest(len)) tenkanSen = donchian(tenkanSenPeriods) kijunSen = donchian(kijunSenPeriods) SenkouSpanA = avg(tenkanSen, kijunSen) SenkouSpanB = donchian(SenkouSpanBPeriods) plot(tenkanSen, color=#0496ff, linewidth=2, title="Tenkan-sen") // plot(kijunSen, color=#991515, title="Kijun-sen") // plot(close, offset = -displacement, color=#459915, title="Chikou Span") p1 = plot(SenkouSpanA, offset = displacement, color=green, title="Senkou Span A") p2 = plot(SenkouSpanB, offset = displacement, color=red, title="Senkou Span B") fill(p1, p2, color = SenkouSpanA > SenkouSpanB ? green : red) // Entry/Exit Signals tk_cross_bull = tenkanSen > kijunSen tk_cross_bear = tenkanSen < kijunSen price_below_tenkan = open < tenkanSen and close < tenkanSen price_above_tenkan = open > tenkanSen and close > tenkanSen price_below_kinjun = close < kijunSen price_above_kinjun = close > kijunSen tekan_above_kinjun = tenkanSen > kijunSen tekan_below_kinjun = tenkanSen < kijunSen ss_high = max(SenkouSpanA[displacement-1], SenkouSpanB[displacement-1]) ss_low = min(SenkouSpanA[displacement-1], SenkouSpanB[displacement-1]) price_inside_kumo = close > ss_high and close < ss_low price_below_kumo = rc[1] < ro[1] and rc[0] < ro[0] and rc[1] < ss_low price_above_kumo = rc[1] > ro[1] and rc[0] > ro[0] and rc[1] > ss_high cs_cross_bull = mom(close, displacement-1) > 0 cs_cross_bear = mom(close, displacement-1) < 0 bullish = cs_cross_bull and not price_inside_kumo bearish = cs_cross_bear and not price_inside_kumo strategy.entry("Long", strategy.long, when=price_above_kumo and price_above_tenkan ) strategy.close("Long", when=price_below_tenkan ) strategy.entry("Short", strategy.short, when=price_below_kumo and price_below_tenkan ) strategy.close("Short", when=price_above_tenkan ) // longCondition = crossover(sma(close, 14), sma(close, 28)) // if (longCondition) // strategy.entry("My Long Entry Id", strategy.long) // shortCondition = crossunder(sma(close, 14), sma(close, 28)) // if (shortCondition) // strategy.entry("My Short Entry Id", strategy.short)