Estrategia de negociación de ruptura de la fuerza de volatilidad

El autor:¿ Qué pasa?, Fecha: 2023-10-26 16:17:17
Las etiquetas:

img

Resumen general

Esta estrategia utiliza promedio móvil, ATR, bandas de Bollinger para el juicio de tendencia y el comercio de ruptura, combinado con índice de fuerza para el tiempo, pertenece a la estrategia de comercio de ruptura.

Estrategia lógica

  1. Calcular las líneas media, superior e inferior de las bandas de Bollinger.

  2. Calcular ATR rápido y lento. ATR rápido tiene un período de 20, ATR lento tiene un período de 50.

  3. Calcular el índice de fuerza XFORCE, que es acumulativo del volumen * (cierre - cierre anterior). y calcular la EMA rápida y lenta de XFORCE.

  4. Juzgar la señal larga: XFORCE rápido cruzar por encima de XFORCE lento, y ATR rápido > ATR lento, y cerrar > abierto.

  5. Se juzgará la señal corta: XFORCE rápido cruzar por debajo de XFORCE lento, y ATR rápido > ATR lento, y cerrar < abierto.

  6. Ir largo cuando se activa la señal larga, ir corto cuando se activa la señal corta.

Análisis de ventajas

  1. La media móvil proporciona tendencia, las bandas de Bollinger proporcionan puntos de ruptura.

  2. ATR juzga la volatilidad, implementa el comercio de volatilidad.

  3. El índice de fuerza determina la dirección de la fuerza, implementa el escape de la fuerza.

  4. La combinación de múltiples indicadores proporciona un juicio completo.

  5. Reglas claras y sencillas, fáciles de entender y aplicar.

  6. Buen resultado de las pruebas, ganancias estables.

Análisis de riesgos

  1. Las bandas de Bollinger pueden generar señales erróneas si el ancho no es adecuado.

  2. Los parámetros ATR incorrectos no pueden capturar la volatilidad del mercado.

  3. El índice de fuerza tiene un efecto limitado, no puede determinar la inversión de tendencia real.

  4. Difícil ajuste de parámetros y ponderaciones para múltiples indicadores.

  5. Las señales de fuga pueden ser inexactas, puede ocurrir una divergencia.

  6. El descenso puede ser grande, puede usar stop loss para controlarlo.

Direcciones de optimización

  1. Optimizar los parámetros de las bandas de Bollinger para diferentes períodos e instrumentos.

  2. Optimizar los parámetros del ATR para capturar mejor la volatilidad.

  3. Añadir indicadores de tendencia como el MACD para la validación de tendencias.

  4. Agregue estrategias de stop loss como el trailing stop para controlar el descenso.

  5. Utilice algoritmos de IA para juzgar las señales de inversión.

  6. Combine múltiples marcos de tiempo para un juicio completo y reducir las señales falsas.

Resumen de las actividades

Esta estrategia integra promedio móvil, ATR, bandas de Bollinger e índice de fuerza para formar un sistema de negociación completo. Mejoras adicionales en la optimización de parámetros, la adición de filtro de tendencia, estrategia de stop loss y algoritmos de IA pueden mejorar la estabilidad y la rentabilidad.


/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("yuthavithi volatility based force trade scalper strategy", overlay=true)

fast = input(3, minval= 1, title="Fast")
slow = input(20, minval = 1, title = "Slow")
atrFast = input(20, minval = 1, title = "ATR Fast")
atrSlow = input(50, minval = 1, title = "ATR Slow")

len = input(20, minval=1, title="Length")
multiplier = input(2, minval=1, title="multiplier")
src = input(close, title="Source")
bbMid = sma(src, len)
plot(bbMid, color=blue)

atrFastVal = atr(atrFast)
atrSlowVal = atr(atrSlow)
stdOut = stdev(close, len)
bbUpper = bbMid + stdOut * multiplier
bbLower = bbMid - stdOut * multiplier
plot(bbUpper, color = (atrFastVal > atrSlowVal ? red : silver))
plot(bbLower, color = (atrFastVal > atrSlowVal ? red : silver))


force = volume * (close -  nz(close[1]))
xforce = cum(force)
xforceFast = ema(xforce, fast)
xforceSlow = ema(xforce, slow)

bearish = ((xforceFast < xforceSlow) and (atrFastVal > atrSlowVal)) and ((xforceFast[1] > xforceSlow[1]) or (atrFastVal[1] < atrSlowVal[1])) and (close < open)
bullish = ((xforceFast > xforceSlow) and (atrFastVal > atrSlowVal)) and ((xforceFast[1] < xforceSlow[1]) or (atrFastVal[1] < atrSlowVal[1])) and (close > open)


if (bullish)
    strategy.entry("Buy", strategy.long)

if (bearish)
    strategy.entry("Sell", strategy.short)

Más.