Estrategia de volatilidad ATR de ruptura de impulso


Fecha de creación: 2024-01-12 13:50:44 Última modificación: 2024-01-12 13:50:44
Copiar: 0 Número de Visitas: 732
1
Seguir
1617
Seguidores

Estrategia de volatilidad ATR de ruptura de impulso

Descripción general

Esta estrategia utiliza una estrategia de doble línea de medias móviles combinadas, complementada con el indicador de fluctuación de la tasa de ATR para determinar la volatilidad del mercado. Cuando se cruza la media de largo período por encima de la media de corto período, se considera un mercado de múltiples cabezas y se realiza una entrada múltiple. Cuando se cruza la media de largo período por debajo de la media de corto período, se considera un mercado de cabezas vacías y se realiza una entrada en blanco.

Principio de estrategia

La parte central es la estrategia de la línea de paridad doble. La estrategia de la línea de paridad doble generalmente elige la línea de paridad corta y la línea de paridad larga, como la línea de paridad de 50 días y la línea de paridad de 200 días.

Esta estrategia utiliza la media de 50 días como media de corto período y la media de 200 días como media de largo período. La combinación de la media ponderada por la masa de la transacción VWAP determina la fiabilidad de la señal de media. Es decir, la señal de media solo entra en juego cuando la señal de media y la VWAP están en sincronía.

Además, se añade el indicador RSI para evitar compras y ventas excesivas. Evite comprar cuando el RSI es superior a 70 y evite vender cuando el RSI es inferior a 30.

Finalmente, el índice de amplitud de fluctuación promedio de ATR determina la volatilidad y el nivel de riesgo del mercado. El valor de ATR mayor que 1.18 se define como alta volatilidad, cuando el riesgo es más alto al cambiar el color de fondo, se puede evitar temporalmente el comercio y esperar a que la volatilidad disminuya.

Análisis de las ventajas

Las ventajas de esta estrategia se reflejan en tres aspectos:

  1. La línea de paridad binaria capta los puntos de inflexión de las tendencias a medio y largo plazo del mercado, aprovechando el comercio de tendencias para obtener más ganancias.

  2. Combinado con el filtro de falsedad VWAP, mejora la fiabilidad de la señal.

  3. La introducción del indicador RSI evita el comercio inverso y puede reducir las pérdidas.

  4. La aplicación de los indicadores de volatilidad ATR para evaluar el riesgo del mercado evita los momentos de alta volatilidad y reduce las pérdidas.

  5. La combinación de indicadores es sencilla, fácil de entender y adecuada para el comercio cuantitativo.

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. Cuando se produce la señal de la línea de paridad doble, el precio puede haber cambiado mucho, existe el riesgo de ser arbitraje. La solución es reducir el ciclo de la línea de paridad y acelerar la velocidad de reacción del indicador.

  2. El VWAP puede presentar errores que puedan filtrar las señales de transacción correctas. La solución es la confirmación complementaria con otros indicadores.

  3. Al final de la tendencia, el RSI puede estar en el área de sobreventa y sobreventa durante mucho tiempo, lo que lleva a perder el punto de reversión de la tendencia. La solución es combinar la confirmación con otros indicadores, como el MACD.

  4. La ATR puede tener un retraso en la determinación de las fluctuaciones del mercado. La solución es combinar los precios más altos y los precios más bajos para determinar las fluctuaciones del mercado.

  5. La ganancia puede no alcanzar las expectativas y se requiere un ajuste adecuado de los parámetros

Dirección de optimización

Hay mucho espacio para optimizar esta estrategia:

  1. Prueba más combinaciones equilíneas para encontrar el parámetro óptimo.

  2. Añadir más indicadores auxiliares para filtrar señales como MACD, KDJ, etc.

  3. Optimizar los parámetros de stop loss, reducir las pérdidas y aumentar las ganancias.

  4. Evaluar las diferencias entre las estrategias de negociación de las acciones fuertes y las acciones débiles, y realizar modelos de clasificación.

  5. Optimización automática de parámetros y evaluación de estrategias en combinación con algoritmos de aprendizaje automático como RNN.

  6. Desarrollar un sistema de comercio automático, conectado a un disco duro para realizar pruebas de retroalimentación.

Resumir

Esta estrategia es una estrategia de seguimiento de tendencias más simple en su conjunto. El núcleo utiliza dos líneas de equilibrio para juzgar tendencias de largo y corto plazo. Combina VWAP y RSI para procesar señales y aplicar ATR para evaluar el riesgo. La idea de la estrategia es simple y fácil de entender.

Código Fuente de la Estrategia
/*backtest
start: 2024-01-04 00:00:00
end: 2024-01-11 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Simple Moving Averages", overlay=true)

sma50 = ta.sma(close, 50)
sma200 = ta.sma(close, 200)
vwap = ta.vwap(close)
rsi = ta.rsi(close, 14)
[diPlus, diMinus, adx_val] = ta.dmi(14, 14)
atr_val = ta.atr(14)

plot(sma50, color=color.new(color.green, 0))
plot(sma200, color=color.new(color.red, 0))
plot(vwap)

longCondition = ta.crossover(sma50, sma200) and vwap > close
shortCondition = ta.crossunder(sma50, sma200) and vwap < close

if (longCondition)
    strategy.entry("Long", strategy.long)
    
if (shortCondition)
    strategy.entry("Short", strategy.short)

barcolor = sma50 > sma200 ? (vwap < close ? (rsi < 70 ? color.green : color.blue) : color.yellow) : (sma50 < sma200 ? (vwap > close ? (rsi > 30 ? color.red : color.orange) : color.yellow) : na)
barcolor(barcolor)
bgcolor(adx_val > 25 and atr_val > 1.18 ? color.new(color.gray, 50) : color.new(color.black, 50), transp=90)

// ADX and ATR Label Box
// label.new(bar_index, high, "ADX: " + str.tostring(adx_val, "#.##") + "\nATR: " + str.tostring(atr_val, "#.##"), color=color.new(color.white, 0), textcolor=color.new(color.black, 0), style=label.style_labeldown, yloc=yloc.price, xloc=xloc.bar_index, size=size.small, textalign=text.align_left)

// Exit conditions (optional)
strategy.close("Long", when = ta.crossunder(sma50, sma200))
strategy.close("Short", when = ta.crossover(sma50, sma200))

// Take Profit and Stop Loss
takeProfitPercentage = 5
stopLossPercentage = 3

strategy.exit("Take Profit / Stop Loss", "Long", profit = takeProfitPercentage, loss = stopLossPercentage)
strategy.exit("Take Profit / Stop Loss", "Short", profit = takeProfitPercentage, loss = stopLossPercentage)