A estratégia de rastreamento de ruptura do VWAP é uma estratégia de seguimento de tendências que usa o indicador VWAP para identificar a direção da tendência. Ele detecta rupturas de preços em todo o VWAP com base nos preços de fechamento das 5 barras recentes. Quando 3 barras consecutivas quebram o VWAP na mesma direção, o preço mais alto / mais baixo da 3a barra é registrado. Um sinal de negociação é gerado quando o preço quebra esse nível de preço mais alto / mais baixo registrado.
A principal vantagem desta estratégia é a sua rápida resposta para capturar oportunidades de ruptura para negociação de momento de curto prazo. No entanto, também há o risco de acumular uma posição muito grande. Isso pode ser otimizado ajustando os parâmetros de dimensionamento da posição.
O indicador principal utilizado nesta estratégia é o VWAP, que significa preço médio ponderado por volume, que é uma linha de preço médio ponderado por volume.
A estratégia calcula os preços de fechamento dos 5 bares mais recentes e o indicador VWAP em tempo real.
Os sinais de negociação são gerados com base nos novos preços mais altos / mais baixos criados por quebras de preços.
Então, a ideia central é identificar a direção das quebras de preços, e negociar os novos preços mais altos / mais baixos resultantes das quebras.
O tamanho da posição por defeito é definido em 100% do capital próprio. Isto representa uma posição completa em cada negociação. Considerando a natureza a curto prazo desta estratégia, o tamanho da posição poderia ser reduzido para controlar o risco.
A regra de saída é um crossunder/crossover VWAP.
A maior vantagem da estratégia de rastreamento de rupturas VWAP é a sua rápida resposta para captar a dinâmica de curto prazo dos preços e oportunidades de tendência.
Esta estratégia é especialmente adequada para negociações de curto prazo de alta frequência, permitindo o bloqueio rápido de lucros.
Embora esta estratégia tenha uma capacidade de rastreamento eficiente, ainda existem riscos a considerar:
As seguintes otimizações poderão ajudar a mitigar esses riscos:
Como estratégia de acompanhamento de ultra curto prazo, poderão ser feitas melhorias adicionais a partir das seguintes áreas:
Integração de múltiplos indicadores: Combinar outros indicadores de volatilidade e de dinâmica para estabelecer regras de filtragem mais rigorosas e melhorar a precisão
Dimensão dinâmica da posiçãoRedução quando a volatilidade aumenta e aumento durante tendências fortes.
Paradas adaptativasO preço de mercado é o valor médio de um mercado de ações.
Gestão de riscos: Estabelecer mais restrições de métricas de risco, como períodos máximos de detenção, limites de lucro/perda por dia, limite de retirada, etc., para controlar os riscos.
Aprendizagem de máquinaRecolher dados históricos do comércio e adotar modelos de aprendizagem de máquina para encontrar parâmetros de estratégia ideais para uma maior estabilidade.
Em geral, a estratégia de rastreamento de breakout VWAP é um sistema de negociação de alta frequência muito prático. Ele responde rapidamente a oportunidades de breakout de curto prazo e rastreia preços usando posição completa para scalping rápido.
Com outras otimizações como filtragem de múltiplos indicadores, dimensionamento dinâmico de posição, paradas adaptativas e aprendizado de máquina, esta estratégia pode alcançar uma eficiência e estabilidade ainda melhores.
/*backtest start: 2023-12-12 00:00:00 end: 2023-12-19 00:00:00 period: 5m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="VWAP Push", initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, currency = 'USD', overlay=true) //VWAP vwap = ta.vwap(close) plot(vwap, color=color.black, title="vwap") //Last 5 Closes closeBarPrevious5 = close[5] closeBarPrevious4 = close[4] closeBarPrevious3 = close[3] closeBarPrevious2 = close[2] closeBarPrevious1 = close[1] closeBarCurrent = close //is_1530 = (hour == 15) and (minute == 30) is_push_up = (closeBarCurrent > closeBarPrevious1) and (closeBarPrevious1 > closeBarPrevious2) and (closeBarPrevious2 > closeBarPrevious3) and (closeBarPrevious4 < vwap) and (closeBarPrevious3 > vwap) is_push_down = (closeBarCurrent < closeBarPrevious1) and (closeBarPrevious1 < closeBarPrevious2) and (closeBarPrevious2 < closeBarPrevious3) and (closeBarPrevious4 > vwap) and (closeBarPrevious3 < vwap) var float hi = na var float lo = na hi := is_push_up ? high : hi lo := is_push_down and (close < vwap) ? low : lo plot(hi, "High", color.green, 1, plot.style_circles) plot(lo, "Low", color.red, 1, plot.style_circles) // Conditions longCondition = ta.crossover(close,hi) exitLong = ta.crossunder(close,vwap) shortCondition = ta.crossunder(close,lo) and (close < vwap) exitShort = ta.crossover(close,vwap) // Entries Exits if (longCondition) strategy.entry("Long", strategy.long) if (exitLong) strategy.close("Long") if (shortCondition) strategy.entry("Sell", strategy.short) if (exitShort) strategy.close("Sell")