Estrategia de negociación de la media móvil de la Cruz Dorada y la Cruz Muerte

El autor:¿ Qué pasa?, fecha: 2023-10-30 14:42:09
Las etiquetas:

img

Resumen: Esta estrategia implementa el comercio de cruz de oro y cruz de muerte basado en tres promedios móviles con períodos diferentes.

Estrategia lógica:

  1. Definir tres MAs: MAs a corto plazo, MAs a largo plazo y MAs de tendencia. Los períodos son 20, 200 y 50, respectivamente.

  2. Una señal de compra se genera cuando el MA del período corto se cruza por encima del MA del período largo. Una señal de venta se genera cuando el MA del período corto se cruza por debajo del MA del período largo.

  3. Compruebe si tanto los MA cortos como los largos están por encima del MA de tendencia.

  4. Establezca el stop loss y tome ganancias como porcentaje del precio de entrada. Optimice parámetros basados en backtesting.

  5. Trace los puntos de cruce de MA para visualizar las señales de entrada.

Ventajas:

  1. Lógica estratégica simple e intuitiva, fácil de entender e implementar.

  2. Puede capturar eficazmente las tendencias a medio plazo y comerciar con el impulso.

  3. El filtrado con tendencia MA evita el comercio contra la tendencia.

  4. Los períodos de autorización pueden ajustarse a las diferentes condiciones del mercado.

  5. Stop loss y take profit personalizables para controlar los riesgos.

Riesgos:

  1. Los movimientos volátiles agudos pueden desencadenar el stop loss.

  2. Las pérdidas son mayores cuando la tendencia se invierte.

  3. El ajuste inadecuado de los parámetros puede conducir a un exceso de negociación o a oportunidades perdidas.

  4. Es necesario tener en cuenta los costes de transacción.

Mejoras:

  1. Añadir un filtro de volatilidad como ATR para evitar señales falsas.

  2. Utilice el aprendizaje automático para optimizar dinámicamente los parámetros.

  3. Agregue más indicadores como el MACD para determinar la tendencia.

  4. Implementar un stop loss para obtener ganancias.

  5. Prueba para encontrar los niveles óptimos de stop loss y take profit.

Conclusión:

La estrategia captura las tendencias de manera efectiva con lógica clara y fácil ejecución. Controlar los riesgos con filtro de tendencia, stop loss y take profit. El ajuste de parámetros requiere optimización para las condiciones del mercado. Más indicadores pueden mejorar el rendimiento. Adecuado para el comercio de tendencias a medio plazo.


/*backtest
start: 2022-10-23 00:00:00
end: 2023-10-29 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("XAU M15", overlay=true)

// Define input parameters
long_length = input.int(64, title="Long MA Length")
short_length = input.int(1, title="Short MA Length")
trend_length = input.int(200, title="Trend MA Length")

// Calculate moving averages
long_ma = ta.sma(close, long_length)
short_ma = ta.sma(close, short_length)
trend_ma = ta.sma(close, trend_length)

// Plot moving averages on chart
plot(long_ma, color=color.blue, title="Long MA")
plot(short_ma, color=color.red, title="Short MA")
plot(trend_ma, color=color.green, title="Trend MA")

// Entry conditions
enterLong = ta.crossover(long_ma, short_ma) and long_ma > trend_ma and short_ma > trend_ma
enterShort = ta.crossunder(long_ma, short_ma) and long_ma < trend_ma and short_ma < trend_ma

if (enterLong)
    strategy.entry("Long", strategy.long)

if (enterShort)
    strategy.entry("Short", strategy.short)

// Exit conditions
exitLong = ta.crossunder(long_ma, short_ma)
exitShort = ta.crossover(long_ma, short_ma)

if (exitLong)
    strategy.close("Long")

if (exitShort)
    strategy.close("Short")

// Set stop loss and take profit levels
long_stop_loss_percentage = input(1, title="Long Stop Loss (%)") / 100
long_take_profit_percentage = input(3, title="Long Take Profit (%)") / 100

short_stop_loss_percentage = input(1, title="Short Stop Loss (%)") / 100
short_take_profit_percentage = input(3, title="Short Take Profit (%)") / 100

strategy.exit("Take Profit/Stop Loss", "Long", stop=close * (1 - long_stop_loss_percentage), limit=close * (1 + long_take_profit_percentage))
strategy.exit("Take Profit/Stop Loss", "Short", stop=close * (1 + short_stop_loss_percentage), limit=close * (1 - short_take_profit_percentage))

plotshape(series=enterLong, title="Buy Entry", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.tiny)
plotshape(series=enterShort, title="Sell Entry", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.tiny)


Más.