Эта стратегия представляет собой количественный торговый подход, который сочетает в себе полосы Боллинджера и индекс относительной силы (RSI). Она захватывает переломные моменты рынка путем координации ценовых вырывов полос Боллинджера с зонами перекупленности / перепроданности RSI. Стратегия использует 20-периодные полосы Боллинджера и 14-периодный RSI, входящие в длинные позиции, когда цена прорывается ниже нижней полосы, когда RSI находится на перепроданной территории, и закрывающие позиции, когда цена прорывается выше верхней полосы, когда RSI находится на перепроданной территории.
Основная логика основана на синергии двух технических индикаторов. Боллингерские полосы состоят из средней полосы (20-периодного SMA) и верхней/нижней полосы (средние ±2 стандартные отклонения), отражающие волатильность и тенденции цен. RSI вычисляет относительную силу движений цен для выявления условий перекупки/перепродажи. Когда цена касается нижней полосы и RSI ниже 30, это предполагает потенциальные условия перепродажи и возможности отскока. Когда цена касается верхней полосы и RSI выше 70, это указывает на потенциальные условия перекупки и коррекционные риски.
Это количественная стратегия, которая инновационно сочетает в себе классические технические индикаторы Болинджерские полосы и RSI. Благодаря взаимодополняющим эффектам этих индикаторов она обеспечивает надежность сигнала, эффективно захватывая переломные моменты рынка. Стратегия имеет четкую логику и простые расчеты с сильной практичностью. Хотя есть некоторые присущие риски, предложенные направления оптимизации могут еще больше повысить стабильность и прибыльность стратегии. Эта стратегия подходит для трендовых рынков и может обеспечить объективные торговые сигналы для инвесторов.
/*backtest start: 2019-12-23 08:00:00 end: 2024-11-25 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands + RSI Strategy", overlay=true) // Bollinger Bands length = 20 src = close mult = 2.0 basis = ta.sma(src, length) dev = mult * ta.stdev(src, length) upper = basis + dev lower = basis - dev // RSI rsiLength = 14 rsiOverbought = 70 rsiOversold = 30 rsiValue = ta.rsi(src, rsiLength) // Plot Bollinger Bands plot(basis, color=color.blue, linewidth=1) plot(upper, color=color.red, linewidth=1) plot(lower, color=color.green, linewidth=1) // Plot Buy/Sell signals buySignal = ta.crossover(close, lower) and rsiValue < rsiOversold sellSignal = ta.crossunder(close, upper) and rsiValue > rsiOverbought plotshape(series=buySignal, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY") plotshape(series=sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL") // Strategy Entry/Exit if (buySignal) strategy.entry("Buy", strategy.long) if (sellSignal) strategy.close("Buy") // RSI Plot (not on overlay, for reference) rsiPlot = plot(rsiValue, title="RSI", color=color.purple, linewidth=1, offset=-1) hline(rsiOverbought, "Overbought", color=color.red) hline(rsiOversold, "Oversold", color=color.green)