Estrategia de divergencia del oscilador de tendencia de volatilidad,

WT VWAP
Fecha de creación: 2024-05-28 17:43:54 Última modificación: 2024-05-28 17:43:54
Copiar: 0 Número de Visitas: 721
1
Seguir
1617
Seguidores

Estrategia de divergencia del oscilador de tendencia de volatilidad,

Descripción general

Esta estrategia combina el indicador de WaveTrend oscilante (WT) y el precio promedio ponderado por volumen de transacción (VWAP) para capturar oportunidades potenciales de reversión de tendencia mediante la identificación de precios y desviaciones en el indicador. La estrategia utiliza el ATR (Average True Range) para determinar la posición de parada y ajustar la escala de posición de forma dinámica según el porcentaje de riesgo de la cuenta.

Principio de estrategia

  1. Cálculo del indicador de oscilación WaveTrend ((WT): genera un indicador de oscilación de la dinámica comparando el precio actual con la diferencia entre su canal y el promedio.
  2. Cálculo del precio medio ponderado por volumen de transacciones (VWAP): el precio medio móvil se calcula utilizando el volumen de transacciones como peso.
  3. Identificar el desvío entre el precio y el indicador WT: cuando el precio crea un nuevo alto/nuevo bajo y el indicador no crea un nuevo alto/nuevo bajo, indica que puede haber una reversión de tendencia.
  4. Condiciones de entrada: abrir una posición cuando se reconoce que el pronóstico se desvía; cerrar una posición cuando se reconoce que el pronóstico se desvía
  5. Detener: el establecimiento de la posición de detener dinámico basado en ATR (Average True Range).
  6. El tamaño de la posición: el tamaño de la posición de cada operación se ajusta dinámicamente según el porcentaje de riesgo de la cuenta y la distancia de parada.
  7. Color de fondo: cambia el color de fondo de acuerdo con el nivel de sobreventa/sobreventa del indicador, proporcionando un aviso visual adicional.

Análisis de las ventajas

  1. Seguimiento de tendencias: la estrategia capta oportunidades potenciales de reversión de tendencias mediante la identificación de precios y desviaciones de indicadores.
  2. Gestión de riesgos: El uso de stop loss dinámico basado en ATR y el ajuste del tamaño de la posición en función del porcentaje de riesgo ayuda a controlar las pérdidas potenciales.
  3. El color de fondo cambia según el estado de sobreventa/sobreventa del indicador, proporcionando una señal visual adicional para el comerciante.
  4. Flexibilidad: los parámetros de la estrategia (por ejemplo, la longitud del canal, la longitud promedio, el nivel de sobrecompra/sobreventa) se pueden ajustar según las diferentes condiciones del mercado y los estilos de negociación.

Análisis de riesgos

  1. Mercado inestable: la estrategia puede sufrir pérdidas continuas en condiciones de mercado sin una clara tendencia.
  2. Optimización de parámetros: el rendimiento de esta estrategia depende en gran medida de la elección de los parámetros, y la configuración incorrecta de los parámetros puede causar resultados sub-optimizados.
  3. Exceso de transacciones: las frecuentes señales de entrada y salida pueden generar altos costos de transacción y afectar el rendimiento general de la estrategia.

Dirección de optimización

  1. Filtración de tendencias: cuando se produce una desviación, se introducen indicadores adicionales de confirmación de tendencias (como las medias móviles) para filtrar posibles señales falsas.
  2. Parámetros dinámicos: los parámetros del indicador se ajustan a la volatilidad del mercado, utilizando canales y longitudes medias más cortas cuando la volatilidad es baja y parámetros más largos cuando la volatilidad es alta.
  3. Stop-loss: Introducción de un nivel de stop-loss dinámico basado en el riesgo-rendimiento o el precio objetivo para administrar mejor las posiciones ganadas.
  4. Filtración de múltiples espacios: filtra las señales de negociación según la dirección de la tendencia general del mercado (como las medias móviles a largo plazo) y solo opera en la dirección de la tendencia.

Resumir

La estrategia WaveTrend Oscillator Divergence Strategy combina un indicador de tendencia oscilante y un precio promedio ponderado por volumen de transacción para identificar oportunidades potenciales de reversión de tendencia. La estrategia tiene la ventaja de su capacidad de seguimiento de tendencias y medidas de gestión de riesgos, pero puede estar expuesta a riesgos en mercados convulsos.

Código Fuente de la Estrategia
/*backtest
start: 2023-05-22 00:00:00
end: 2024-05-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("PipShiesty Swagger", overlay=true)

// WaveTrend Oscillator (WT)
n1 = input.int(10, "Channel Length")
n2 = input.int(21, "Average Length")
obLevel1 = input.float(60.0, "Overbought Level 1")
obLevel2 = input.float(53.0, "Overbought Level 2")
osLevel1 = input.float(-60.0, "Oversold Level 1")
osLevel2 = input.float(-53.0, "Oversold Level 2")

ap = hlc3
esa = ta.ema(ap, n1)
d = ta.ema(math.abs(ap - esa), n1)
ci = (ap - esa) / (0.015 * d)
tci = ta.ema(ci, n2)

// VWAP
vwap = ta.vwma(close, n1)

// Signal Line
wt1 = tci
wt2 = ta.sma(wt1, 4)

// Bullish and Bearish Divergences
bullishDivergence = (ta.lowest(close, 5) > ta.lowest(close[1], 5)) and (wt1 < wt1[1]) and (close > close[1])
bearishDivergence = (ta.highest(close, 5) < ta.highest(close[1], 5)) and (wt1 > wt1[1]) and (close < close[1])

// Plot WaveTrend Oscillator
plot(wt1, title="WT1", color=color.blue)
plot(wt2, title="WT2", color=color.red)

// Plot Divergences
plotshape(series=bullishDivergence, location=location.belowbar, color=color.green, style=shape.labelup, title="Bullish Divergence")
plotshape(series=bearishDivergence, location=location.abovebar, color=color.red, style=shape.labeldown, title="Bearish Divergence")

// Risk Management Parameters
riskPercentage = input.float(1, title="Risk Percentage per Trade", minval=0.1, step=0.1) / 100
stopLossATR = input.float(1.5, title="Stop Loss ATR Multiplier", minval=0.5, step=0.1)

// ATR Calculation
atr = ta.atr(14)

// Position Size Calculation
calculatePositionSize(stopLoss) =>
    riskAmount = strategy.equity * riskPercentage
    positionSize = riskAmount / stopLoss
    positionSize

// Entry and Exit Logic with Stop Loss
if bullishDivergence
    stopLoss = low - atr * stopLossATR
    positionSize = calculatePositionSize(close - stopLoss)
    strategy.entry("Buy", strategy.long, qty=positionSize)
    strategy.exit("Sell", from_entry="Buy", stop=stopLoss)

if bearishDivergence
    strategy.close("Buy")

// Plot VWAP
plot(vwap, title="VWAP", color=color.orange)

// Background color to indicate Overbought/Oversold conditions
bgcolor(wt1 > obLevel1 ? color.new(color.red, 90) : na, title="Overbought Level 1")
bgcolor(wt1 < osLevel1 ? color.new(color.green, 90) : na, title="Oversold Level 1")
bgcolor(wt1 > obLevel2 ? color.new(color.red, 70) : na, title="Overbought Level 2")
bgcolor(wt1 < osLevel2 ? color.new(color.green, 70) : na, title="Oversold Level 2")