La estrategia determina la dirección de la tendencia mediante el cálculo de las medias móviles del rango de fluctuación real, que reflejan la volatilidad del mercado, en función de la relación entre la volatilidad y su promedio móvil. Mira por encima cuando la volatilidad atraviesa la media móvil, mira por encima cuando la volatilidad lo atraviesa y establece un trazado de pérdidas.
Utiliza la función ATR para calcular el rango de fluctuación real en el período especificado. Luego calcula el promedio móvil simple del ATR, como la media móvil de la tasa de fluctuación. Cuando el ATR cruza su media móvil, considera que la tasa de fluctuación del mercado aumenta y adopta una estrategia de búsqueda; cuando el ATR cruza su media móvil, considera que la tasa de fluctuación del mercado disminuye y adopta una estrategia de búsqueda.
Al mantener una posición, se establece una posición de seguimiento de stop loss de proporción fija, que se ajusta dinámicamente a la posición de stop loss en función de los cambios en el precio, protegiendo las ganancias al mismo tiempo que evita que el stop loss se cubra.
La estrategia determina el movimiento del mercado a través de indicadores de volatilidad para evitar ser engañados por el ruido. Se realiza una operación de cobertura cuando la volatilidad aumenta y aumenta cuando disminuye. El seguimiento de los paros puede ajustar la posición de parada en función de los cambios en los precios en tiempo real, lo que permite reducir las pérdidas innecesarias al mismo tiempo que protege las ganancias.
Esta estrategia se basa solo en un indicador de volatilidad, con un cierto retraso. Y el seguimiento de los stop losses solo considera los cambios en la dirección negativa de los precios, no puede evitar el rebote de las ganancias. Cuando los precios fluctúan fuertemente, la línea de stop losses puede romperse y causar grandes pérdidas.
Se pueden optimizar adecuadamente los parámetros periódicos del ATR y la línea media, o se pueden agregar otros indicadores para un juicio integral. El método de stop loss también se puede cambiar a stop loss dinámico, para ajustar la magnitud del stop loss en función de la volatilidad del mercado.
Prueba diferentes combinaciones de parámetros de ATR y de ciclo promedio para encontrar el parámetro óptimo.
Aumentar el criterio de otros indicadores, formar una combinación de estrategias y mejorar la precisión de las estrategias.
Establezca una estrategia de stop loss dinámica y ajuste el stop loss según la volatilidad del mercado.
Optimización de las estrategias de gestión de fondos, diferentes variedades pueden establecer diferentes tamaños de posición.
Aplicación de técnicas de aprendizaje automático para ayudar a determinar los puntos de inflexión de la volatilidad del mercado.
En combinación con indicadores de medias de nivel superior, identifica la dirección de las tendencias a un nivel más amplio.
La estrategia utiliza el índice de volatilidad para determinar el movimiento del mercado es más simple y directo, pero es fácil de limitar con un solo indicador. La introducción adecuada de varios indicadores para determinar y optimizar los parámetros puede mejorar la estabilidad de la estrategia. En general, la estrategia ofrece una idea de cómo operar en función de la volatilidad del mercado.
/*backtest
start: 2023-08-20 00:00:00
end: 2023-09-19 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 20/08/2018
// The Volatility function measures the market volatility by plotting a
// smoothed average of the True Range. It returns an average of the TrueRange
// over a specific number of bars, giving higher weight to the TrueRange of
// the most recent bar.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Volatility Backtest", shorttitle="Volatility")
Length = input(10, minval=1)
LengthMA = input(26, minval=1)
reverse = input(false, title="Trade reverse")
xATR = atr(Length)
nRes = ((Length - 1) * nz(nRes[1], 0) + xATR) / Length
xMARes = sma(nRes, LengthMA)
pos = iff(nRes < xMARes, 1,
iff(nRes > xMARes, -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(nRes, color=blue, title="Volatility")
plot(xMARes, color=red, title="MA")