
Стратегия прорыва тончайского канала - это стратегия количественного трейдинга, следующая за тенденцией. Стратегия использует тончайский канал для захвата рыночных тенденций, а также использует ATRSL для управления рисками. Стратегия открывает позиции, когда цена прорывает тончайский канал.
donLengthПараметры рассчитаны в прошлом.donLengthМаксимальная и минимальная цены за цикл, как на трассе в канале ДонцзяньdonUpperИ под рельсыdonLowerВ центре коридора.donBasisСреднее значение вверх и вниз по рельсам.AP2 и AF2Параметры для вычисления ATRSL2Затем, по текущей цене закрытия,SCи предыдущий передвижной ценовой барьер.Trail2[1]Отношения, динамика корректировки движущейся стоп-цены Trail2。donLength、AP2 и AF2Параметры, оптимизирующие эффективность стратегииСтратегия прорыва через тонкий канал является классической стратегией отслеживания тенденций, которая использует тонкий канал для захвата тенденций и управления рисками с помощью мобильного ATRSL. Преимущества этой стратегии заключаются в логической простоте, ясности, простоте реализации и оптимизации; недостатки заключаются в плохой производительности во время рыночных потрясений и обратных тенденций, а параметры настройки оказывают большое влияние на эффективность стратегии. В практическом применении на основе первоначальной стратегии можно добавить модули, такие как фильтрация тенденций, оптимизация остановок и управления позициями, чтобы повысить стабильность и прибыльность стратегии.
/*backtest
start: 2023-03-16 00:00:00
end: 2024-03-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Stock Trend USE THIS", overlay = true)
donLength = input(100, minval=1)
//Donchian Long
donLower = lowest(donLength)
donUpper = highest(donLength)
donBasis = avg(donUpper,donLower)
// ATRSL
SC = close
// Slow Trail //
AP2 = input(10, title="Slow ATR period") // ATR Period
AF2 = input(3, title="Slow ATR multiplier") // ATR Factor
SL2 = AF2 * atr(AP2) // Stop Loss
Trail2 = 0.0
iff_3 = SC > nz(Trail2[1], 0) ? SC - SL2 : SC + SL2
iff_4 = SC < nz(Trail2[1], 0) and SC[1] < nz(Trail2[1], 0) ? min(nz(Trail2[1], 0), SC + SL2) : iff_3
Trail2 := SC > nz(Trail2[1], 0) and SC[1] > nz(Trail2[1], 0) ? max(nz(Trail2[1], 0), SC - SL2) : iff_4
// Long and Short Conditions
longCondition = (crossover(close,donUpper[1]))
// Close Conditions
closeLongCondition = crossunder(close,Trail2)
// Strategy logic
if (longCondition)
strategy.entry("Long", strategy.long)
alert("Open Long position")
if (closeLongCondition)
strategy.close("Long")
alert("Close Long position")
// Plot Donchian
l = plot(donLower, color=color.blue)
u = plot(donUpper, color=color.blue)
plot(donBasis, color=color.orange)
fill(u, l, color=color.blue)
plot(Trail2, color=color.blue, title="ATRSL Trail")