Cette stratégie combine trois indicateurs techniques: les bandes de Bollinger, l'indice de force relative (RSI) et l'indice de résistance stochastique. En analysant la volatilité et l'élan des prix, elle vise à identifier les conditions de marché de surachat et de survente pour déterminer les points d'entrée et de sortie optimaux.
Le noyau de cette stratégie réside dans l'utilisation des bandes de Bollinger, RSI et RSI stochastique pour évaluer les conditions du marché. Les bandes de Bollinger se composent d'une bande intermédiaire (20 périodes de moyenne mobile simple), d'une bande supérieure (3 écarts types au-dessus de la bande intermédiaire) et d'une bande inférieure (3 écarts types en dessous de la bande intermédiaire), mesurant la volatilité des prix.
Un signal long est déclenché lorsque le RSI est inférieur à 34, le RSI stochastique est inférieur à 20 et le prix de clôture est au niveau ou en dessous de la bande de Bollinger inférieure. Un signal court est déclenché lorsque le RSI est supérieur à 66, le RSI stochastique est supérieur à 80 et le prix de clôture est au niveau ou au-dessus de la bande de Bollinger supérieure.
Cette stratégie combine les bandes de Bollinger, le RSI et le RSI stochastique pour identifier les points d'entrée et de sortie optimaux en tirant parti de la volatilité des prix et des informations sur l'élan. Elle définit des niveaux clairs de prise de profit et de stop-loss et contrôle le nombre de transactions quotidiennes pour gérer le risque.
/*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)