
Стратегия прорыва тоннеля Доньчжань - это стратегия, основанная на ценовом поведении и тенденциях. Она использует тоннель Доньчань для определения потенциальных точек прорыва и открытия позиций на более высоком уровне или на пустом уровне, когда цена прорывается через канал.
Основная логика этой стратегии заключается в следующем:
Используя функции Ta.highest и Ta.lowest, вычислите максимальные и минимальные цены за определенный период (например, 60 K-линий), чтобы построить верхний и нижний рельсы тончайского канала.
Когда цена пробивает вверх, считается, что рынок может войти в многоголовый тренд, поэтому при прохождении следующего отсека линии K вверх делают больше; когда цена пробивает вниз, считается, что рынок может войти в пустой тренд, поэтому при прохождении следующего отсека линии K вниз делают пустоту.
Если цена вновь пробивается вверх или вновь пробивается вниз, считается, что тренд изменился, и в этот момент ликвидируется текущая позиция сверх или ниже.
Для контроля риска, после дополнительного дисконтирования, стоп-лосс устанавливается как цена открытия позиции минус или плюс минимальная цена подъема.
Эта стратегия, основанная на прорыве каналов, проста и прямолинейна, учитывает поведение цены в сочетании с тенденционными характеристиками, проста в использовании и стабильна.
Эта стратегия имеет следующие преимущества:
Стратегическая логика четкая, понятная и практичная.
Используя канал Тунцзяна для определения направления тенденции, можно эффективно фильтровать шум и идентифицировать надежные сигналы прорыва.
Стоп-убытки после дополнительного ликвидного позиционирования являются разумными и позволяют хорошо контролировать индивидуальные потери.
Независимо от того, в каком состоянии находится рынок, эта стратегия может быть реализована, чтобы поймать потенциальную тенденцию, если произойдет эффективный прорыв цены.
Небольшое количество параметров стратегии, непростое встраивание, большое пространство для оптимизации параметров, высокая пластичность.
Однако эта стратегия также несет в себе некоторые риски:
“Тренд-следующая стратегия, которая не может уловить обратный тренд”.
Приближение к точке остановки может быть остановлено короткими колебаниями цены.
Неправильная установка длины прохода увеличивает вероятность ложного прорыва.
В ответ на эти риски можно принять следующие меры:
В сочетании с другими показателями можно выявить потенциальные обратные сигналы, чтобы избежать принудительного слежения.
Установка разумного последующего убытка для блокировки прибыли, а не для первоначального убытка.
Испытание различных параметров, чтобы найти оптимальную комбинацию.
В этой стратегии есть место для дальнейшей оптимизации:
Попробуйте двухканальную стратегию прорыва, один канал используется для определения точки входа, а другой - для определения точки остановки или остановки.
После того, как прорыв в канале будет определенно тикнуть, открывайте позиции, чтобы отфильтровать ложные прорывы.
Добавление фильтров на объем или волатильность, чтобы избежать ошибочных сделок при резких колебаниях цен.
Попытайтесь использовать различные стратегии, например, стратегии следования тренду или стратегии обратного отсчета.
Добавление модуля управления рисками, контроль максимального убытка в день, максимального вывода и т. д.
В целом, стратегия прорыва каналов Тоньчжоу является очень практичной краткосрочной стратегией для отслеживания тенденций. Она определяет поведение цены, идентифицирует изменения потенциальных тенденций и использует прорыв каналов для открытия позиций. Логика стратегии проста, проста в использовании и может иметь хорошие результаты на многих рынках.
/*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()