
La estrategia es un sistema de negociación basado en el Moving Average de 5 días (EMA), que se realiza principalmente mediante la identificación de formas de desviación entre el precio y la línea media y la combinación de señales de ruptura. La estrategia utiliza un mecanismo de ejecución inmediata, sin tener que esperar a la confirmación del cierre de la línea K, lo que mejora la puntualidad de la negociación. El sistema también integra un mecanismo de gestión de stop-loss dinámico con un riesgo de ganancias de 3 veces el riesgo.
La lógica central de la estrategia se basa en los siguientes elementos clave:
Se trata de una estrategia de negociación integral que combina la línea de medias a corto plazo, la desviación de la forma y las señales de ruptura. A través de un mecanismo de ejecución inmediata, se mejora la efectividad de la estrategia, mientras que se utiliza un método de gestión de riesgos dinámico para controlar el riesgo. Aunque existen algunos riesgos potenciales, la estrategia tiene un buen valor práctico con las medidas de optimización y gestión de riesgos adecuadas. Se recomienda a los operadores que realicen una prueba de retroalimentación adecuada antes de su uso en el mercado real y ajusten los parámetros adecuados en función de las condiciones específicas del mercado.
/*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")