Estrategia de trading con cruces dorados y cruces muertos con media móvil


Fecha de creación: 2024-02-22 16:25:13 Última modificación: 2024-02-22 16:25:13
Copiar: 0 Número de Visitas: 364
1
Seguir
1182
Seguidores

Estrategia de trading con cruces dorados y cruces muertos con media móvil

Descripción general

La estrategia de negociación de divisas de movimiento por media es una estrategia de negociación cuantitativa que sigue el cruce de las medias móviles (EMA) a corto y largo plazo y realiza operaciones de compra y venta en divisas y divisas. La estrategia se combina con el indicador MACD para juzgar la señal de negociación.

Principio de estrategia

La estrategia se basa principalmente en los indicadores 12 días EMA, 26 días EMA y MACD. La lógica es:

  1. Se calcula el EMA del día 12 y el EMA del día 26.
  2. Calcula el MACD (es decir, la EMA de 12 días menos la EMA de 26 días).
  3. Calcule el EMA de 9 días de MACD como línea de señal.
  4. Cuando el MACD atraviesa la línea de señal, genera una señal de compra.
  5. Cuando el MACD pasa por debajo de la línea de señal, genera una señal de venta.
  6. Cuando el segundo cable K que genera la señal se cierra, se realiza la operación de compra o venta correspondiente.

Además, la estrategia también establece algunas condiciones de filtrado:

  1. El horario de negociación es el horario no comercial de cada día.
  2. El valor absoluto de la diferencia entre el MACD y la línea de señal debe ser mayor que 0.08.
  3. Solo se permite la posesión unidireccional de una sola vez.

Análisis de las ventajas

Esta estrategia, combinada con las medias móviles cruzadas y el indicador MACD, permite capturar con eficacia los puntos de inflexión en las tendencias de corto y mediano plazo del mercado. Las principales ventajas son:

  1. Las reglas de la estrategia son simples, claras, fáciles de entender y de implementar.
  2. Los parámetros del indicador se han optimizado y el rendimiento es más estable.
  3. La combinación de un seguimiento de tendencias a corto plazo con una salida de pérdidas a tiempo.
  4. La lógica de las transacciones es rigurosa y evita transacciones no válidas.

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. La detección de los datos de la adecuación de riesgo. En la aplicación real, los parámetros y los valores límite pueden necesitar ajustes.
  2. El riesgo de que los costos de los puntos de deslizamiento sean demasiado altos debido a las operaciones frecuentes.
  3. El riesgo de pérdidas por no salir a tiempo de la reversión.
  4. El propio riesgo de apalancamiento de las transacciones cuantitativas aumenta.

El método de mitigación correspondiente:

  1. Parámetros de optimización dinámica, ajuste de las bajas.
  2. La liberalización de las reglas de transacción y la reducción de las transacciones innecesarias.
  3. El cambio de rumbo se debe a una combinación de más indicadores.
  4. Control riguroso de la posición y el apalancamiento.

Dirección de optimización

La estrategia se puede optimizar principalmente en los siguientes aspectos:

  1. Prueba combinaciones de promedios móviles de períodos más largos para encontrar el parámetro óptimo.
  2. Factores básicos como el aumento de la rentabilidad de la empresa, eventos importantes como filtros.
  3. El tiempo de reversión de la tendencia se determina mediante la combinación de más indicadores, como la banda de Brin, KDJ, etc.
  4. Desarrollar un mecanismo de parada de pérdidas. Cuando las pérdidas alcanzan un punto de parada de pérdidas preestablecido.
  5. Añadir ratio de peligro para controlar la máxima retirada.

Resumir

La combinación de la estrategia de negociación MACD con un simple seguimiento de la tendencia para formar una señal de negociación es una estrategia de negociación cuantitativa eficaz, fácil de implementar y combinada con el control del riesgo de las condiciones de filtración adecuadas. La estrategia se puede mejorar mediante la optimización de los parámetros, el aumento del mecanismo de parada y la combinación de más indicadores auxiliares.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMMA", max_bars_back = 200)

var up1 = #26A69A
var up2 = #B2DFDB
var down1 = #FF5252
var down2 = #FFCDD2
var confirmationLength = 2

var earliest = timestamp("20 Jan 2024 00:00 +0000")

// Regn u
shortEMA = ta.ema(close, 12)
longEMA = ta.ema(close, 26)
macd = shortEMA - longEMA
signal = ta.ema(macd, 9)
delta = macd - signal
absDelta = math.abs(delta)
previousDelta = delta[1]

signalCrossover = ta.crossover(macd, signal)
signalCrossunder = ta.crossunder(macd, signal)

harskiftetdag = hour(time[confirmationLength]) > hour(time)

enterLongSignal = signalCrossover[confirmationLength] and (macd > signal) and (absDelta >= 0.08)
exitLongSignal = signalCrossunder[confirmationLength] and (macd < signal)

enterShortSignal = signalCrossunder[confirmationLength] and (macd < signal) and (absDelta >= 0.08)
exitShortSignal = signalCrossover[confirmationLength] and (macd > signal)

// Så er det tid til at købe noe
qty = math.floor(strategy.equity / close)

if time >= earliest and not harskiftetdag
    if exitLongSignal 
        strategy.close("long")
    else if enterLongSignal
        strategy.close("short")
        strategy.entry("long", strategy.long, qty = qty)

    if exitShortSignal
        strategy.close("short")
    else if enterShortSignal
        strategy.close("long")
        strategy.entry("short", strategy.short, qty = qty)

// Så er det tid til at vise noe

plot(macd, color=color.blue)
plot(signal, color=color.orange)

// bgcolor(color = delta > 0.1 ? color.new(color.green, 90) : color.new(color.green, 100))
// bgcolor(color = signalCrossover ? color.purple : signalCrossunder ? color.aqua : color.new(color.green, 100))

histogramColor = delta > 0 ? (previousDelta < delta ? up1 : up2) : (previousDelta > delta ? down1 : down2)

plot(
     delta,
     style=plot.style_columns,
     color=histogramColor
     )