Estrategia de seguimiento de tendencias MACD de media móvil doble de cruz dorada y cruz de la muerte


Fecha de creación: 2023-12-22 14:17:34 Última modificación: 2023-12-22 14:17:34
Copiar: 0 Número de Visitas: 717
1
Seguir
1623
Seguidores

Estrategia de seguimiento de tendencias MACD de media móvil doble de cruz dorada y cruz de la muerte

Descripción general

Esta estrategia permite determinar la tendencia de los precios mediante el cálculo de las medias móviles rápidas, las medias móviles lentas y el indicador MACD, la construcción de señales de negociación de forks y forks de oro, y la combinación de paradas y paradas de seguimiento de pérdidas para bloquear las ganancias y permitir el seguimiento continuo de la tendencia.

Principio de estrategia

La estrategia se basa en tres indicadores principales:

En primer lugar, se calcula el promedio de movimiento rápido y dos promedios de movimiento lento. Se genera una señal de compra cuando se cruzan dos promedios de movimiento lento por encima del promedio de movimiento rápido y una señal de venta cuando se cruzan dos promedios de movimiento lento por debajo del promedio de movimiento rápido.

En segundo lugar, se calculan los indicadores MACD, que incluyen líneas MACD, líneas de señal y gráficos rectangulares. Cuando el gráfico MACD es >0 es el indicador de múltiples cabezas; cuando el gráfico MACD es es el indicador de cabezas vacías. Esto ayuda a determinar la confiabilidad de la señal de la horquilla dorada.

Por último, en combinación con el Stop Loss Tracking Stop Loss Mechanism. El uso de Stop Loss y Stop Loss Points para bloquear ganancias y controlar el riesgo; el uso de Stop Loss Tracking para seguir ganancias.

Ventajas estratégicas

La estrategia tiene las siguientes ventajas:

  1. El indicador MACD, combinado con el indicador Gold Fork Dead Fork, es un indicador fiable para determinar las tendencias de los precios.
  2. La configuración de puntos de parada para evitar la expansión de las pérdidas;
  3. Seguimiento de los movimientos automáticos de stop loss, bloqueo continuo de las ganancias y maximización de los beneficios de las tendencias.
  4. La configuración de los parámetros es flexible, se puede personalizar el ciclo de la media móvil, etc.

Riesgo estratégico

La estrategia también tiene sus riesgos:

  1. El riesgo de que se desencadene un parón cuando los precios oscilan;
  2. La pérdida de seguimiento de la operación a largo plazo requiere una supervisión continua y ajustes oportunos;
  3. La configuración incorrecta de los parámetros puede causar transacciones frecuentes o faltas.

Resolvemos el riesgo:

  1. Establecer puntos de parada razonables para evitar pérdidas innecesarias;
  2. Verificación periódica y ajuste de los parámetros de optimización;
  3. Intervención humana y vigilancia del estado.

Dirección de optimización de la estrategia

La estrategia también puede ser optimizada en los siguientes aspectos:

  1. La introducción de más indicadores de valoración, como el RSI, hace que la señal sea más confiable.
  2. Optimizar los parámetros de las medias móviles para que se ajusten mejor a las características de las diferentes variedades;
  3. La introducción de algoritmos de seguimiento de la dinámica de stop-loss, que permiten que el stop-loss se ajuste a las variaciones del mercado;
  4. Aumentar los módulos de gestión de fondos, como el número de operaciones y el control de posiciones.

Resumir

La estrategia en su conjunto es una estrategia simple y eficaz para determinar la tendencia utilizando el indicador MACD y el indicador MACD para lograr el seguimiento de los puntos de parada. La ventaja es que se realiza el seguimiento de la tendencia y el bloqueo de ganancias, es altamente personalizable y se aplica a varias variedades. Es una estrategia de optimización de parámetros de tipo universal. Existe un cierto riesgo y espacio para optimización, pero en general es una estrategia de negociación práctica y confiable.

Código Fuente de la Estrategia
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 15m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy('The Puria Method', shorttitle = 'Puria',overlay = true)

//=== GENERAL INPUTS ===

// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 5, title = "Fast MA Period", minval = 1)

// long ma 1
maSlow1Source   = input(defval = low, title = "Slow MA1 Source")
maSlow1Length   = input(defval = 85, title = "Slow MA Period", minval = 1)

// long ma 2
maSlow2Source   = input(defval = low, title = "Slow MA2 Source")
maSlow2Length   = input(defval = 75, title = "Slow MA Period", minval = 1)

//macd
macdFastLength   = input(defval = 12, title = "Fast MACD Period", minval = 1)
macdSlowLength   = input(defval = 26, title = "Slow MACD Period", minval = 1)
macdSmaLength   = input(defval = 9, title = "SMA MACD Period", minval = 1)

// the risk management inputs
inpTakeProfit   = input(defval = 30, title = "Take Profit", minval = 0)
inpStopLoss     = input(defval = 10, title = "Stop Loss", minval = 0)
inpTrailStop    = input(defval = 5, title = "Trailing Stop Loss", minval = 0)
inpTrailOffset  = input(defval = 0, title = "Trailing Stop Loss Offset", minval = 0)

// if an input is less than 1, assuming not wanted so we assign 'na' value to disable it.
useTakeProfit   = inpTakeProfit  >= 1 ? inpTakeProfit  : na
useStopLoss     = inpStopLoss    >= 1 ? inpStopLoss    : na
useTrailStop    = inpTrailStop   >= 1 ? inpTrailStop   : na
useTrailOffset  = inpTrailOffset >= 1 ? inpTrailOffset : na

// === SERIES SETUP ===
maFast = ema(maFastSource, maFastLength)
maSlow1 = wma(maSlow1Source, maSlow1Length)
maSlow2 = wma(maSlow2Source, maSlow2Length)
[_, signal, histLine] = macd(close, macdFastLength, macdSlowLength, macdSmaLength)

// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = green, linewidth = 2, style = line, transp = 50)
slow1 = plot(maSlow1, title = "Slow MA1", color = red, linewidth = 2, style = line, transp = 50)
slow2 = plot(maSlow2, title = "Slow MA2", color = red, linewidth = 2, style = line, transp = 50)

// === LOGIC ===
signalUp = crossover(maFast, maSlow1) and crossover(maFast, maSlow2) and histLine > 0
signalDown = crossunder(maFast, maSlow1) and crossunder(maFast, maSlow2) and histLine < 0

// ===STRATEGY===
strategy.entry(id = "Long", long = true, when = signalUp) 
strategy.entry(id = "Short", long = false, when = signalDown)
strategy.exit("Exit Long", from_entry = "Long", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)
strategy.exit("Exit Short", from_entry = "Short", profit = useTakeProfit, loss = useStopLoss, trail_points = useTrailStop, trail_offset = useTrailOffset)