Desfase del canal de soporte y resistencia dinámico

El autor:¿ Qué pasa?, Fecha: 2024-01-18 12:30:04
Las etiquetas:

img

Resumen general

La Estrategia Dinámica de Breakout de Canales de Soporte y Resistencia es una estrategia poderosa para identificar los niveles clave de soporte y resistencia y señales de ruptura.

Estrategia lógica

La estrategia calcula dinámicamente los niveles de soporte y resistencia basados en barras izquierdas y derechas definidas por el usuario. Esto proporciona flexibilidad para adaptarse a las condiciones cambiantes del mercado. Genera señales de compra y venta cuando el precio de cierre cruza estos niveles de soporte y resistencia, junto con la confirmación de volumen. Además, la estrategia integra la ejecución automatizada de posiciones LONG / SHORT basadas en las condiciones definidas de soporte y resistencia, agilizando el proceso de negociación en general.

Específicamente, la estrategia calcula los niveles de soporte y resistencia dinámicos utilizando las funciones ta.pivotlow y ta.pivothigh. Estas líneas de soporte y resistencia se trazan en colores rojos y azules en el gráfico. Cuando el precio de cierre rompe estos niveles, se dibujan marcas de forma B en los lugares de ruptura. Mientras tanto, la estrategia incorpora un oscilador de volumen utilizando volúmenes promedio de 5 y 10 días para medir los aumentos de volumen. Las señales y alertas de ruptura solo se activan cuando el volumen es lo suficientemente grande. Finalmente, la estrategia integra estrategias de entrada y salida LONG / SHORT basadas en estas condiciones de soporte, resistencia y volumen.

Ventajas

La estrategia tiene las siguientes ventajas:

  1. Los niveles de soporte y resistencia dinámicos se adaptan a los cambios del mercado
  2. La confirmación del volumen garantiza la importancia de las rupturas
  3. Las señales gráficas destacan los puntos críticos
  4. La estrategia comercial integrada simplifica el flujo de trabajo
  5. Los parámetros personalizables aumentan la adaptabilidad

En general, la estrategia identifica, visualiza y capitaliza de manera exhaustiva los puntos clave de ruptura de soporte y resistencia, lo que facilita en gran medida a los operadores la selección del momento óptimo de negociación y mejora significativamente las posibilidades de éxito comercial.

Los riesgos

Los riesgos potenciales de la estrategia incluyen principalmente:

  1. El riesgo de ruptura no válido: los puntos de ruptura pueden formar rupturas falsas, lo que conduce a pérdidas innecesarias. Esto puede mitigarse estableciendo requisitos de confirmación de volumen y fluctuación de precios más estrictos.

  2. El riesgo de optimización de parámetros. Se pueden calcular niveles de soporte y resistencia inexactos si las barras izquierda/derecha, etc., se establecen de manera inadecuada. Las barras izquierda/derecha adecuadas deben seleccionarse de acuerdo con las características comerciales de diferentes productos.

  3. Riesgo de sobreoptimización. La optimización excesiva de parámetros puede conducir a un sobreajuste. Se debe realizar una verificación y validación adecuadas para evitar la sobreoptimización en datos limitados.

  4. El riesgo de costes de transacción. Las operaciones frecuentes pueden dar lugar a comisiones más altas. Se deben considerar factores de obtención de ganancias u otros medios para controlar la frecuencia de las operaciones.

Direcciones de mejora

La estrategia puede mejorarse en los siguientes aspectos:

  1. Añadir condiciones de stop loss para controlar pérdidas individuales.

  2. Optimizar los factores de obtención de beneficios para determinar los puntos óptimos de obtención de beneficios.

  3. Prueba diferentes combinaciones de parámetros para determinar los parámetros óptimos.

  4. Ajuste la barra izquierda/derecha basado en diferentes productos.

  5. Añadir otros filtros, por ejemplo, la volatilidad de los precios para medir mejor la probabilidad de ruptura.

  6. Pruebe con diferentes indicadores de confirmación de volumen, por ejemplo, los despegos de alto volumen.

  7. Incorporar otras estrategias o indicadores para lograr una mejor integración.

Conclusión

La estrategia de ruptura del canal de soporte y resistencia dinámico aprovecha los conceptos de soporte y resistencia del análisis de gráficos técnicos, junto con el análisis de volumen para confirmar la importancia de las rupturas, para descubrir efectivamente los puntos críticos de inflexión en el mercado. Su diseño de interfaz simple pero elegante, el trazado del indicador y la señal solicitan barreras técnicas mucho más bajas. Mientras tanto, las configuraciones de parámetros personalizables e integrables hacen que sea fácil de incorporar con las propias estrategias de los operadores. En resumen, esta es una estrategia comercial cuantitativa integral y altamente práctica.


/*backtest
start: 2024-01-10 00:00:00
end: 2024-01-17 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Support and Resistance channel with Breaks p5", shorttitle="Support and Resistance channel with Breaks [cryptoonchain]", overlay=true, max_bars_back=1000)

// Input variables
toggleBreaks = input(true, title="Show Breaks")
leftBars = input(15, title="Left Bars")
rightBars = input(15, title="Right Bars")
volumeThresh = input(20, title="Volume Threshold")

// Calculate pivot levels
highUsePivot = fixnan(ta.pivothigh(leftBars, rightBars)[1])
lowUsePivot = fixnan(ta.pivotlow(leftBars, rightBars)[1])

// Plot resistance and support lines
r1 = plot(highUsePivot, color=color.new(na(highUsePivot) ? na : #FF0000, 0), linewidth=3, offset=-(rightBars + 1), title="Resistance")
s1 = plot(lowUsePivot, color=color.new(na(lowUsePivot) ? na : #233dee, 0), linewidth=3, offset=-(rightBars + 1), title="Support")

// Volume %
short = ta.ema(volume, 5)
long = ta.ema(volume, 10)
osc = 100 * (short - long) / long

// Plot shapes for breaks with volume
plotshape(toggleBreaks and ta.crossunder(close, lowUsePivot) and not (open - close < high - open) and osc > volumeThresh, title="Break", text='B', style=shape.labeldown, location=location.abovebar, color=color.red, textcolor=color.white, transp=0, size=size.tiny)
plotshape(toggleBreaks and ta.crossover(close, highUsePivot) and not (open - low > close - open) and osc > volumeThresh, title="Break", text='B', style=shape.labelup, location=location.belowbar, color=color.green, textcolor=color.white, transp=0, size=size.tiny)

// Alert conditions
alertcondition(ta.crossunder(close, lowUsePivot) and osc > volumeThresh, title="Support Broken", message="Support Broken")
alertcondition(ta.crossover(close, highUsePivot) and osc > volumeThresh, title="Resistance Broken", message="Resistance Broken")

// Strategy conditions with filter
longCondition = low > highUsePivot and osc > volumeThresh
shortCondition = high < lowUsePivot and osc > volumeThresh


// Strategy entries
strategy.entry("My Long Entry Id", strategy.long, when=longCondition)
strategy.entry("My Short Entry Id", strategy.short, when=shortCondition)


Más.