Количественная стратегия Ichimoku Cloud Trading

Автор:Чао Чжан, Дата: 2023-12-21 15:33:05
Тэги:

img

Обзор

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

Логика стратегии

Основными компонентами этой стратегии являются три линии из системы Ichimoku Cloud: Линия конверсии, Линия базы и Линии облака. Линия конверсии представляет краткосрочное ценовое действие, Линия базы показывает среднесрочные тенденции, в то время как Облако визуализирует области поддержки и сопротивления. Стратегия идентифицирует рыночные тенденции и торговые возможности путем обнаружения перекресток между этими тремя элементами.

В частности, основными правилами этой стратегии являются:

  1. Когда Базовая линия пересекает облако, в среднесрочной перспективе появляется тенденция к росту.

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

  3. Когда Базовая Линия пересекает облако, начинается тенденция к снижению, идите коротко.

  4. Когда линия конверсии пересекает ниже облака, цены начинают падать краткосрочно, идти коротко.

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

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

По сравнению с одиночными показателями, такими как скользящие средние, наибольшее преимущество этой стратегии заключается в включении данных из нескольких временных рамок для обнаружения изменений тренда. Линия конверсии показывает краткосрочные движения, промежуточные движения базовой линии и облако показывает более долгосрочные уровни поддержки / сопротивления. Их сочетание более точно определяет переломные моменты. Кроме того, присущий фильтрующий механизм Ichimoku уменьшает сбои от шума рынка, что позволяет нам улавливать более крупную тенденцию.

Анализ рисков

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

Чтобы снизить риски, мы можем настроить смесь параметров, установить уровень стоп-лосса/прибыли или комбинировать Ichimoku с другими показателями.

Возможности для расширения

Есть несколько способов, которыми мы можем улучшить эту стратегию:

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

  2. Добавьте условия фильтрации с другими индикаторами, чтобы усилить проверку тренда.

  3. Включайте механизмы остановки потери, такие как остановки отслеживания или временные остановки для контроля потери на одной сделке.

  4. Сочетать с подходами к торговле, чтобы отрегулировать время входа в более крупные тенденции.

Заключение

Стратегия Ichimoku Cloud идентифицирует среднесрочные тенденции с использованием перекресток конверсионных/базовых линий против облака. По сравнению с одиночными индикаторами, она включает в себя несколько временных рамок для надежного обнаружения изменений тренда.


/*backtest
start: 2023-11-20 00:00:00
end: 2023-12-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy(title="Ichimoku Cloud", shorttitle="Ichimoku", overlay=true, default_qty_type=strategy.cash, default_qty_value=100000, initial_capital=100000, currency=currency.USD)


conversionPeriods = input(9, minval=1, title="Conversion Line Periods"),
basePeriods = input(26, minval=1, title="Base Line Periods")
laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"),
displacement = input(26, minval=1, title="Displacement")

donchian(len) => avg(lowest(len), highest(len))

conversionLine = donchian(conversionPeriods)
baseLine = donchian(basePeriods)
leadLine1 = avg(conversionLine, baseLine)
leadLine2 = donchian(laggingSpan2Periods)

plot(conversionLine, color=#0496ff, title="Conversion Line")
plot(baseLine, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")

p1 = plot(leadLine1, offset = displacement, color=green,
 title="Lead 1")
p2 = plot(leadLine2, offset = displacement, color=red, 
 title="Lead 2")
fill(p1, p2, color = leadLine1 > leadLine2 ? green : red)



maxlead = max(leadLine1, leadLine2)
minlead = min(leadLine1, leadLine2)

//rules
A = baseLine> maxlead[displacement]
B = crossover(baseLine,  maxlead[displacement])

C = baseLine< minlead[displacement]
D = crossunder(baseLine, minlead[displacement])


E = conversionLine> maxlead[displacement]
F = crossover(conversionLine, maxlead[displacement])

G = conversionLine< minlead[displacement]
H = crossunder(conversionLine, minlead[displacement])


I = close>  maxlead[2*displacement]
J = crossover(close, maxlead[2*displacement])

K = close<minlead[2*displacement]
L = crossunder(close, minlead[2*displacement])


//strategies
if A 
    if E
        strategy.entry("Buy", strategy.long, when= J)
if A 
    if I
        strategy.entry("Buy", strategy.long, when= F)
if E 
    if I
        strategy.entry("Buy", strategy.long, when= B)

if C
    if G
        strategy.entry("Sell", strategy.short, when=L)
if C
    if K
        strategy.entry("Sell", strategy.short, when=H)
if G
    if K
        strategy.entry("Sell", strategy.short, when=D)

//EOS


Больше