Cette stratégie est un système de trading de suivi des tendances qui combine des moyennes mobiles exponentielles (EMA) doubles avec l'indice de force relative (RSI). Opérant sur un laps de temps de 5 minutes, elle capture les tendances du marché grâce au croisement des EMA à court et à long terme avec la confirmation du RSI, tout en incorporant un pourcentage fixe de prise de profit et de stop-loss pour la gestion des risques.
La stratégie repose sur les éléments essentiels suivants:
Il s'agit d'un système de trading complet combinant des indicateurs techniques et la gestion des risques. La stratégie identifie efficacement les tendances grâce à la collaboration entre l'EMA et le RSI tout en contrôlant le risque en utilisant des niveaux fixes de prise de profit et de stop-loss. Bien qu'elle ait certaines limitations, les directions d'optimisation suggérées peuvent améliorer encore la stabilité et la rentabilité de la stratégie. La stratégie convient aux traders qui recherchent des rendements stables, en particulier sur les marchés à tendance claire.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-18 08:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("5-Minute EMA + RSI Strategy", overlay=true, shorttitle="EMA RSI") // Inputs ema_short_length = input.int(9, title="Short EMA Length", minval=1) ema_long_length = input.int(21, title="Long EMA Length", minval=1) rsi_length = input.int(14, title="RSI Length") rsi_overbought = input.int(70, title="RSI Overbought Level") rsi_oversold = input.int(30, title="RSI Oversold Level") // Calculate EMAs ema_short = ta.ema(close, ema_short_length) ema_long = ta.ema(close, ema_long_length) // Calculate RSI rsi = ta.rsi(close, rsi_length) // Plot EMAs plot(ema_short, title="Short EMA", color=color.blue, linewidth=2) plot(ema_long, title="Long EMA", color=color.red, linewidth=2) // Conditions for Entries long_condition = ta.crossover(ema_short, ema_long) and rsi > 50 short_condition = ta.crossunder(ema_short, ema_long) and rsi < 50 // Execute Trades if (long_condition) strategy.entry("Buy", strategy.long) if (short_condition) strategy.entry("Sell", strategy.short) // Risk Management: Take Profit & Stop Loss take_profit_perc = input.float(1.5, title="Take Profit %", step=0.1) // 1.5% target stop_loss_perc = input.float(0.5, title="Stop Loss %", step=0.1) // 0.5% stop strategy.exit("Take Profit/Stop Loss", "Buy", profit=take_profit_perc, loss=stop_loss_perc) strategy.exit("Take Profit/Stop Loss", "Sell", profit=take_profit_perc, loss=stop_loss_perc) // Add Visual Alerts plotshape(long_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(short_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)