
La stratégie est un système de négociation basé sur les moyennes mobiles à 5 jours de l’indice (EMA) qui permet de négocier principalement en identifiant les formes d’écart entre les prix et la moyenne et en combinant les signaux de rupture. La stratégie utilise un mécanisme d’exécution instantanée, sans avoir à attendre la confirmation de la clôture de la ligne K, ce qui améliore la rapidité des transactions. Le système intègre également un mécanisme de gestion dynamique de stop-loss avec un taux de rentabilité de 3 fois le risque.
La logique centrale de la stratégie repose sur les éléments clés suivants:
Il s’agit d’une stratégie de négociation intégrée qui combine courte moyenne, déviation de forme et signaux de rupture. L’efficacité de la stratégie est améliorée grâce à un mécanisme d’exécution instantanée, tout en utilisant une méthode de gestion des risques dynamique pour contrôler les risques. Bien que certains risques potentiels existent, la stratégie a une meilleure valeur pratique grâce à des mesures d’optimisation et de gestion des risques appropriées.
/*backtest
start: 2024-02-20 00:00:00
end: 2025-01-05 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"DOGE_USDT"}]
*/
//@version=5
strategy("5 EMA (Instant Execution)", overlay=true, margin_long=100, margin_short=100)
// Input parameters
ema_length = input.int(5)
target_multiplier = input.float(3.0)
// Calculate 5 EMA
ema_5 = ta.ema(close, ema_length)
// Detect divergence candles
divergence_buy = (high < ema_5) and (low < ema_5) // Below 5 EMA for buy
divergence_sell = (high > ema_5) and (low > ema_5) // Above 5 EMA for sell
// Store trigger levels dynamically
var float trigger_high = na
var float trigger_low = na
// Set trigger levels when divergence occurs
if divergence_buy
trigger_high := high
if divergence_sell
trigger_low := low
// Check real-time price break (no candle close waiting)
buy_signal = not na(trigger_high) and high >= trigger_high
sell_signal = not na(trigger_low) and low <= trigger_low
// Execute trades instantly
if buy_signal
strategy.entry("Long", strategy.long)
candle_size = trigger_high - low
strategy.exit("Long Exit", "Long", limit=trigger_high + (candle_size * target_multiplier), stop=low)
trigger_high := na // Reset trigger
if sell_signal
strategy.entry("Short", strategy.short)
candle_size = high - trigger_low
strategy.exit("Short Exit", "Short", limit=trigger_low - (candle_size * target_multiplier), stop=high)
trigger_low := na // Reset trigger
// Plot signals
plotshape(buy_signal, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(sell_signal, style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// Plot 5 EMA
plot(ema_5, color=color.blue, linewidth=2)
// Alert conditions
alertcondition(buy_signal, message="BUY triggered - High of divergence candle broken instantly")
alertcondition(sell_signal, message="SELL triggered - Low of divergence candle broken instantly")