Стратегия прорыва на Дончианском канале.

Автор:Чао Чжан, Дата: 2023-12-04 14:16:33
Тэги:

img

Обзор

Стратегия прорыва в канале Дончиана - это ценовое действие и тренд после прорыва в торговой стратегии.

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

Основная логика этой стратегии заключается в следующем:

  1. Используйте функции Ta.highest и Ta.lowest для вычисления максимального максимума и минимального минимума за определенный период времени (например, 60 бар) для построения верхней и нижней полос Дончианского канала.

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

  3. Как только цены опускаются ниже верхней полосы или поднимаются выше нижней полосы, это указывает на изменение тренда, поэтому сглаживайте существующие длинные или короткие позиции.

  4. Чтобы контролировать риски, установите стоп-лосс по цене входа минус/плюс один минимальный тик после начала длинных/коротких позиций.

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

Преимущества

Эта стратегия имеет несколько преимуществ:

  1. Логика ясна, проста и легко понятна, с высокой эффективностью.

  2. Использование Дончианского канала для определения направления тренда может эффективно отфильтровать шум и идентифицировать надежные сигналы прорыва.

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

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

  5. Очень мало параметров, не склонны к переустановке, с большим пространством настройки и высокой пластичностью.

Риски

Эта стратегия также сопряжена с некоторыми рисками:

  1. Как стратегия, следующая за трендом, она не может поймать обратные движения.

  2. Стоп-лосс слишком близко может быть остановлен краткосрочными колебаниями цен.

  3. Неправильное установление длины канала увеличивает вероятность ложного прорыва.

Некоторые противодействия:

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

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

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

Руководство по оптимизации

Есть возможности для дальнейшей оптимизации:

  1. Попробуйте двойную стратегию прорыва на канале Дончиана, один для входа и один для остановки потерь/прибыли.

  2. Только после того, как прорыв превысит определенное количество тиков, чтобы отфильтровать ложные прорывы.

  3. Добавьте фильтр объема или волатильности, чтобы избежать плохих сделок, когда цены сильно колеблются.

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

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

Заключение

Подводя итог, Стратегия прорыва канала Дончиана - это очень практичная краткосрочная стратегия следования трендам. Она определяет потенциальные изменения тренда посредством ценового действия и использует прорывы канала для вступления в сделки. Логика проста и проста в исполнении и может достичь приличных результатов на различных рынках. При дальнейшей оптимизации, такой как настройка параметров, механизмы остановки потери, идентификация обратного движения и т. Д., можно ожидать значительного повышения производительности.


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

//@version=5
// Step 1. Define strategy settings
strategy(title="Price action and breakout Channel Forexrn", overlay=true,
     pyramiding=0, initial_capital=100000,
     commission_type=strategy.commission.cash_per_order,
     commission_value=4, slippage=2)

dochLen = input.int(60, title="Price action and breackout Channel Forexrn")

// Position sizing inputs
usePosSize    = input.bool(true, title="Use Position Sizing?")
atrLen        = input.int(10, title="ATR Length")
atrRiskOffset = input.float(4, title="ATR Risk Offset Multiple", step=0.25)

maxRisk = input.float(2, title="Max Position Risk %", step=.25, 
     minval=0.25, maxval=15)
maxExposure = input.float(10, title="Max Position Exposure %", step=1, 
     minval=1, maxval=100)
marginPerc = input.int(10, title="Margin %", minval=1, maxval=100)

// Step 2. Calculate strategy values
upperband = ta.highest(high, dochLen)[1]
lowerband = ta.lowest(low, dochLen)[1]

// Calculate position size
riskEquity = (maxRisk * 0.01) * strategy.equity
riskTrade  = (ta.atr(atrLen) * atrRiskOffset) * syminfo.pointvalue

maxPos = ((maxExposure * 0.01) * strategy.equity) /
     ((marginPerc * 0.01) * (close * syminfo.pointvalue))

posSize = usePosSize ? math.min(math.floor(riskEquity / riskTrade), maxPos) : 1

// Step 3. Output strategy data
plot(upperband, color=color.green, linewidth=2, title="DoCh Upperband")
plot(lowerband, color=color.red, linewidth=2, title="DoCh Lowerband")

// Step 4. Determine trading conditions
tradeWindow  = true

tradeAllowed = tradeWindow and bar_index > dochLen

// Step 5. Submit entry orders
if tradeAllowed
    if strategy.position_size < 1
        strategy.entry("EL", strategy.long, qty=posSize,
             stop=upperband + syminfo.mintick)

    if strategy.position_size > -1
        strategy.entry("ES", strategy.short, qty=posSize,
             stop=lowerband - syminfo.mintick)

// Step 6. Submit exit orders
if not tradeWindow
    strategy.close_all()

Больше