
Chiến lược này là một chiến lược theo dõi xu hướng dựa trên trung bình di chuyển ba chỉ số ((EMA)). Chiến lược này nắm bắt xu hướng thị trường thông qua tín hiệu chéo của ba chỉ số di chuyển trung bình nhanh, trung bình và chậm và phán đoán xu hướng xu hướng, chỉ mở nhiều vị trí trong xu hướng tăng. Chiến lược này sử dụng kiểm soát lỗ hổng nghiêm ngặt và cơ chế xác minh lại để đạt được hiệu suất giao dịch vững chắc.
Chiến lược sử dụng moving average chỉ số trong ba chu kỳ khác nhau: EMA nhanh (tự động 3-20 chu kỳ), EMA trung bình (tự động 21-60 chu kỳ) và EMA chậm (tự động 130 chu kỳ). Các tín hiệu giao dịch dựa trên các điều kiện sau:
Chiến lược này là một hệ thống theo dõi xu hướng có cấu trúc toàn vẹn và logic nghiêm ngặt. Việc sử dụng nhiều chỉ số kỹ thuật kết hợp đảm bảo độ tin cậy của chiến lược và cung cấp đủ tính linh hoạt. Mặc dù có một số không gian tối ưu hóa, nhưng khung tổng thể có nền tảng thực hành tốt.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-28 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Estrategia de Largo con Medias Móviles", overlay=true)
// Parámetros ajustables de las medias móviles
fast_length = input.int(10, title="Período de Media Rápida", minval=3, maxval=20)
mid_length = input.int(30, title="Período de Media Intermedia", minval=21, maxval=60)
slow_length = input.int(130, title="Período de Media Lenta (EMA 130)", minval=130)
// Calcular las medias móviles
fast_ma = ta.ema(close, fast_length)
mid_ma = ta.ema(close, mid_length)
slow_ma = ta.ema(close, slow_length) // Media lenta exponencial de 130 periodos
// Calcular la pendiente manualmente (restando el valor actual de la media móvil del valor de 1 barra anterior)
slope_ma130 = slow_ma - slow_ma[1] // Pendiente de la media lenta
slope_mid_ma = mid_ma - mid_ma[1] // Pendiente de la media intermedia
// Condición para pendiente positiva de la media lenta
slow_ma_trending_up = slope_ma130 > 0
// Condición para pendiente positiva de la media intermedia
mid_ma_trending_up = slope_mid_ma > 0
// Condiciones para entrada en largo (Cruce de la media rápida sobre la media intermedia, solo si la media intermedia tiene pendiente positiva y la media lenta también tiene pendiente positiva)
long_condition = ta.crossover(fast_ma, mid_ma) and mid_ma_trending_up and slow_ma_trending_up
// Condiciones para entrada adicional (Cruce de la media rápida sobre la media lenta, solo si la media lenta tiene pendiente positiva)
additional_long_condition = ta.crossover(fast_ma, slow_ma) and slow_ma_trending_up
// Condiciones para cierre de la posición (Cruce de la media rápida por debajo de la media intermedia)
exit_condition = ta.crossunder(fast_ma, mid_ma)
// Abrir la posición si se cumplen las condiciones (incluyendo las pendientes de las medias)
if (long_condition or additional_long_condition)
strategy.entry("Comprar", strategy.long)
// Cerrar la posición si se cumplen las condiciones de salida
if (exit_condition)
strategy.close("Comprar")
// Mostrar las medias móviles en el gráfico
plot(fast_ma, color=color.green, linewidth=1, title="EMA Rápida")
plot(mid_ma, color=color.orange, linewidth=1, title="EMA Intermedia")
plot(slow_ma, color=color.red, linewidth=2, title="EMA Lenta (130 Periodos)")