La estrategia de ruptura de tendencia es una estrategia cuantitativa que juzga las tendencias del mercado y las operaciones mediante el cálculo de la volatilidad de los precios. La estrategia utiliza la fórmula (alto-bajo) / cerrado para calcular la volatilidad de los precios de las velas, y luego la procesa a través de promedios móviles para juzgar si se produce una inversión de tendencia. Cuando la volatilidad es mayor que el nivel promedio durante un período reciente, puede estar surgiendo una nueva tendencia.
El indicador principal de esta estrategia es (alto-bajo) / cerrado, que refleja la amplitud de la vela. La estrategia primero calcula este indicador, luego toma su valor absoluto y calcula el promedio móvil simple. Si el valor absoluto del indicador de volatilidad de la vela actual es mayor que el valor promedio móvil durante un período, significa que se puede estar formando una nueva tendencia.
En concreto, la estrategia incluye los siguientes pasos:
La estrategia también contiene gráficos de indicadores, cambios de color de velas y otras visualizaciones para un juicio de tendencia intuitivo.
Las principales ventajas de esta estrategia son las siguientes:
En general, esta estrategia rompe con el patrón de pensamiento del juicio de indicadores tradicionales, y sólo se centra en la volatilidad de precios en sí para capturar de manera flexible los posibles cambios de tendencia.
Los principales riesgos de esta estrategia incluyen:
Estos riesgos se relacionan principalmente con la dependencia excesiva de la estrategia de la volatilidad de los precios para determinar las tendencias del mercado. Para reducir los riesgos, podemos considerar la combinación de otros indicadores de juicio para verificar la validez de las señales de tendencia y ajustar adecuadamente los parámetros a los indicadores de volatilidad suave, filtrando los ruidos a corto plazo.
Las principales direcciones para optimizar esta estrategia incluyen:
Estas medidas de optimización pueden reducir la probabilidad de operaciones incorrectas y mejorar la rentabilidad de la estrategia. En particular, la adición de indicadores y modelos para determinar la validez de la señal puede reducir en gran medida las señales inválidas. Además, las estrategias de stop loss también son necesarias para controlar la pérdida de una sola operación y garantizar los rendimientos generales.
Esta estrategia de ruptura de tendencia juzga los cambios de tendencia del mercado mediante el cálculo de la volatilidad de los precios. El principio es simple y directo, y el uso es flexible con parámetros personalizables para el ajuste de sensibilidad. La estrategia tiene la ventaja de capturar los cambios de tendencia, pero también tiene algunos riesgos. Podemos mejorarla optimizando los indicadores de juicio, estableciendo modelos de filtrado, ajustando la configuración de parámetros y así sucesivamente, para hacer que la estrategia sea más estable y confiable. En general, esta estrategia proporciona una nueva idea para determinar los cambios de tendencia del mercado y vale la pena una mayor investigación y optimización.
/*backtest start: 2023-11-26 00:00:00 end: 2023-12-26 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 //////////////////////////////////////////////////////////// // Copyright by HPotter v2.0 25/10/2017 // // This histogram displays (high-low)/close // Can be applied to any time frame. // // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="(H-L)/C Histogram Backtest", precision = 2) input_barwidth = input(4, title="Bar Width") input_barsback = input(1, title="Look Back") input_percentorprice = input(false, title="% change") input_smalength = input(16, title="SMA Length") reverse = input(false, title="Trade reverse") hline(0, color=blue, linestyle=line) xPrice = (high-low)/close xPriceHL = (high-low) xPrice1 = iff(input_percentorprice, xPrice * 100, xPriceHL) xPrice1SMA = sma(abs(xPrice1), input_smalength) pos = 0.0 pos := iff(xPrice1SMA[input_barsback] > abs(xPrice1), 1, iff(xPrice1SMA[input_barsback] < abs(xPrice1), -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(abs(xPrice1), color=green, style = histogram, linewidth = input_barwidth, title="Change") plot(xPrice1SMA[input_barsback], color=red, title="SMA")