En la carga de los recursos... Cargando...

Estrategia de divergencia del oscilador WaveTrend

El autor:¿ Qué pasa?, Fecha: 2024-05-28 17:43:54
Las etiquetas:WTVWAP

img

Resumen general

Esta estrategia combina el oscilador de tendencia de onda (WT) y el precio promedio ponderado por volumen (VWAP) para capturar oportunidades potenciales de inversión de tendencia mediante la identificación de divergencias entre el precio y el indicador. La estrategia utiliza el rango verdadero promedio (ATR) para determinar los niveles de stop-loss y ajusta dinámicamente el tamaño de la posición en función del porcentaje de riesgo de la cuenta. Las principales fortalezas de la estrategia se encuentran en sus capacidades de seguimiento de tendencias y medidas de gestión de riesgos, pero puede sufrir pérdidas en mercados agitados. Las direcciones de optimización incluyen la adición de filtros adicionales y la mejora de las reglas de entrada y salida.

Principios de estrategia

  1. Calcular el oscilador WaveTrend (WT): Generar un oscilador de impulso comparando el precio actual con su canal y promedio.
  2. Calcular el precio promedio ponderado por volumen (VWAP): Calcular un precio promedio móvil ponderado por volumen.
  3. Identificar las divergencias entre el precio y el indicador WT: se indica una posible inversión de tendencia cuando el precio alcanza un nuevo máximo/mínimo mientras que el indicador no lo logra.
  4. Condiciones de entrada: abrir una posición larga cuando se detecta una divergencia alcista; cerrar la posición cuando se detecta una divergencia bajista.
  5. Los valores de las pérdidas se calcularán en función de los valores de las pérdidas registradas.
  6. Posicionamiento: ajustar dinámicamente el tamaño de la posición para cada operación en función del porcentaje de riesgo de la cuenta y la distancia de stop-loss.
  7. Color de fondo: cambiar el color de fondo en función de los niveles de sobrecompra/sobreventa del indicador, proporcionando señales visuales adicionales.

Análisis de las ventajas

  1. Seguimiento de tendencias: Al identificar las divergencias entre el precio y el indicador, la estrategia puede capturar posibles oportunidades de inversión de tendencias.
  2. Gestión del riesgo: el uso de stop-loss dinámicos basados en ATR y el tamaño de las posiciones basado en el porcentaje de riesgo ayudan a controlar las pérdidas potenciales.
  3. Indicadores visuales: El color de fondo cambia en función del estado de sobrecompra/sobreventa del indicador, proporcionando señales visuales adicionales a los operadores.
  4. Flexibilidad: Los parámetros de la estrategia (por ejemplo, longitud del canal, longitud media, niveles de sobrecompra/sobreventa) se pueden ajustar para adaptarse a las diferentes condiciones del mercado y estilos de negociación.

Análisis de riesgos

  1. Mercados inestables: en condiciones de mercado sin tendencias claras, la estrategia puede sufrir pérdidas consecutivas.
  2. Optimización de parámetros: El rendimiento de la estrategia depende en gran medida de la elección de parámetros, y la configuración de parámetros subóptimas puede conducir a resultados inferiores a la media.
  3. Sobrecomercialización: las señales de entrada y salida frecuentes pueden dar lugar a altos costos de negociación, lo que afecta al rendimiento general de la estrategia.

Direcciones de optimización

  1. Filtros de tendencia: introducir indicadores adicionales de confirmación de tendencia (por ejemplo, medias móviles) cuando se producen divergencias para filtrar posibles señales falsas.
  2. Parámetros dinámicos: ajustar los parámetros del indicador en función de la volatilidad del mercado, utilizando canales más cortos y longitudes medias durante la baja volatilidad y parámetros más largos durante la alta volatilidad.
  3. Tener ganancias: introducir niveles dinámicos de obtener ganancias basados en las relaciones riesgo-rendimiento o precios objetivo para gestionar mejor las posiciones rentables.
  4. Filtros largo/corto: Filtra las señales de negociación basadas en la dirección general de la tendencia del mercado (por ejemplo, promedios móviles a largo plazo) para negociar únicamente en la dirección de la tendencia.

Resumen de las actividades

La estrategia de divergencia del oscilador de tendencia de onda combina el indicador de tendencia de onda y el precio promedio ponderado por volumen para identificar oportunidades potenciales de inversión de tendencia. Las fortalezas de la estrategia se encuentran en sus capacidades de seguimiento de tendencias y medidas de gestión de riesgos, pero puede enfrentar riesgos en mercados agitados. La estrategia se puede optimizar aún más mediante la introducción de filtros adicionales, ajustes de parámetros dinámicos y reglas de entrada y salida mejoradas.


/*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")


Relacionados

Más.