Cette stratégie est un système de négociation automatisé basé sur plusieurs moyennes mobiles exponentielles (MAE), établissant des signaux de négociation grâce à une analyse hiérarchique des EMA à 5 périodes, 20 périodes et 50 périodes.
La stratégie base les décisions de négociation sur des croisements de plusieurs périodes de l'EMA et des relations de position.
Il s'agit d'un système de négociation de moyennes mobiles multiples rigoureusement conçu qui contrôle efficacement le risque grâce à un filtrage hiérarchique et un stop-loss dynamique. Bien qu'il puisse manquer certains mouvements rapides du marché, il fonctionne de manière constante sur les marchés en tendance. Il est recommandé d'ajuster les paramètres en fonction des différentes caractéristiques du marché et d'envisager d'ajouter du volume et d'autres indicateurs auxiliaires pour améliorer la fiabilité. Cette stratégie convient aux investisseurs qui recherchent des rendements stables dans les investissements à moyen et long terme.
/*backtest start: 2019-12-23 08:00:00 end: 2024-12-03 00:00:00 period: 1d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Automated EMA Strategy with Hierarchical Conditions", overlay=true) // Inputs for EMA lengths length_5 = 5 length_20 = 20 length_50 = 50 // Calculating EMAs ema_5 = ta.ema(close, length_5) ema_20_high = ta.ema(high, length_20) ema_20_low = ta.ema(low, length_20) ema_20_close = ta.ema(close, length_20) ema_50 = ta.ema(close, length_50) // Buy condition: 50 EMA < 20 EMA (Close) < 20 EMA (High) < 20 EMA (Low) < 5 EMA // and LTP above all EMAs buy_condition = ema_50 < ema_20_low and ema_20_low < ema_20_close and ema_20_close < ema_20_high and ema_20_high < ema_5 and close > ema_5 and close > ema_20_close and close > ema_20_high and close > ema_20_low and close > ema_50 // Stop-loss and target levels stop_loss = ema_20_low // Target condition: Close below 5 EMA target_condition = close < ema_5 // Check if there's an open position is_in_position = strategy.position_size > 0 // Execute Buy Signal only if no position is open if (buy_condition and not is_in_position) strategy.entry("Buy", strategy.long) // Exit conditions: Stop-loss or target (close below 5 EMA) if (is_in_position and (target_condition or close < stop_loss)) strategy.close("Buy") // Plotting the EMAs plot(ema_5, color=color.blue, title="5 EMA") plot(ema_20_high, color=color.green, title="20 EMA (High)") plot(ema_20_low, color=color.red, title="20 EMA (Low)") plot(ema_20_close, color=color.purple, title="20 EMA (Close)") plot(ema_50, color=color.orange, title="50 EMA")