Эта стратегия сочетает в себе три технических индикатора: полосы Боллинджера, индекс относительной силы (RSI) и стохастический RSI. Анализируя волатильность и импульс цен, она направлена на выявление условий перекупленного и перепроданного рынка для определения оптимальных точек входа и выхода.
Основа этой стратегии заключается в использовании полос Боллинджера, RSI и стохастического RSI для оценки рыночных условий. Полосы Боллинджера состоят из средней полосы (20-периодической простой скользящей средней), верхней полосы (3 стандартных отклонения над средней полосой) и нижней полосы (3 стандартных отклонения ниже средней полосы), измеряющей волатильность цен. RSI - это импульсный осциллятор, используемый для определения условий перекупки и перепродажи, с длиной 14 периодов в этой стратегии.
Долгий сигнал запускается, когда RSI ниже 34, стохастический RSI ниже 20, а цена закрытия находится на или ниже нижней полосы Боллинджера. Короткий сигнал запускается, когда RSI выше 66, стохастический RSI выше 80, а цена закрытия - на или выше верхней полосы Боллинджера. Стратегия использует 20-кратный рычаг для моделирования торговли опционами, с 0,60% прибылью и 0,25% стоп-лосом. Кроме того, она ограничивает торговлю один раз в день для контроля риска.
Эта стратегия сочетает в себе полосы Боллинджера, RSI и стохастический RSI для определения оптимальных точек входа и выхода, используя информацию о волатильности цен и импульсе. Она устанавливает четкие уровни получения прибыли и стоп-лосса и контролирует количество ежедневных сделок для управления рисками. Несмотря на свои преимущества, стратегия сталкивается с такими проблемами, как рыночный риск, чувствительность параметров и риск рычага. Дальнейшая оптимизация может быть достигнута за счет динамической корректировки параметров, включения дополнительных индикаторов, оптимизации получения прибыли и стоп-лосса и улучшения методов управления деньгами.
/*backtest start: 2024-05-01 00:00:00 end: 2024-05-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Bollinger Bands + RSI + Stochastic RSI Strategy with OTM Options", overlay=true) // Define leverage factor (e.g., 20x leverage for OTM options) leverage = 1 // Bollinger Bands length = 20 deviation = 3 basis = ta.sma(close, length) dev = ta.stdev(close, length) upper = basis + deviation * dev lower = basis - deviation * dev // RSI rsi_length = 14 rsi = ta.rsi(close, rsi_length) // Stochastic RSI stoch_length = 14 stoch_k = ta.stoch(close, close, close, stoch_length) // Entry condition with Bollinger Bands longCondition = rsi < 34 and stoch_k < 20 and close <= lower shortCondition = rsi > 66 and stoch_k > 80 and close >= upper // Plot Bollinger Bands plot(basis, color=color.blue, title="Basis") plot(upper, color=color.red, title="Upper Bollinger Band") plot(lower, color=color.green, title="Lower Bollinger Band") // Track if a trade has been made today var int lastTradeDay = na // Options Simulation: Take-Profit and Stop-Loss Conditions profitPercent = 0.01 // 1% take profit lossPercent = 0.002 // 0.2% stop loss // Entry Signals if (dayofmonth(timenow) != dayofmonth(lastTradeDay)) if (longCondition) longTakeProfitPrice = close * (1 + profitPercent) longStopLossPrice = close * (1 - lossPercent) strategy.entry("Long", strategy.long, qty=leverage * strategy.equity / close) strategy.exit("Take Profit Long", from_entry="Long", limit=longTakeProfitPrice, stop=longStopLossPrice) lastTradeDay := dayofmonth(timenow) if (shortCondition) shortTakeProfitPrice = close * (1 - profitPercent) shortStopLossPrice = close * (1 + lossPercent) strategy.entry("Short", strategy.short, qty=leverage * strategy.equity / close) strategy.exit("Take Profit Short", from_entry="Short", limit=shortTakeProfitPrice, stop=shortStopLossPrice) lastTradeDay := dayofmonth(timenow)