Estrategia comercial basada en el cruce dorado y el cruce muerto continuos del MACD

MACD EMA
Fecha de creación: 2024-04-30 17:26:19 Última modificación: 2024-04-30 17:26:19
Copiar: 1 Número de Visitas: 756
1
Seguir
1617
Seguidores

Estrategia comercial basada en el cruce dorado y el cruce muerto continuos del MACD

Descripción general

La estrategia opera sobre la base de las señales de forks y dead forks consecutivas del indicador MACD. Cuando se producen señales de forks consecutivas, se abren posiciones de varios titulares; cuando se producen señales de dead forks consecutivas, se abren posiciones de titulares. La estrategia también permite al usuario establecer paradas y puntos de parada para controlar el riesgo.

Principio de estrategia

La clave de esta estrategia es el uso de señales de forquillas y hojas muertas del indicador MACD para determinar los puntos de inflexión de la tendencia del mercado. El indicador MACD está formado por un promedio móvil rápido (EMA) y un promedio móvil lento (EMA), que se forman en una señal de forquillas o hojas muertas cuando el EMA rápido se cruza con el EMA lento. Una señal de forquillas consecutiva indica que el mercado podría entrar en una tendencia alcista, abriendo posiciones de más cabeza; Una señal de hojas muertas consecutiva indica que el mercado podría entrar en una tendencia bajista, abriendo posiciones de cabeza vacía.

Ventajas estratégicas

  1. Sencillo y fácil de entender: La estrategia se basa en indicadores MACD de uso generalizado, cuyo principio es simple, fácil de entender e implementar.
  2. Seguimiento de tendencias: La estrategia puede seguir las principales tendencias del mercado al capturar señales de forks dorados y muertos en serie, lo que ayuda a obtener ganancias en las tendencias.
  3. Control de riesgos: Las estrategias permiten al usuario establecer paradas y puntos de parada para ayudar a controlar los riesgos y pérdidas potenciales.
  4. Retroalimentación flexible: las estrategias ofrecen opciones de rango de tiempo de retroalimentación, y los usuarios pueden evaluar el rendimiento de las estrategias en diferentes períodos de tiempo según sea necesario.

Riesgo estratégico

  1. Sensibilidad a los parámetros: el rendimiento del indicador MACD depende de la elección del ciclo de los EMA rápidos y los EMA lentos, y diferentes configuraciones de parámetros pueden dar lugar a diferentes señales de negociación.
  2. Ruido de mercado: en condiciones de mercado oscilantes o poco claras, el indicador MACD puede generar una mayor cantidad de falsas señales, lo que lleva a un comercio frecuente y a una posible pérdida.
  3. Retraso de la tendencia: el MACD es un indicador de retraso, y las señales de negociación pueden aparecer después de que la tendencia se haya establecido, perdiendo el mejor momento de entrada.
  4. Riesgo de pérdidas: si el mercado fluctúa fuertemente, el precio puede romper rápidamente el punto de pérdidas, lo que provoca una pérdida mayor de lo esperado.

Dirección de optimización de la estrategia

  1. Combinación con otros indicadores: Considere combinar el indicador MACD con otros indicadores técnicos (como el RSI, las bandas de Brin, etc.) para mejorar la fiabilidad de la señal y filtrar las falsas señales.
  2. Parámetros de optimización: para encontrar la combinación de parámetros más adecuada para un mercado y un activo en particular, mediante la retroalimentación y optimización de diferentes ciclos de EMA rápido y lento.
  3. Paradas y pérdidas dinámicas: ajuste dinámico de paradas y paradas en función de la volatilidad del mercado o el nivel de precios para adaptarse mejor a los cambios en el mercado y controlar el riesgo.
  4. Introducción de la gestión de posiciones: ajustar el tamaño de las posiciones de cada operación en función de la intensidad de la señal o el entorno del mercado para optimizar la relación de riesgo-rentabilidad.

Resumir

La estrategia se basa en una serie de señales continuas de MACD Gold Forks y Dead Forks para negociar, tratando de capturar los puntos de inflexión de las tendencias del mercado. Es simple y fácil de entender, puede seguir las principales tendencias y ofrece funciones de control de riesgo y retroalimentación flexible. Sin embargo, el rendimiento de la estrategia puede verse afectado por factores como la selección de parámetros, el ruido del mercado y el retraso de las tendencias.

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

//@version=5
strategy("连续MACD交叉和回测范围")
//策略初始化時間設置
useDateFilter = input.bool(true, title="启用时间回测范围", group="回测范围")
backtestStartDate = input(timestamp("1 Jan 2023"), title="开始时间", group="回测范围")
backtestEndDate = input(timestamp("1 Jan 2024"), title="结束时间", group="回测范围")
inTradeWindow = true

// 定义MACD指标参数
fastLength = input.int(12, "快速EMA周期")
slowLength = input.int(26, "慢速EMA周期")
signalSmoothing = input.int(9, "信号线平滑周期")
long_win = input.float(defval = 0.01,title = "多单止盈设置", tooltip = "0.01代表1%" )
long_lose= input.float(0.01,"多单止损设置")
short_win = input.float(0.01,"空单止盈设置")
short_lose = input.float(0.01,"空单止损设置")

// 计算MACD值
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)

// 定义金叉和死叉的条件
crossUp = ta.crossover(macdLine, signalLine)
crossDown = ta.crossunder(macdLine, signalLine)

// 使用历史状态记录上一次交叉情况
var lastCrossUp = false
var lastCrossDown = false

// 更新历史状态
if crossUp
    lastCrossUp := true
else if crossDown
    lastCrossUp := false

if crossDown
    lastCrossDown := true
else if crossUp
    lastCrossDown := false

// 交易执行逻辑:检查是否存在连续的金叉或死叉
if lastCrossUp and crossUp and inTradeWindow
    strategy.entry("买入开多", strategy.long)
    strategy.exit("买入止盈止损", "买入开多", limit=close * (1 + long_win), stop=close * (1 - long_lose))

if lastCrossDown and crossDown and inTradeWindow
    strategy.entry("卖出开空", strategy.short)
    strategy.exit("卖出止盈止损", "卖出开空", limit=close * (1 - short_win), stop=close * (1 + short_lose))

// 显示MACD线和信号线
plot(macdLine, "MACD线", color=color.blue)
plot(signalLine, "信号线", color=color.orange)