Estratégia de reversão de volatilidade VWAP Sistema de rompimento longo e curto no canal de desvio padrão

VWAP SD SMA ATR RSI
Data de criação: 2025-02-20 09:33:31 última modificação: 2025-02-20 09:33:31
cópia: 1 Cliques: 469
2
focar em
319
Seguidores

Estratégia de reversão de volatilidade VWAP Sistema de rompimento longo e curto no canal de desvio padrão Estratégia de reversão de volatilidade VWAP Sistema de rompimento longo e curto no canal de desvio padrão

Visão geral

A estratégia é um sistema de negociação baseado no VWAP e no canal de diferenciação padrão, que opera a negociação identificando a forma inversa do preço na fronteira do canal. A estratégia combina a filosofia de negociação do volume e do retorno do valor médio para capturar oportunidades de negociação quando o preço ultrapassa o ponto técnico crítico.

Princípio da estratégia

O núcleo da estratégia é a construção de um canal de ascensão e descensão usando o VWAP como centro de preço, usando a diferença padrão de 20 ciclos. Procure oportunidades de aumento perto da faixa de baixo e de queda perto da faixa de cima.

  • Multi-condicionamento: o preço forma uma inversão de tendência de baixa e, em seguida, ultrapassa a alta anterior da linha do Sol
  • Condições de fechamento: o preço forma uma forma de queda no traçado superior e, em seguida, quebra o mínimo anterior da linha negativa
  • Configuração de parada: fazer mais com o VWAP e o alvo acima do carril, com o alvo abaixo do carril
  • Parar de perda: fazer mais para parar de perda no ponto mais baixo do sol retrógrado, fazer ativos para parar de perda no ponto mais alto do sol retrógrado

Vantagens estratégicas

  1. Combinando os benefícios de acompanhamento de tendências e negociação de reversão, pode capturar a continuação de tendências e aproveitar oportunidades de reversão.
  2. Usando o VWAP como um indicador central, pode refletir melhor a oferta e demanda reais do mercado
  3. O método de batch-stop permite obter lucros em preços diferentes
  4. Parar os prejuízos é razoável e permite controlar os riscos de forma eficaz
  5. A lógica da estratégia é clara, a configuração de parâmetros é simples, fácil de entender e executar

Risco estratégico

  1. Pode ser frequente a ação de stop loss em mercados com forte volatilidade
  2. A fase de classificação horizontal pode gerar muitos falsos sinais
  3. O VWAP é mais sensível a períodos de tempo
  4. A largura de canal padrão pode não ser adequada para todas as circunstâncias do mercado
  5. Pode ter perdido algumas oportunidades importantes para a tendência

Direção de otimização da estratégia

  1. Introdução de filtros de transmissão para melhorar a qualidade do sinal
  2. Aumentar os indicadores de confirmação de tendências, como o sistema de médias móveis
  3. Ajuste dinâmico do ciclo de desvio padrão para adaptar-se a diferentes condições de mercado
  4. Otimização da taxa de interrupção do lote para aumentar a receita geral
  5. Adicione filtro de tempo para evitar negociações em momentos adversos
  6. Considere aumentar os indicadores de volatilidade e otimizar a gestão de posições

Resumir

Trata-se de um sistema de negociação completo que combina VWAP, canal de diferenciação padrão e forma de preço. A estratégia é executada procurando sinais de reversão nos preços-chave e gerenciando o risco com paradas em lotes e paradas razoáveis. Embora existam algumas limitações, a estabilidade e a lucratividade da estratégia podem ser melhoradas com a orientação de otimização sugerida.

Código-fonte da estratégia
/*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