
Стратегия является специально разработанной для трейдинга в воздушном пространстве системой количественного трейдинга с целью выявления эффективных прорывов в ключевых поддерживающих позициях, чтобы уловить падение цены. Стратегия сочетает в себе теорию сопротивления поддержки в техническом анализе, принципы подтверждения объема сделки и динамический механизм управления рисками ATR. Система имеет функцию фильтрации поперечного рынка, которая позволяет эффективно избегать создания ложных сигналов в шокирующих ситуациях и сосредоточиться на трендовых возможностях прорыва.
Ключевые принципы стратегии основаны на теории прорыва уровня поддержки в техническом анализе. Во-первых, система определяет ключевой уровень поддержки путем вычисления минимальной цены за последние 20 циклов. Этот уровень поддержки представляет собой важную защитную зону для многоголосной силы. Когда цена проваливает этот уровень поддержки и удовлетворяет условиям прорыва буферной защиты, это означает, что многоголосная защитная линия была пробита, а воздушная сила занимает доминирующее положение.
Эта стратегия имеет множество технических преимуществ, прежде всего высокое качество сигнала, значительно снижает вероятность ложных сигналов с помощью фильтрации трех условий: прорыв в уровне поддержки, подтверждение объема сделки и поперечная фильтрация. Механизм подтверждения объема сделки обеспечивает эффективность прорыва и предотвращает ложные прорывы, вызванные недостаточной ликвидностью.
Несмотря на многочисленные преимущества стратегии, существуют потенциальные риски, о которых следует помнить. Во-первых, риск обратного тренда, когда рынок находится в сильной восходящей тенденции, и прорыв в поддержку может быть только кратковременным отклонением, а не истинным обратным трендом, что может привести к быстрому потере позиции на открытом рынке.
Во-первых, можно ввести многократный анализ временных рамок, чтобы отфильтровать торговые сигналы путем сочетания направлений тенденции с более высокими временными рамками, например, выполнять сигналы по часовому графику только тогда, когда дневная карта показывает нисходящую тенденцию. Это может значительно повысить уровень успешности сигналов, избегая обратных операций. Во-вторых, можно оптимизировать механизм подтверждения объема сделок, учитывая не только абсолютные значения объема сделок, но и анализируя относительные изменения в объеме сделок и характеристики распределения объема сделок.
Стратегия является хорошо разработанной системой количественного трейдинга с прорывом в воздушном пространстве, обеспечивающей высокое качество сигнала и контроль уровня риска путем комбинированного применения нескольких технических показателей. Основные преимущества стратегии заключаются в ее полном механизме фильтрации сигнала и динамической системе управления рисками на основе ATR.
/*backtest
start: 2024-05-26 00:00:00
end: 2024-08-13 00:00:00
period: 2h
basePeriod: 2h
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("Breakout Strategy Pro [Dubic] - Short Only", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
// === INPUTS === //
srRange = input.int(20, "Support Lookback", minval=5)
volMaLength = input.int(20, "Volume MA Length", minval=1)
atrLength = input.int(14, "ATR Period", minval=5)
trailMultiplier = input.float(1.5, "Trailing Stop Multiplier", minval=1.0)
stopMultiplier = input.float(1.0, "Initial Stop-Loss ATR Multiplier", minval=0.5)
breakoutBuffer = input.float(1.005, "Breakout Buffer", step=0.001)
rangeLength = input.int(20, "Range Detector Lookback", minval=5)
rangeThreshold = input.float(1.5, "Sideways Threshold (x ATR)", minval=0.5, step=0.1)
// === CALCULATIONS === //
lowLevel = ta.lowest(low, srRange)[1]
volMA = ta.sma(volume, volMaLength)
atr = ta.atr(atrLength)
trailOffsetTicks = math.max(int(math.round((atr * trailMultiplier) / syminfo.mintick)), 1)
stopLossTicks = math.max(int(math.round((atr * stopMultiplier) / syminfo.mintick)), 1)
// === SIDEWAYS DETECTION === //
highRange = ta.highest(high, rangeLength)
lowRange = ta.lowest(low, rangeLength)
priceRange = highRange - lowRange
isSideways = priceRange <= atr * rangeThreshold
// === ENTRY LOGIC === //
shortCondition = close <= lowLevel * breakoutBuffer and volume >= volMA and not isSideways
// === ENTRY & EXIT === //
if shortCondition and strategy.position_size >= 0
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", "Short", trail_price=close, trail_offset=trailOffsetTicks, stop=close + stopLossTicks * syminfo.mintick)
alert("Short Entry Signal - Breakout Strategy Pro [Dubic]", alert.freq_once_per_bar)
// === VISUALS === //
plot(lowLevel, "Support", color=color.new(color.green, 30))
plot(volMA, "Volume MA", color=color.gray)
plotshape(shortCondition, location=location.abovebar, style=shape.triangledown, color=color.red, size=size.small, title="Sell Signal")
bgcolor(isSideways ? color.new(color.orange, 85) : na, title="Sideways Market")