Стратегия отслеживания облаков восьмиугольника

Автор:Чао Чжан, Дата: 2023-12-20 15:08:22
Тэги:

img

Обзор

Это количественная стратегия, основанная на индикаторе Ичимоку, основанная на длинных и коротких позициях при определенных условиях для отслеживания рыночных тенденций, в сочетании с определенными механизмами стоп-лосса для контроля рисков.

Принцип стратегии

Ядро этой стратегии заключается в создании торговых сигналов на основе индикатора Ичимоку с определенными параметрами. Индикатор Ичимоку состоит из четырех линий: линии конверсии, базовой линии, ведущего диапазона А и отстающего диапазона В. Линия конверсии обычно известна как Тенкан-сен, а базовая линия называется Киджун-сен. Эта стратегия устанавливает различные параметры для Тенкан-сен и Киджун-сен для генерации золотых крестовых и мертвых крестовых торговых сигналов. Кроме того, она также включает облачные прорывы в качестве вспомогательного условия для запуска входов.

В частности, стратегия в основном основана на следующих торговых правилах:

  1. Иди длинный, когда цена пробивается выше Тенкан-сена и покидает облако;

  2. Закрыть длинные позиции, когда цена опустится ниже Тенкан-сена;

  3. Пойдем коротко, когда цена опустится ниже Kijun-sen и войдет в облако;

  4. Закройте короткие позиции, когда цена снова поднимется выше Тенкан-сена.

Благодаря таким принципам длинной и короткой торговли стратегия может эффективно отслеживать тенденции на рынке.

Анализ преимуществ

По сравнению с другими распространенными стратегиями торговли скользящей средней, эта стратегия имеет следующие преимущества:

  1. Более точное суждение о тренде на основе Ichimoku. Ichimoku состоит из нескольких скользящих средних, что делает его более надежным для распознавания тренда и фильтрации шума от отдельных MAs.

  2. Дополнительный фильтр от облачных прорывов избегает ложных сигналов.

  3. Установка линии стоп-лосса позволяет своевременно остановить потерю и контролировать риск.

  4. Меньшие убытки: менее неблагоприятные сделки по сравнению с другими тенденциями после стратегий уменьшает убытки от убытков.

  5. Гибкая настройка параметров, параметры могут быть настроены для адаптации к различным условиям рынка.

Риски и оптимизация

Для этой стратегии все еще существуют некоторые риски:

  1. Низкие показатели на рынках с ограниченным диапазоном.

  2. Недостаточное распознавание перемены тренда. Слабое распознавание краткосрочных перемены тренда, может упустить возможности или столкнуться с внезапными переменами.

  3. Различные параметры могут значительно повлиять на производительность, что требует большого исторического опыта.

Следующие аспекты могут быть оптимизированы для устранения вышеуказанных рисков:

  1. Добавить индикаторы волатильности для выявления рынков, не имеющих тенденций, и приостановить стратегию.

  2. Включайте дополнительные сигналы обратного движения, такие как пересечение скользящей средней.

  3. Используйте машинное обучение для автоматической оптимизации параметров вместо ручной настройки.

  4. Установите динамические линии стоп-лосса, основанные на волатильности рынка.

Заключение

В целом, эта стратегия использует силу 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)

Больше