Cette stratégie est un système de négociation quantitatif basé sur la théorie de la réversion moyenne, combinant les bandes de Bollinger, les indicateurs RSI et le mécanisme de stop-loss dynamique basé sur ATR. La stratégie se négocie en identifiant les écarts de prix extrêmes par rapport à la moyenne, en allant long lorsque le prix touche la bande de Bollinger inférieure et que le RSI est en territoire de survente, et en allant court lorsque le prix touche la bande de Bollinger supérieure et que le RSI est en territoire de surachat, tout en utilisant ATR pour définir dynamiquement les niveaux de stop-loss et de take-profit pour une gestion efficace du risque-rendement.
La stratégie utilise des bandes de Bollinger à 20 périodes comme indicateur principal de tendance, avec un multiplicateur d'écart type de 2,0 pour déterminer les limites du mouvement des prix. Un RSI à 14 périodes est incorporé comme indicateur supplémentaire, avec des lectures inférieures à 30 considérées comme survendues et supérieures à 70 considérées comme surachetées. Les positions longues sont initiées lorsque le prix dépasse la bande inférieure et que le RSI est inférieur à 30, indiquant des conditions de survente potentielles, tandis que les positions courtes sont prises lorsque le prix dépasse la bande supérieure et que le RSI est supérieur à 70, indiquant des conditions de survente potentielles.
La stratégie construit un système de négociation de réversion moyenne complet grâce à l'application combinée des bandes de Bollinger et du RSI. L'introduction d'arrêts dynamiques basés sur ATR contrôle efficacement le risque, fournissant des caractéristiques de risque-rendement favorables. Bien qu'il y ait place à l'optimisation, le concept de conception global est clair et pratique. Les traders sont invités à ajuster les paramètres en fonction des caractéristiques spécifiques du marché et à surveiller en permanence les performances de la stratégie lors de la mise en œuvre du trading en direct.
/*backtest start: 2024-11-19 00:00:00 end: 2024-11-26 00:00:00 period: 15m basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("SOL/USDT Mean Reversion Strategy", overlay=true) // Input parameters length = input(20, "Bollinger Band Length") std_dev = input(2.0, "Standard Deviation") rsi_length = input(14, "RSI Length") rsi_oversold = input(30, "RSI Oversold") rsi_overbought = input(70, "RSI Overbought") // Calculate indicators [middle, upper, lower] = ta.bb(close, length, std_dev) rsi = ta.rsi(close, rsi_length) // Entry conditions long_entry = close < lower and rsi < rsi_oversold short_entry = close > upper and rsi > rsi_overbought // Exit conditions long_exit = close > middle or rsi > rsi_overbought short_exit = close < middle or rsi < rsi_oversold // Strategy execution if (long_entry) strategy.entry("Long", strategy.long) if (short_entry) strategy.entry("Short", strategy.short) if (long_exit) strategy.close("Long") if (short_exit) strategy.close("Short") // Stop loss and take profit atr = ta.atr(14) strategy.exit("Long SL/TP", "Long", stop=strategy.position_avg_price - 2*atr, limit=strategy.position_avg_price + 3*atr) strategy.exit("Short SL/TP", "Short", stop=strategy.position_avg_price + 2*atr, limit=strategy.position_avg_price - 3*atr) // Plot indicators plot(middle, color=color.yellow, title="BB Middle") plot(upper, color=color.red, title="BB Upper") plot(lower, color=color.green, title="BB Lower") // Plot entry and exit points plotshape(long_entry, title="Long Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(short_entry, title="Short Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small) plotshape(long_exit, title="Long Exit", location=location.abovebar, color=color.orange, style=shape.circle, size=size.small) plotshape(short_exit, title="Short Exit", location=location.belowbar, color=color.orange, style=shape.circle, size=size.small)