
La estrategia es un sistema de seguimiento de tendencias basado en análisis técnico, que utiliza principalmente señales cruzadas de un índice de movimiento medio de 50 períodos (EMA) y un movimiento medio simple de 200 períodos (MA) para capturar la tendencia del mercado. La estrategia integra un mecanismo de stop loss dinámico para controlar el riesgo y bloquear los beneficios a través de un stop loss y un punto de parada predeterminados. Esta combinación permite que la estrategia capte las tendencias generales y detenga los pérdidas a tiempo cuando la situación se invierte.
La lógica central de la estrategia se basa en un juicio cruzado de dos líneas medias: cuando la EMA de 50 períodos sube por encima de la MA de 200 períodos, el sistema genera una señal de acoplamiento; cuando la EMA de 50 períodos baja por encima de la MA de 200 períodos, el sistema genera una señal de acoplamiento. Cada vez que se abre una posición, el sistema establece automáticamente un punto de parada para entrar (tres puntos por encima del precio de entrada) y un punto de parada (siete y medio puntos por debajo del precio de entrada). Además, cuando se produce una señal de reversión, el sistema automáticamente despeja la posición actual para evitar que la dirección de la posición contradiga la tendencia del mercado.
La estrategia combina el clásico sistema de cruce de dos líneas uniformes y el mecanismo de parada y pérdida dinámico para construir un sistema de comercio de seguimiento de tendencias completo. La estrategia tiene la ventaja de un alto grado de sistematización y un control de riesgo perfecto, pero en la aplicación real aún se necesita un ajuste optimizado según el entorno específico del mercado y la escala de los fondos.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-24 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("200 MA & 50 EMA Crossover Strategy with **Estimated** SL & TP", overlay=true)
// Parameters for the 200 MA and 50 EMA
ma200 = ta.sma(close, 200) // 200-period simple moving average
ema50 = ta.ema(close, 50) // 50-period exponential moving average
// Plot the MA and EMA on the chart
plot(ma200, color=color.blue, linewidth=2, title="200 MA")
plot(ema50, color=color.red, linewidth=2, title="50 EMA")
// Define **estimated** stop loss and take profit values
// SL = 3 points, TP = 7.5 points from the entry price
sl_points = 3
tp_points = 7.5
// Buy signal: when the 50 EMA crosses above the 200 MA (bullish crossover)
if (ta.crossover(ema50, ma200))
strategy.entry("Buy", strategy.long)
// Set **estimated** stop loss and take profit strategy.exit("Take Profit/Stop Loss", "Buy", stop=strategy.position_avg_price - sl_points, limit=strategy.position_avg_price + tp_points)
// Sell signal: when the 50 EMA crosses below the 200 MA (bearish crossover)
if (ta.crossunder(ema50, ma200))
strategy.entry("Sell", strategy.short)
// Set **estimated** stop loss and take profit strategy.exit("Take Profit/Stop Loss", "Sell", stop=strategy.position_avg_price + sl_points, limit=strategy.position_avg_price - tp_points)
// Optional: Close the position when an opposite signal appears
if (strategy.position_size > 0 and ta.crossunder(ema50, ma200))
strategy.close("Buy")
if (strategy.position_size < 0 and ta.crossover(ema50, ma200))
strategy.close("Sell")