Эта торговая стратегия генерирует торговые сигналы на основе индикатора под названием Ichimoku Kinko Hyo. Ichimoku Kinko Hyo буквально переводится как
Стратегия использует компонентные линии Ichimoku
Стратегия использует пять строк из системы Ичимоку Кинко Хё:
Облако - это область между Сенкоу-Спан A и Сенкоу-Спан B, представляющая собой текущий диапазон тренда в целом.
Торговые сигналы генерируются на основе следующих сценариев:
Кроме того, стратегия использует кросс Tenkan/Kijun для определения уровня получения прибыли и стоп-лосса.
Самая большая сила этой стратегии заключается в способности Ichimoku
Кроме того, стратегия включает в себя кросс Tenkan / Kijun для частичного получения прибыли и контроля рисков.
Основной риск возникает из-за потенциальных пробелов в линиях Ичимоку, вызывающих ложный прорыв.
Решения включают оптимизацию параметров для сокращения интервалов между линиями, или добавление фильтров, чтобы избежать торговли в диапазоне зон.
Некоторые аспекты стратегии могут быть улучшены:
Оптимизируйте параметры Ичимоку и корректируйте периоды скользящей средней для большего числа символов и временных рамок.
Включите подтверждение объема, чтобы избежать пробелов, вызывающих ложные сигналы.
Добавьте другие индикаторы, такие как MACD, RSI для дополнительного тренда и фильтры осцилляторов.
Улучшить правила остановки потерь и получения прибыли, например, остановка последнего действия, размещение позиции и т.д.
В общем, эта система Ichimoku определяет направление тренда и торговые шансы с облаком и компонентными линиями. Преимущества заключаются в четком определении тренда и точных сигналах входа.
/*backtest start: 2022-12-08 00:00:00 end: 2023-12-14 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Ichimoku Cloud", shorttitle="Ichimoku", overlay=true) previous_close = close[1] conversionPeriods = input.int(20, minval=1, title="Conversion Line Periods"), basePeriods = input.int(60, minval=1, title="Base Line Periods") laggingSpan2Periods = input.int(120, minval=1, title="Lagging Span 2 Periods"), displacement = input.int(30, minval=1, title="Displacement") long_entry = input.bool(true, title="Long Entry") short_entry = input.bool(true, title="Short Entry") e2e_entry = input.bool(true, title="E2E Entry") donchian(len) => math.avg(ta.lowest(len), ta.highest(len)) tenkan = donchian(conversionPeriods) kijun = donchian(basePeriods) spanA = math.avg(tenkan, kijun) spanB = donchian(laggingSpan2Periods) plot(tenkan, color=#0496ff, title="Conversion Line") plot(kijun, color=#991515, title="Base Line") plot(close, offset = -displacement, color=#459915, title="Lagging Span") p1 = plot(spanA, offset = displacement, color=#459915, title="Lead 1") p2 = plot(spanB, offset = displacement, color=#991515, title="Lead 2") fill(p1, p2, color = spanA > spanB ? #459915 : #991515) ss_high = math.max(spanA[displacement - 1], spanB[displacement - 1]) ss_low = math.min(spanA[displacement - 1], spanB[displacement - 1]) // Entry/Exit Signals tk_cross_bull = tenkan > kijun tk_cross_bear = tenkan < kijun kumo_twist_bull = ta.mom(close, displacement) > 0 kumo_twist_bear = ta.mom(close, displacement) < 0 price_above_kumo = close > ss_high price_below_kumo = close < ss_low price_enters_kumo_top = previous_close > ss_high[1] and close < ss_high price_enters_kumo_bottom = previous_close < ss_low[1] and close > ss_low bullish = tk_cross_bull and kumo_twist_bull and price_above_kumo bearish = tk_cross_bear and kumo_twist_bear and price_below_kumo bullishe2e = price_enters_kumo_bottom // and tk_cross_bull bearishe2e = price_enters_kumo_top // and tk_cross_bear price_touches_kumo_top = ta.cross(close, ss_high) price_touches_kumo_bottom = ta.cross(close, ss_low) strategy.entry("Long", strategy.long, when=bullish and long_entry) strategy.close("Long", when=tk_cross_bear) strategy.close("Long", when=price_enters_kumo_top) strategy.entry("Long e2e", strategy.long, when=bullishe2e and e2e_entry) strategy.close("Long e2e", when=price_touches_kumo_top) strategy.close("Long e2e", when=price_below_kumo, qty_percent = 100) // strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50) strategy.entry("Short", strategy.short, when=bearish and short_entry) strategy.close("Short", when=tk_cross_bull) strategy.close("Short", when=price_enters_kumo_bottom) strategy.entry("Short e2e", strategy.short, when=bearishe2e and e2e_entry) strategy.close("Short e2e", when=price_touches_kumo_bottom) strategy.close("Short e2e", when=price_above_kumo, qty_percent = 100) // strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)