
La estrategia de ruptura de tendencia es una estrategia cuantitativa para juzgar la tendencia del mercado y realizar operaciones mediante el cálculo de la volatilidad de los precios. La estrategia utiliza la fórmula de “precio más alto - precio más bajo” / precio de cierre para calcular la volatilidad de los precios de la línea K, luego se suaviza a través de la línea media para determinar si se produce una reversión de la tendencia.
El indicador central de la estrategia es el precio de la línea K, que refleja la amplitud de fluctuación. La estrategia calcula primero este indicador, luego toma su valor absoluto y calcula un promedio móvil simple. Si el valor absoluto del indicador de la amplitud de fluctuación de la línea K actual es mayor que el promedio móvil de un período determinado en el pasado, puede indicar que se está formando una nueva tendencia.
En concreto, la estrategia incluye los siguientes pasos:
La estrategia también incluye operaciones visuales como el trazado de indicadores y el cambio de color de la línea K, lo que facilita la intuición de las tendencias del mercado. En general, la estrategia utiliza la volatilidad de los precios para determinar los cambios potenciales en las tendencias.
La estrategia tiene las siguientes ventajas principales:
En general, la estrategia rompe con la forma de pensar tradicional de los indicadores, se centra en la volatilidad de los precios en sí mismos, y es flexible para capturar cambios potenciales de tendencias. Los parámetros son ajustables, son fáciles de usar y son una estrategia de tendencias recomendable.
La estrategia también presenta los siguientes riesgos principales:
Estos riesgos están relacionados principalmente con la estrategia de depender demasiado de la volatilidad de los precios para juzgar las tendencias del mercado. Para reducir el riesgo, se puede considerar la combinación de otros indicadores de juicio para juzgar la efectividad de las señales de tendencia; También se puede ajustar adecuadamente los parámetros, suavizar los indicadores de volatilidad y filtrar el ruido de las líneas cortas.
La estrategia se puede optimizar principalmente en las siguientes direcciones:
Estas medidas de optimización pueden reducir la probabilidad de transacciones erróneas y aumentar la rentabilidad de la estrategia. En particular, aumentar los indicadores y modelos que juzgan la efectividad de la señal puede reducir considerablemente la señal ineficaz. Además, la estrategia de stop loss también es necesaria para controlar las pérdidas individuales y garantizar los beneficios generales.
La estrategia de ruptura de tendencias determina el cambio de tendencia del mercado mediante el cálculo de la volatilidad de los precios. El principio es simple y directo, utiliza un ajuste de parámetros flexible y personalizable para determinar la sensibilidad. La estrategia tiene la ventaja de capturar los cambios de tendencia, pero también existe un cierto riesgo.
/*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")