
La estrategia de reversión de precios de confirmación múltiple es un sistema de negociación cuantitativa que combina el análisis de la configuración de la galería y el indicador de la dinámica. La estrategia se basa principalmente en la identificación de la configuración de engulfing en el mercado y la combinación de la confirmación cruzada de la MACD para capturar un posible punto de reversión del mercado. La idea central de la estrategia es mejorar la fiabilidad de las señales de negociación mediante la confirmación de múltiples indicadores técnicos, evitando así el riesgo de falsos saltos.
El principio de trabajo de la estrategia gira en torno a dos elementos centrales del análisis técnico: el patrón de absorción y el cruce de indicadores MACD.
La identificación de las formas de absorción:
Confirmación cruzada del MACD:
Lógica de la ventana de tiempo:
barsSinceBullybarsSinceBearLa variable para rastrear el número de columnas desde la última forma de sumersión.windowBarsLas señales de transacción se activan dentro de las columnas (de 3 por defecto).Condiciones de ingreso:
longCondition): Durante la ventana posterior a la aparición de la forma de absorción de la cucaracha, la línea MACD atravesó la línea de señal.shortCondition): Durante el período de ventana después de la aparición de la forma de absorción de la caída, el MACD atravesó la línea de señal en la línea inferior.Ejecución de la operación:
Mecanismo de confirmación múltiple: La combinación de la forma de la barra y el indicador técnico reduce la posibilidad de falsas señales y mejora la precisión de la operación. La forma de absorción es una representación directa del comportamiento del precio, mientras que el MACD es un representante del indicador de la dinámica, la combinación de los dos puede confirmar la señal de reversión del mercado desde diferentes puntos de vista.
Flexibilidad de la ventana de tiempo: política que permite al usuario personalizar el número máximo de columnas en las que debe ocurrir un cruce MACD después de la forma de absorciónwindowBarsEsta flexibilidad permite a las estrategias adaptarse a las características de los diferentes mercados y marcos de tiempo.
La respuesta visual es clara.: La estrategia marca una variedad de señales en el gráfico ((la forma de absorción de los alza/descenso, los cruces MACD y los puntos de entrada reales), lo que ayuda a los comerciantes a comprender y evaluar el rendimiento de la estrategia de forma intuitiva.
Administración automática de posicionesLa estrategia de automatización de la liquidación de posiciones invertidas simplifica el proceso de administración de operaciones y reduce la posibilidad de errores humanos.
Ajustabilidad de parámetrosLos parámetros MACD ((línea rápida, línea lenta y ciclo de línea de señal) se pueden optimizar según las diferentes condiciones del mercado, lo que aumenta la adaptabilidad de la estrategia.
Riesgo de retrasoEl MACD, como un indicador de retraso, puede no reaccionar a tiempo en un mercado que cambia rápidamente, lo que hace que el punto de entrada no sea ideal. Además, esperar que se cumplan dos condiciones al mismo tiempo puede retrasar aún más el punto de entrada y potencialmente perder parte de los cambios de precio.
El mercado horizontal no está funcionando bienEn un mercado horizontal sin una clara tendencia, el engullir y el cruzar MACD puede generar una gran cantidad de falsas señales, lo que lleva a un comercio frecuente y a una potencial pérdida.
La falta de un mecanismo de detención de pérdidasLa estrategia actual no tiene un mecanismo de stop loss claro, lo que podría dar lugar a un mayor riesgo de caída en el caso de una reversión del mercado.
La excesiva dependencia de un modelo específicoLa estrategia depende en gran medida de la combinación de las formas de absorción y los cruces MACD, con la ignorancia de otros indicadores técnicos y de información de mercado que pueden ser importantes.
Sensibilidad de los parámetros: La actuación de la política puede ser muy sensible a los parámetros MACD y a la configuración del tamaño de la ventana, y la elección incorrecta de los parámetros puede conducir a una optimización excesiva y a un mal rendimiento en el futuro.
Añadir filtro de tendenciasSe puede asegurar que la dirección de la operación coincida con la tendencia principal mediante la adición de indicadores de tendencia como SMA50 (comentado en el código) u otros, como por ejemplo, hacer más solo cuando el precio está por encima de SMA50 y hacer menos cuando está por debajo de SMA50. Esto puede reducir significativamente el riesgo de negociación en contra.
Mecanismos para detener pérdidas y obtener ganancias: Agregar un stop loss y un profit target a la estrategia, como un stop loss basado en el ATR o un profit target en una posición de soporte/resistencia, para administrar mejor el riesgo y bloquear los beneficios.
Selección de parámetros de optimización: Optimización de la retroalimentación de los parámetros MACD y el tamaño de la ventana para encontrar la combinación de parámetros óptima para un mercado y un marco de tiempo específicos. Considere el uso de un método de parámetros adaptativos para ajustar automáticamente los parámetros según la volatilidad del mercado.
Añadir una confirmación de volumenIncorporar el análisis de volumen de transacciones en la estrategia para asegurar que las señales de reversión estén respaldadas por un volumen de transacciones suficiente, lo que mejora la fiabilidad de la señal.
Integración de otros indicadoresConsidere la adición de otros indicadores técnicos como el RSI, el índice aleatorio o las bandas de Brin, para crear condiciones de negociación más completas y reducir aún más las señales falsas.
El filtro del tiempoImplementar filtros de tiempo de negociación para evitar realizar operaciones en períodos en los que se publican datos económicos importantes o cuando el mercado es especialmente volátil.
Optimizar el tiempo de ingreso: Investigar si se puede mejorar el precio de entrada y reducir los posibles puntos de deslizamiento mediante la modificación de las condiciones de entrada (como esperar la retirada o la confirmación del precio).
La estrategia de reversión de precios de confirmación múltiple es un sistema de negociación cuantitativa que combina el patrón de absorción y el cruce MACD, diseñado para capturar reveses en el mercado mediante la confirmación de múltiples indicadores técnicos. La principal ventaja de la estrategia reside en su mecanismo de confirmación múltiple y su clara retroalimentación visual, que ayuda a reducir las falsas señales y mejorar la precisión de la negociación. Sin embargo, la estrategia también presenta algunos riesgos inherentes, como la retraso, el mal desempeño en los mercados de venta por adelantado y la falta de un mecanismo de gestión de riesgos claro.
Para aumentar la solidez y la rentabilidad de las estrategias, se recomienda implementar varias optimizaciones clave: agregar filtros de tendencia para asegurar que la dirección de las operaciones esté en consonancia con las tendencias principales; implementar mecanismos de detención y ganancia adecuados para administrar el riesgo; optimizar los parámetros MACD y el tamaño de la ventana para adaptarse a condiciones de mercado específicas; y considerar la integración de otros indicadores técnicos para crear condiciones de negociación más completas.
Este método de confirmación en múltiples niveles representa una estrategia de negociación equilibrada que trata de capturar las oportunidades de reversión potenciales y reduce el riesgo al requerir múltiples confirmaciones. Esto ofrece un punto de partida sólido para los operadores cuantitativos que buscan construir un sistema de negociación sólido basado en el análisis técnico.
/*backtest
start: 2024-06-09 00:00:00
end: 2025-06-08 00:00:00
period: 2d
basePeriod: 2d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Darren - Engulfing + MACD Cross", overlay=true)
// 1. Inputs
// smaLength = input.int(50, "SMA Length")
macdFast = input.int(12, "MACD Fast Length")
macdSlow = input.int(26, "MACD Slow Length")
macdSignal = input.int(9, "MACD Signal Length")
windowBars = input.int(3, "Max Bars Between Engulfing and MACD Cross")
// 2. Indicators
// sma50 = ta.sma(close, smaLength)
// plot(sma50, color=color.blue, title="SMA 50")
[macdLine, signalLine, _] = ta.macd(close, macdFast, macdSlow, macdSignal)
macdHist = macdLine - signalLine
plot(macdHist, title="MACD Histogram", style=plot.style_columns, color=(macdHist >= 0 ? color.green : color.red))
// 3. Detect Engulfing Patterns
bullEngulfing = (close[1] < open[1]) and (close > open) and (open < close[1]) and (close > open[1])
bearEngulfing = (close[1] > open[1]) and (close < open) and (open > close[1]) and (close < open[1])
// 4. MACD Crosses
macdCrossUp = ta.crossover(macdLine, signalLine)
macdCrossDown = ta.crossunder(macdLine, signalLine)
// 5. Bars Since Last Engulfing
barsSinceBull = ta.barssince(bullEngulfing)
barsSinceBear = ta.barssince(bearEngulfing)
// 6. Entry Conditions
longCondition = (barsSinceBull <= windowBars) and macdCrossUp //and (close > sma50)
shortCondition = (barsSinceBear <= windowBars) and macdCrossDown //and (close < sma50)
// 7. Plot Engulfing & MACD Crossover Markers
// Bullish engulfing on price chart
plotshape(bullEngulfing, title="Bull Engulf", style=shape.labelup, text="Bull", location=location.belowbar, color=color.green, size=size.small)
// Bearish engulfing on price chart
plotshape(bearEngulfing, title="Bear Engulf", style=shape.labeldown, text="Bear", location=location.abovebar, color=color.red, size=size.small)
// MACD cross‐up on price chart
plotshape(macdCrossUp, title="MACD Cross Up", style=shape.triangleup, text="Up", location=location.belowbar, color=color.lime, size=size.tiny)
// MACD cross‐down on price chart
plotshape(macdCrossDown, title="MACD Cross Down", style=shape.triangledown, text="Down", location=location.abovebar, color=color.orange, size=size.tiny)
// 8. Plot Entry Signals
plotshape(longCondition, title="Long Entry", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortCondition, title="Short Entry", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
// 9. Entries & Exits
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.close("Short")
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.close("Long")