
Эта стратегия основана на графическом индикаторе Ichimoku Kinko Hyo для создания торговых сигналов. Ichimoku Kinko Hyo, буквально переведенный как таблица сбалансированности на первый взгляд, объединяет преимущества движущихся средних и диапазонных индикаторов, позволяя одновременно идентифицировать направление тренда и поддерживать сопротивление, рассматривается как комплексный индикатор.
Эта стратегия использует компонентную линию Ichimoku Kinko Hyo для определения направления и силы тренда. Она создает торговый сигнал, когда цена прорывается вверх и вниз по диаграмме облаков. В то же время, стратегия использует возможность входа в биткойн, уникальную для Ichimoku.
В этой стратегии используются пять компонентов, описанных в книге Ichimoku Kinko Hyo:
Кроме того, на карте Ичимоку изображены облака, состоящие из Сенку-Спан А и Сенку-Спан Б, которые в основном представляют собой текущие трендовые зоны.
Торговые сигналы для этой стратегии исходят из следующих ситуаций:
Кроме того, в стратегии также рассматривается время остановки и убытков на линии Tenkan и линии Kijun.
Самым большим преимуществом этой стратегии является ее способность использовать индикатор Ichimoku Kinko Hyo для определения направления тренда и поддержки сопротивления.
Кроме того, в стратегию включены модули “Золотой форк” и “Смертный форк”, которые позволяют блокировать часть прибыли и контролировать риски.
Основной риск этой стратегии заключается в потенциальном взлете, вызванном алгоритмом компонентной линии Ичимоку. Это создает риск ложного прорыва.
Решение состоит в том, чтобы скорректировать параметры алгоритма, уменьшить расстояние между компонентными линиями или добавить условия фильтра, чтобы избежать вхождения в колебательную зону.
Есть несколько вариантов оптимизации этой стратегии:
Оптимизация параметров компонентной линии Ичимоку, корректировка средней цикличности, адаптация к большему количеству сортов и циклов.
Подобные действия позволяют увеличить количество подтверждений, чтобы избежать ложных сигналов, вызванных взлетом.
В сочетании с фильтрацией других показателей, таких как MACD, RSI и т. д., для определения тенденций и перепродажи.
Оптимизация логики остановки убытков, например, методы перемещения убытков, масштабирования и др.
В целом, эта стратегия использует облачный график и составную линию Ichimoku Kinko Hyo для определения направления тенденции и возможности торговли. Преимущество стратегии заключается в четкости определения тенденции и точности времени входа.
/*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)