Estrategia de reversión de volatilidad VWAP Sistema de ruptura de posiciones largas y cortas en el canal de desviación estándar

VWAP SD SMA ATR RSI
Fecha de creación: 2025-02-20 09:33:31 Última modificación: 2025-02-20 09:33:31
Copiar: 1 Número de Visitas: 469
2
Seguir
319
Seguidores

Estrategia de reversión de volatilidad VWAP Sistema de ruptura de posiciones largas y cortas en el canal de desviación estándar Estrategia de reversión de volatilidad VWAP Sistema de ruptura de posiciones largas y cortas en el canal de desviación estándar

Descripción general

La estrategia es un sistema de negociación basado en el VWAP (precio promedio ponderado por volumen de transacción) y el canal de diferencia estándar, que realiza operaciones mediante la identificación de la forma inversa de los precios en los límites del canal. La estrategia combina la filosofía de negociación de la dinámica y la regresión de la media, para capturar oportunidades de negociación cuando los precios superan los puntos técnicos clave.

Principio de estrategia

El núcleo de la estrategia es construir un canal ascendente y descendente utilizando el diferencial estándar de 20 ciclos con VWAP como centro de precios. Buscar oportunidades de aumento cerca de la vía descendente y oportunidades de disminución cerca de la vía superior. En concreto:

  • Hacer múltiples condiciones: el precio forma una reversión positiva en el tren inferior, luego rompe el punto más alto de la línea de sol anterior
  • Condiciones de vacío: el precio se forma en la línea superior y luego se rompe el mínimo de la línea negativa anterior
  • Ajuste de frenado: hacer más con VWAP y la vía superior como objetivo, hacer menos con la vía inferior como objetivo
  • Ajuste de pérdida: hacer más para detener el punto más bajo de la línea de sol, hacer más para detener el punto más alto de la línea de sol

Ventajas estratégicas

  1. La combinación de las ventajas del seguimiento de la tendencia y el comercio de reversión permite capturar la continuación de la tendencia y aprovechar las oportunidades de reversión
  2. El uso de VWAP como indicador central puede reflejar mejor la oferta y la demanda reales del mercado
  3. El uso de un método de eliminación por lotes puede generar ganancias en diferentes precios
  4. La configuración de stop loss es razonable y permite controlar el riesgo de manera efectiva
  5. La lógica de la política es clara, los parámetros son simples y fáciles de entender y ejecutar

Riesgo estratégico

  1. Se puede activar el stop loss con frecuencia en mercados con gran volatilidad
  2. La fase de ordenamiento horizontal puede generar demasiadas señales falsas
  3. Es más sensible a los períodos de tiempo calculados en VWAP
  4. La anchura de canal estándar puede no ser adecuada para todos los entornos de mercado
  5. Es posible que se pierdan algunas oportunidades de tendencia importantes

Dirección de optimización de la estrategia

  1. Introducción de filtros de tráfico para mejorar la calidad de la señal
  2. Aumentar los indicadores de confirmación de tendencias, como el sistema de medias móviles
  3. Ajuste dinámico de los ciclos de diferencia estándar para adaptarse a diferentes entornos de mercado
  4. Optimización de la proporción de bloqueo por lotes para mejorar los ingresos generales
  5. Añade un filtro de tiempo para evitar comerciar en tiempos desfavorables
  6. Considere aumentar los indicadores de volatilidad y optimizar la gestión de las posiciones

Resumir

Se trata de un sistema de negociación completo que combina VWAP, canales de diferencia estándar y formas de precios. La estrategia opera buscando señales de reversión en los precios clave y gestiona el riesgo con paradas por lotes y paradas razonables. Aunque existe cierta limitación, la estrategia puede mejorar aún más su estabilidad y rentabilidad mediante la orientación de optimización sugerida.

Código Fuente de la Estrategia
/*backtest
start: 2025-01-20 00:00:00
end: 2025-02-19 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=6  
strategy("VRS Strategy", overlay=true)  

// Calculate VWAP  
vwapValue = ta.vwap(close)  

// Calculate standard deviation for the bands  
stdDev = ta.stdev(close, 20) // 20-period standard deviation for bands  
upperBand = vwapValue + stdDev  
lowerBand = vwapValue - stdDev  

// Plot VWAP and its bands  
plot(vwapValue, color=color.blue, title="VWAP", linewidth=2)  
plot(upperBand, color=color.new(color.green, 0), title="Upper Band", linewidth=2)  
plot(lowerBand, color=color.new(color.red, 0), title="Lower Band", linewidth=2)  

// Signal Conditions  
var float previousGreenCandleHigh = na  
var float previousGreenCandleLow = na  
var float previousRedCandleLow = na  

// Detect bearish candle close below lower band  
bearishCloseBelowLower = close[1] < lowerBand and close[1] < open[1]  

// Detect bullish reversal candle after a bearish close below lower band  
bullishCandle = close > open and low < lowerBand // Ensure it's near the lower band  
candleReversalCondition = bearishCloseBelowLower and bullishCandle  

if (candleReversalCondition)  
    previousGreenCandleHigh := high[1]  // Capture the high of the previous green candle  
    previousGreenCandleLow := low[1]     // Capture the low of the previous green candle  
    previousRedCandleLow := na            // Reset previous red candle low  

// Buy entry condition: next candle breaks the high of the previous green candle  
buyEntryCondition = not na(previousGreenCandleHigh) and close > previousGreenCandleHigh  

if (buyEntryCondition)  
    // Set stop loss below the previous green candle  
    stopLoss = previousGreenCandleLow   
    risk = close - stopLoss // Calculate risk for position sizing  

    // Target Levels  
    target1 = vwapValue // Target 1 is at VWAP  
    target2 = upperBand  // Target 2 is at the upper band  

    // Ensure we only enter the trade near the lower band  
    if (close < lowerBand)  
        strategy.entry("Buy", strategy.long)  
        
        // Set exit conditions based on targets  
        strategy.exit("Take Profit 1", from_entry="Buy", limit=target1)  
        strategy.exit("Take Profit 2", from_entry="Buy", limit=target2)  
        strategy.exit("Stop Loss", from_entry="Buy", stop=stopLoss)  

// Sell signal condition: Wait for a bearish candle near the upper band  
bearishCandle = close < open and high > upperBand // A bearish candle should be formed near the upper band  
sellSignalCondition = bearishCandle  

if (sellSignalCondition)  
    previousRedCandleLow := low[1] // Capture the low of the current bearish candle  

    // Sell entry condition: next candle breaks the low of the previous bearish candle  
    sellEntryCondition = not na(previousRedCandleLow) and close < previousRedCandleLow  

    if (sellEntryCondition)  
        // Set stop loss above the previous bearish candle  
        stopLossSell = previousRedCandleLow + (high[1] - previousRedCandleLow) // Set stop loss above the bearish candle  
        targetSell = lowerBand // Target for sell is at the lower band  

        // Ensure we only enter the trade near the upper band  
        if (close > upperBand)  
            strategy.entry("Sell", strategy.short)  
            
            // Set exit conditions for sell  
            strategy.exit("Take Profit Sell", from_entry="Sell", limit=targetSell)  
            strategy.exit("Stop Loss Sell", from_entry="Sell", stop=stopLossSell)  

// Reset previous values when a trade occurs  
if (strategy.position_size > 0)  
    previousGreenCandleHigh := na  
    previousGreenCandleLow := na  
    previousRedCandleLow := na