
La estrategia de confirmación de gráficos técnicos tipo dinámica de varios ciclos es un sistema de negociación basado en la identificación de formas de varios gráficos clásicos y la confirmación de dinámicas. La estrategia se basa principalmente en la identificación de formas técnicas comunes en el mercado, como la cabeza y el hombro, la cabeza y el hombro, la cabeza y el hombro, el doblete, el doblete, el triángulo (simétrico, ascendente, descendente), la bandera, la arista, etc., y la confirmación de la señal de entrada en caso de ruptura de la forma.
El principio central de la estrategia es la identificación de diferentes formas gráficas a través de una serie de funciones condicionales y la confirmación de señales de negociación cuando el precio supera niveles críticos:
Identificación de la parte superior y inferior de los hombros: Identificación de la estructura característica de la forma de la cabeza y el hombro mediante la comparación de la relación de posición relativa de los puntos altos/bajos en sucesión. La forma de la cabeza y el hombro se forma cuando la altura 1 es mayor que la altura 0, 2, 3, 4 y la altura 0 es menor que la altura 2 y 3.
Identificación de doble techo / doble fondo: Identificar las formas de doble cima y doble fondo mediante el análisis de la secuencia de puntos altos/bajos. En la forma de doble cima, el punto alto 1 debe ser mayor que el punto alto circundante; en la forma de doble fondo, el punto bajo 1 debe ser menor que el punto bajo circundante.
Reconocimiento de forma triangular:
Identificación de las banderas: Identificar patrones de cambio continuo mediante el análisis de los puntos altos y bajos.
Se confirma la señal de transacción:
Gestión de riesgos:
Identificación de formas sistematizada: La estrategia permite la identificación automática de varias formas de gráficos clásicos mediante la definición de una función condicional clara, lo que reduce la desviación de los juicios subjetivos.
Mecanismo de reconocimiento de señalesLa estrategia no solo reconoce las formas de los gráficos, sino que también requiere que los precios rompan los niveles críticos como confirmación, lo que reduce el riesgo de falsas rupturas.
Gestión de riesgos dinámicosUtiliza el indicador ATR para establecer niveles dinámicos de stop loss y stop loss para adaptar el control de riesgo a los cambios en la volatilidad del mercado.
Cobertura de múltiples formasLa estrategia incluye varios formatos de gráficos clásicos, aumentando las oportunidades de negociación y adaptándose a diferentes entornos de mercado.
Presentación visual: La estrategia utiliza la función plotshape para visualizar las formas identificadas en el gráfico, lo que ayuda al comerciante a comprender y validar la lógica de la estrategia.
Las ganancias de los riesgos son razonables.La estrategia establece 3 veces el ATR como stop, 1.5 veces el ATR como stop loss, con una relación de riesgo-rendimiento de 1:2, de acuerdo con los principios de la gestión de riesgos efectiva.
Reconocimiento de formas con poca precisiónLos algoritmos de reconocimiento de formas actuales son relativamente simplificados y pueden generar errores o omisiones, especialmente en situaciones de gran ruido en el mercado.
Sensibilidad de los parámetrosLa configuración de los ciclos ATR y los múltiplos de los paros y paradas tienen un impacto significativo en el rendimiento de la estrategia, que debe optimizarse según los diferentes mercados y marcos de tiempo.
Riesgo de una falsa brechaA pesar de la existencia de mecanismos de confirmación, los mercados siguen experimentando brechas falsas que pueden conducir a pérdidas innecesarias en las operaciones.
Identificación repetida de las formas: Algunas de las funciones de identificación de formas en el código actual tienen una lógica similar (como la cabeza, el hombro y el doblete), lo que puede conducir a la activación de múltiples señales en el mismo mercado, aumentando la frecuencia y el costo de las transacciones.
Falta de filtro de tendenciasLa estrategia no tiene en cuenta la dirección de la tendencia general del mercado, y puede generar señales de reversión en una tendencia fuerte, lo que lleva a una negociación a la inversa.
El riesgo es el siguiente:
Mejoras en los algoritmos de reconocimiento de formas:
Acompañamiento de la confirmación de la entrega:
Filtración de tendencias:
Optimización de la gestión de riesgos:
Aumentar el tiempo de filtrado:
Análisis de marcos de tiempo múltiples:
Estas orientaciones de optimización pueden mejorar significativamente la solidez y la eficiencia de las estrategias debido a:
La estrategia de confirmación de gráficos técnicos de tipo dinámico de múltiples ciclos es un sistema de negociación sistematizado y de reglas claras que genera señales de negociación mediante la identificación de varias formas clásicas de gráficos y la combinación de confirmación de rupturas. La estrategia utiliza el indicador ATR para la gestión dinámica del riesgo y establece un razonable índice de retorno de riesgo.
/*backtest
start: 2024-02-29 00:00:00
end: 2025-02-26 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=5
strategy("Chart Pattern Strategy - Full Set", overlay=true)
// ATR settings for stop loss and take profit
atrLength = input.int(14, title="ATR Length")
atrValue = ta.atr(atrLength)
stopLoss = atrValue * 1.5 // Stop loss 1.5 ATR
takeProfit = atrValue * 3 // Take profit 3 ATR
// Head and Shoulders Detection
isHeadAndShoulders() =>
high[1] > high[2] and high[1] > high[0] and high[1] > high[3] and high[1] > high[4] and high[0] < high[2] and high[0] < high[3]
// Double Top Detection
isDoubleTop() =>
high[1] > high[2] and high[1] > high[0] and high[1] > high[3] and high[1] > high[4] and high[0] < high[2] and high[0] < high[3]
// Double Bottom Detection
isDoubleBottom() =>
low[1] < low[2] and low[1] < low[0] and low[1] < low[3] and low[1] < low[4] and low[0] > low[2] and low[0] > low[3]
// Symmetrical Triangle Detection
isSymmetricalTriangle() =>
high[2] > high[1] and low[2] < low[1] and high[3] < high[2] and low[3] > low[2]
// Ascending Triangle Detection (Bullish)
isAscendingTriangle() =>
high[2] < high[1] and low[2] > low[1] and high[3] < high[2] and low[3] > low[2]
// Descending Triangle Detection (Bearish)
isDescendingTriangle() =>
high[2] > high[1] and low[2] < low[1] and high[3] < high[2] and low[3] < low[2]
// Flags/Pennants Detection
isFlagPattern() =>
high[1] < high[0] and low[1] > low[0] and high[2] < high[1] and low[2] < low[1]
// Entry Logic (Confirmation based on Breakouts)
longSignal = (isHeadAndShoulders() or isDoubleBottom() or isAscendingTriangle()) and close > high[1]
shortSignal = (isDoubleTop() or isDescendingTriangle() or isFlagPattern()) and close < low[1]
// Plotting Chart Patterns on the Chart
plotshape(isHeadAndShoulders(), title="Head and Shoulders", location=location.abovebar, color=color.red, style=shape.labelup, text="HS")
plotshape(isDoubleTop(), title="Double Top", location=location.abovebar, color=color.red, style=shape.labelup, text="DT")
plotshape(isDoubleBottom(), title="Double Bottom", location=location.belowbar, color=color.green, style=shape.labeldown, text="DB")
plotshape(isSymmetricalTriangle(), title="Symmetrical Triangle", location=location.top, color=color.blue, style=shape.triangledown, text="ST")
plotshape(isAscendingTriangle(), title="Ascending Triangle", location=location.belowbar, color=color.green, style=shape.labelup, text="AT")
plotshape(isDescendingTriangle(), title="Descending Triangle", location=location.abovebar, color=color.red, style=shape.labeldown, text="DT")
plotshape(isFlagPattern(), title="Flag Pattern", location=location.abovebar, color=color.orange, style=shape.triangledown, text="Flag")
// Executing Trades based on Patterns
if (longSignal)
strategy.entry("Buy", strategy.long)
strategy.exit("Take Profit/Stop Loss", from_entry="Buy", stop=close - stopLoss, limit=close + takeProfit)
if (shortSignal)
strategy.entry("Sell", strategy.short)
strategy.exit("Take Profit/Stop Loss", from_entry="Sell", stop=close + stopLoss, limit=close - takeProfit)