Улучшенная стратегия кросс-трейдинга на основе индикатора поворота Shiyun

ICHIMOKU MA DONCHIAN CROSSOVER TK KUMO
Дата создания: 2025-02-21 10:41:00 Последнее изменение: 2025-02-21 10:41:00
Копировать: 1 Количество просмотров: 398
2
Подписаться
319
Подписчики

Улучшенная стратегия кросс-трейдинга на основе индикатора поворота Shiyun Улучшенная стратегия кросс-трейдинга на основе индикатора поворота Shiyun

Обзор

Стратегия основана на классической системе преобразования рынка в облаке (Ichimoku Kinko Hyo) и является усовершенствованной версией, которая идентифицирует торговые сигналы путем динамического пересечения линии преобразования с базовой линией. Стратегия основана на традиционной системе рынка в облаке, добавляет логику автоматического генерирования и выполнения торговых сигналов и совмещается с визуальными ярлыками для повышения читабельности рыночных тенденций.

Стратегический принцип

В основе стратегии лежат пять основных кривых, основанных на рыночной облачной системе: преобразовательная линия (9 циклов), базисная линия (26 циклов), лидирующая линия A, лидирующая линия B (52 циклов) и отстающая линия. Наиболее важные торговые сигналы исходят от пересечения преобразовательной линии с базисной линией.

Стратегические преимущества

  1. Систематизированное отслеживание тенденций - позволяет в полной мере отслеживать тенденции рынка с помощью пакетов индикаторов на нескольких временных рамках.
  2. Интуитивное визуальное отображение - с использованием цветовых ярлыков и облачных графиков, торговые сигналы четко видны.
  3. Интегрированный риск-менеджмент - с встроенным механизмом остановки убытков, автоматически ликвидирующим позиции при рыночном переходе.
  4. Адаптируемость - параметры могут быть скорректированы, чтобы адаптироваться к различным рыночным условиям
  5. Сигнальная стабильность - использование равнолинейного скрещивания для фильтрации ложных сигналов, повышения качества транзакций.

Стратегический риск

  1. Задержка поворота тенденции - существует определенная задержка из-за использования движущейся средней.
  2. Не применяется для рынка колебаний - может создавать ложные сигналы на этапе горизонтальной сборки.
  3. Чувствительность параметров - различные параметры могут существенно повлиять на эффективность стратегии.
  4. Сложность облачной карты - переплетение нескольких линий может привести к трудностям с интерпретацией сигнала.

Направление оптимизации стратегии

  1. Введение фильтра волатильности - можно добавить индикатор ATR для корректировки размера позиции.
  2. Оптимизация времени входа в рынок - подтверждение торговых сигналов в сочетании с динамическими индикаторами, такими как RSI.
  3. Усовершенствованный механизм остановки убытков - можно установить динамическую остановку убытков, основанную на точке опоры в облачной карте.
  4. Увеличение подтверждения объема транзакций - проверка объема транзакций при генерации сигнала, повышение надежности.
  5. Добавление фильтра рыночной среды - выбор подходящей торговой среды с помощью индикатора силы тренда.

Подвести итог

Эта стратегия, улучшив традиционную рыночную облачную систему, создает полную систему торговли с отслеживанием тенденций. Несмотря на определенную отсталость, благодаря фильтрации сигналов и оптимизации управления рисками можно добиться стабильной производительности на трендовых рынках.

Исходный код стратегии
/*backtest
start: 2024-02-22 00:00:00
end: 2024-12-16 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6

strategy(title="Ichimoku Cloud with Lables", shorttitle="Ichimoku", overlay=true)
conversionPeriods = input.int(9, minval=1, title="Conversion Line Length")
basePeriods = input.int(26, minval=1, title="Base Line Length")
laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length")
displacement = input.int(26, minval=1, title="Lagging Span")
donchian(len) => math.avg(ta.lowest(len), ta.highest(len))
conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = math.avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)
plot(conversionLine, color=#2962FF, title="Conversion Line")
plot(baseLine, color=#B71C1C, title="Base Line")





plot(close, offset = -displacement + 1, color=#43A047, title="Lagging Span", display = display.none)
p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7,
	 title="Leading Span A")
p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A,
	 title="Leading Span B")
plot(leadLine1 > leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Upper Line", display = display.none) 
plot(leadLine1 < leadLine2 ? leadLine1 : leadLine2, offset = displacement - 1, title = "Kumo Cloud Lower Line", display = display.none) 
fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90))

if barstate.islast
    label.new(bar_index+5,baseLine,style=label.style_none,xloc=xloc.bar_index,text="Base",color=color.white,textcolor=#B71C1C)
    label.new(bar_index +8, conversionLine,style=label.style_none,xloc=xloc.bar_index,text="Conversion",color=color.white,textcolor=#2962FF)
	label.new(bar_index+(displacement-1)+5,leadLine1,style=label.style_none,xloc=xloc.bar_index,text="Lead1",color=color.white,textcolor=#A5D6A7)
	label.new(bar_index+(displacement-1)+5,leadLine2,style=label.style_none,xloc=xloc.bar_index,text="Lead2",color=color.white,textcolor=#EF9A9A)

// --- TRADING LOGIC ---

// 1) Detect bullish cross (Conversion crosses above Base)
longSignal = ta.crossover(conversionLine, baseLine)

// 2) Detect bearish cross (Conversion crosses below Base)
closeSignal = ta.crossunder(conversionLine, baseLine)

// 3) If bullish cross occurs, open a new long
if longSignal
    strategy.entry("LongTK", strategy.long)

// 4) If bearish cross occurs, close the open long
if closeSignal
    // Closes all orders opened with the ID "LongTK"
    strategy.close("LongTK")