
Стратегия представляет собой систему взрывного трейдинга, которая сочетает в себе пояса Брингера (Bollinger Bands), относительно сильные индикаторы (RSI) и гладкие K-линии (Heikin Ashi). Используя в сочетании несколько технических показателей, стратегия эффективно фильтрует рыночный шум и захватывает высоковероятные возможности для взрывного трейдинга. Стратегия использует идею отслеживания тенденций и динамического трейдинга, вступая в игру после подтверждения взрыва, и используя обратный и RSI-оперебой в качестве выхода с помощью гладких K-линий.
Основная логика стратегии основана на взаимодействии трех технических показателей:
Условия входа должны быть выполнены одновременно:
Условия для выхода:
Предложения по контролю рисков:
Стратегия создает относительно полную систему отслеживания трендов, используя комбинацию буринских полос, RSI и гладкой K-линии. Логика стратегии ясна, стандарты выполнения ясны, имеет хорошую практичность. Стабильность и надежность стратегии могут быть улучшены путем оптимизации параметров и добавления вспомогательных показателей.
/*backtest
start: 2024-02-19 00:00:00
end: 2025-02-16 08:00:00
period: 6h
basePeriod: 6h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Bollinger Bands + RSI + Heikin Ashi Breakout", overlay=true)
// Input Settings
bbLength = input.int(20, title="Bollinger Bands Length")
bbMultiplier = input.float(2, title="Bollinger Bands Multiplier")
rsiLength = input.int(14, title="RSI Length")
rsiOverbought = input.float(70, title="RSI Overbought Level")
// Bollinger Bands
basis = ta.sma(close, bbLength)
dev = bbMultiplier * ta.stdev(close, bbLength)
upperBB = basis + dev
lowerBB = basis - dev
// Heikin Ashi Candle Calculations
var float heikinOpen = na // Declare `heikinOpen` with an undefined initial value
var float heikinClose = na // Declare `heikinClose` with an undefined initial value
// Update Heikin Ashi values
heikinClose := (open + high + low + close) / 4
heikinOpen := na(heikinOpen[1]) ? (open + close) / 2 : (heikinOpen[1] + heikinClose[1]) / 2
heikinHigh = math.max(high, math.max(heikinOpen, heikinClose))
heikinLow = math.min(low, math.min(heikinOpen, heikinClose))
// RSI
rsi = ta.rsi(close, rsiLength)
// Entry Conditions
heikinGreen = heikinClose > heikinOpen
longCondition = heikinGreen and close > upperBB and rsi > 50
// Exit Conditions
heikinRed = heikinClose < heikinOpen
longExitCondition = heikinRed or rsi >= rsiOverbought
// Strategy Execution
if (longCondition)
strategy.entry("Long", strategy.long)
if (longExitCondition)
strategy.close("Long", comment="Exit Long")
// Plotting Bollinger Bands
plot(upperBB, color=color.blue, title="Upper Bollinger Band")
plot(lowerBB, color=color.blue, title="Lower Bollinger Band")
plot(basis, color=color.orange, title="Middle Bollinger Band")
// Heikin Ashi Visualization
plotcandle(heikinOpen, heikinHigh, heikinLow, heikinClose, color=(heikinGreen ? color.green : color.red), title="Heikin Ashi Candles")
// Debugging Signals
plotshape(longCondition, style=shape.labelup, location=location.belowbar, color=color.green, title="Long Entry Signal")
plotshape(longExitCondition, style=shape.labeldown, location=location.abovebar, color=color.red, title="Long Exit Signal")