- Cuadrado
- EMA23/EMA50 Estrategia de negociación cuantitativa de doble media móvil cruzada
EMA23/EMA50 Estrategia de negociación cuantitativa de doble media móvil cruzada
El autor:
¿ Qué pasa?, Fecha: 2024-04-26 15:29:21
Las etiquetas:
El EMAEl EMA23El EMA50
Resumen general
Esta estrategia se basa en las señales de cruce de EMA23 y EMA50 para la negociación. Cuando EMA23 cruza por encima de EMA50, genera una señal de compra, y cuando cruza por debajo, genera una señal de venta. La estrategia también implementa un stop-loss para posiciones largas cuando el precio cae por debajo de EMA50 y para posiciones cortas cuando el precio se eleva por encima de EMA50. Además, la estrategia vuelve a entrar en el mercado cuando el precio se mueve por encima de EMA50.
Principios de estrategia
- Calcule las dos medias móviles exponenciales: EMA23 y EMA50.
- Generar una señal de compra cuando la EMA23 cruza por encima de la EMA50 y una señal de venta cuando la EMA23 cruza por debajo de la EMA50.
- Para las posiciones largas, aplicar un stop-loss si el precio cae por debajo de la EMA50 y el precio de cierre es inferior a la EMA50 de la vela anterior.
- Para las posiciones cortas, aplicar un stop-loss si el precio se eleva por encima de la EMA50 y el precio de cierre es superior a la EMA50 de la vela anterior.
- Para las posiciones largas, vuelva a entrar en el mercado si el precio se mueve hacia atrás por encima de la EMA50, con el precio de cierre y el precio alto ambos por encima de la EMA50, y la EMA23 por encima de la EMA50.
- Para las posiciones cortas, vuelva a entrar en el mercado si el precio vuelve a bajar por debajo de la EMA50, siendo el precio de cierre y el precio bajo ambos inferiores a la EMA50, y la EMA23 inferior a la EMA50.
- Establecer el nivel de rentabilidad para las posiciones largas en 1,6 veces el precio de entrada y para las posiciones cortas en 0,75 veces el precio de entrada.
Ventajas estratégicas
- El doble cruce de la media móvil es un indicador simple y eficaz de seguimiento de tendencias que ayuda a captar las tendencias.
- El mecanismo de stop-loss ayuda a controlar el riesgo y evitar que las pérdidas se expandan.
- El mecanismo de reingreso permite a la estrategia capturar tendencias nuevamente, aumentando el potencial de ganancia.
- Los niveles de ganancias de toma ayudan a bloquear las ganancias de manera oportuna.
- El marco de tiempo de 30 minutos proporciona más oportunidades comerciales mientras que también filtra un poco de ruido.
Riesgos estratégicos
- El EMA, como indicador de tendencia, tiene un retraso y puede perder los puntos de entrada óptimos.
- La colocación de los niveles de stop-loss puede no estar optimizada, lo que conduce a stop-outs prematuros.
- El comercio frecuente puede aumentar los costes de transacción y afectar a la rentabilidad.
- La estrategia puede generar más señales falsas en un mercado variable.
- Los niveles fijos de rentabilidad pueden limitar el potencial de rentabilidad de la estrategia.
Direcciones para la optimización de la estrategia
- Considere la introducción de otros indicadores técnicos para ayudar a determinar la tendencia y mejorar los puntos de entrada y salida, como el MACD, el RSI, etc.
- Optimizar la colocación de los niveles de stop loss, considerando el uso de indicadores de volatilidad como ATR para ajustar dinámicamente las posiciones de stop loss.
- Controlar la frecuencia de las operaciones estableciendo condiciones adecuadas de filtración de las operaciones para reducir las señales falsas.
- Utilice diferentes configuraciones de parámetros de estrategia para los mercados de tendencias y tendencias.
- Hacer más flexibles los niveles de rentabilidad, por ejemplo, ajustándolos dinámicamente en función de la volatilidad del mercado, la relación riesgo-beneficio, etc.
Resumen de las actividades
Esta estrategia es una estrategia de negociación cuantitativa basada en el cruce de dos promedios móviles, EMA23 y EMA50. Captura las tendencias a través de las señales de cruce e implementa mecanismos de stop-loss y reingreso para controlar el riesgo y aumentar el potencial de ganancia. La estrategia es simple y fácil de entender, adecuada para el comercio a mediano y corto plazo en el marco de tiempo de 30 minutos. Sin embargo, la estrategia también tiene algunas limitaciones, como la identificación de tendencias rezagadas, la colocación de stop-loss subóptima y el bajo rendimiento en los mercados de rango. En el futuro, la estrategia puede optimizarse introduciendo más indicadores técnicos, optimizando las posiciones de stop-loss, controlando la frecuencia de negociación, diferenciando entre los mercados de tendencia y rango e implementando niveles dinámicos de take-profit para lograr rendimientos más robustos.
/*backtest
start: 2023-04-20 00:00:00
end: 2024-04-25 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Crossover Strategy", overlay=true)
// EMA 23 ve EMA 50'nin hesaplanması
ema23 = ta.ema(close, 23)
ema50 = ta.ema(close, 50)
// Ana alım kuralı: EMA 23 ve EMA 50'nin yukarı kesilmesi
buySignal = ta.crossover(ema23, ema50)
// Ana satış kuralı: EMA 23 ve EMA 50'nin aşağı kesilmesi
sellSignal = ta.crossunder(ema23, ema50)
// Long pozisyon stop seviyesi
longStopLoss = low < ema50 and close < ema50[1]
// Short pozisyon stop seviyesi
shortStopLoss = high > ema50 and close > ema50[1]
// Long pozisyon için tekrar giriş kuralı
longReEntry = high > ema50 and close > ema50 and close > ema50 and ema23 > ema50
// Short pozisyon için tekrar giriş kuralı
shortReEntry = low < ema50 and close < ema50 and close < ema50 and ema23 < ema50
// Long işlemde kar alma seviyesi (%60)
longTakeProfit = strategy.position_avg_price * 1.60
// Short işlemde kar alma seviyesi (%25)
shortTakeProfit = strategy.position_avg_price * 0.75
// Long işlem için yeniden giriş koşulu
longReEntryCondition = strategy.position_size <= 0 and longReEntry
// Short işlem için yeniden giriş koşulu
shortReEntryCondition = strategy.position_size >= 0 and shortReEntry
// Geriye dönük test için başlangıç tarihi (01.01.2022)
startDate = timestamp(2022, 01, 01, 00, 00)
if (time >= startDate)
if (buySignal)
strategy.entry("Buy", strategy.long)
if (sellSignal)
strategy.entry("Sell", strategy.short)
if (strategy.position_size > 0 and (longStopLoss or close >= longTakeProfit))
strategy.close("Buy")
if (strategy.position_size < 0 and (shortStopLoss or close <= shortTakeProfit))
strategy.close("Sell")
if (longReEntryCondition)
strategy.entry("Buy", strategy.long)
if (shortReEntryCondition)
strategy.entry("Sell", strategy.short)
Relacionados
Más.