Estratégia de penetração dinâmica de preços para cima e para baixo da VWMA durante o horário de negociação

VWMA ATR 交易时段 动态支撑阻力 价格穿透 交易信号
Data de criação: 2025-02-28 10:22:57 última modificação: 2025-02-28 10:22:57
cópia: 0 Cliques: 441
2
focar em
319
Seguidores

Estratégia de penetração dinâmica de preços para cima e para baixo da VWMA durante o horário de negociação Estratégia de penetração dinâmica de preços para cima e para baixo da VWMA durante o horário de negociação

Visão geral

A estratégia de penetração acima e abaixo do preço dinâmico VWMA é um sistema de negociação quantitativa baseado em médias móveis ponderadas por volume de transação (VWMA) no momento de negociação do dia. A estratégia é especialmente adequada para o período de tempo de 1 minuto, gerando um sinal de compra e venda monitorando a relação entre o preço e o VWMA reajustado para cada dia de negociação. A lógica central da estratégia é a de desencadear um sinal de negociação quando o preço quebra completamente o VWMA.

Princípio da estratégia

O princípio central da estratégia é usar o VWMA recalculado a cada dia de negociação como uma linha de referência dinâmica para identificar potenciais oportunidades de negociação através da relação de preço com a posição relativa da linha de referência. O princípio de trabalho detalhado da estratégia é o seguinte:

  1. Calculação VWMA do período de negociaçãoA estratégia usa o indicador VWMA de 55 anos de duração, mas, ao contrário do tradicional VWMA, o indicador é recalculado no início de cada dia de negociação, garantindo que o VWMA reflita com mais precisão o sentimento do mercado do dia.

  2. Mecanismo de geração de sinais

    • Sinais de compra: são acionados quando o preço mínimo do gráfico é totalmente superior ao VWMA e o gráfico anterior não atende a essa condição
    • Sinais de venda: são acionados quando o preço máximo do gráfico de barras está completamente abaixo do VWMA e o barril anterior não atende a essa condição
  3. Lógica de controle de transaçãoA estratégia implementa um mecanismo de controle de transação inteligente que impede a entrada repetida de sinais consecutivos de identidade, ou seja, após o sinal de compra, deve haver um sinal de venda para comprar novamente, e vice-versa.

  4. Cessação automática da posiçãoEstratégia: Automatizar a liquidação de todas as posições em 15:29 (hora local) todos os dias, garantindo que não haja posições de noite, evitando o risco de noite.

  5. Gestão de múltiplos postosA estratégia permite a aquisição de posições em pirâmides de até 10 níveis, com o gerenciamento de fundos a utilizar 10% dos direitos e interesses da conta para o controle de posições.

Vantagens estratégicas

Ao analisar o código em profundidade, a estratégia mostra as seguintes vantagens significativas:

  1. Adaptação temporalA estratégia pode ser melhor adaptada às condições do mercado diário, sem ser influenciada excessivamente pelos dados históricos, reajustando a VWMA para cada dia de negociação.

  2. Um sinal de entrada claro.A estratégia exige que o preço quebre completamente a VWMA antes de disparar o sinal, reduzindo o erro de julgamento em situações de brechas falsas e oscilações.

  3. Controle de direçãoA estratégia evita entradas consecutivas na mesma direção, exigindo que seja necessário ter uma mudança de direção para entrar novamente, reduzindo efetivamente o risco de operações frequentes.

  4. Controle de RiscoO mecanismo de liquidação automática de hora fixa diária evita os riscos do dia-a-dia e é adequado para os operadores de linha curta durante o dia.

  5. Potencial de alta taxa de vitóriaDe acordo com a descrição da estratégia, os sinais de venda, em particular, têm um desempenho excelente, com uma taxa de vitória superior a 65%, oferecendo uma maior probabilidade de sucesso para os comerciantes.

  6. Gestão de posições flexívelA estratégia de aquisição de posições em pirâmide, que permite aumentar as posições e maximizar o potencial de ganhos, se a tendência continuar.

Risco estratégico

Apesar das vantagens desta estratégia, existem os seguintes riscos potenciais:

  1. Limitação de tempoA estratégia indica explicitamente que o melhor é o período de 1 minuto, mas pode não funcionar bem em outros períodos, o que limita a aplicação da estratégia.

  2. Os sinais de compra são relativamente fracos.A descrição da estratégia menciona que os sinais de compra precisam ter um ponto de parada e um ponto de parada fixos, o que sugere que os sinais de compra são menos confiáveis do que os sinais de venda, o que pode limitar a lucratividade das operações de compra.

  3. Dependência de condições de mercadoO VWMA, como principal indicador, pode produzir uma grande quantidade de falsos sinais em mercados de baixa e baixa, e a estratégia pode funcionar melhor em mercados de alta tendência.

  4. Risco de liquidação em tempo fixoA fixação de uma posição de equilíbrio em 15:29 pode levar a uma saída antecipada em condições favoráveis, perdendo parte da oportunidade de lucro.

  5. Sensibilidade do parâmetroO comprimento VWMA 55 é um parâmetro fixo, que pode exigir configurações de parâmetros diferentes em diferentes ambientes de mercado, e pode não ser adaptado a todas as condições de mercado.

Métodos de mitigação de riscos:

  • Recomenda-se a implementação de paradas rigorosas e de metas de lucro para os problemas de sinais de compra relativamente fracos.
  • Considerar a adição de condições de filtragem do cenário de mercado, aplicando estratégias apenas no cenário de mercado apropriado
  • Desenvolvimento de um mecanismo de ajuste de parâmetros adaptativos, permitindo que o comprimento do VWMA seja ajustado automaticamente de acordo com as mudanças do mercado

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

Com base na análise de código, a estratégia pode ser otimizada nas seguintes direções:

  1. Aumentar a filtragem de mercadoIntrodução de indicadores de volatilidade ou intensidade de tendência como condição de filtragem, gerando sinais somente em um ambiente de mercado apropriado, por exemplo, se o mercado atual é adequado para a estratégia por meio de indicadores ATR ou ADX.

  2. Optimizar o parâmetro VWMA: Realizar a auto-adaptação do comprimento do VWMA, ajustando os parâmetros de acordo com a dinâmica de volatilidade do mercado, para que a estratégia se adapte melhor a diferentes condições de mercado. Isso pode ser feito associando o comprimento do VWMA à taxa de volatilidade do mercado.

  3. Mecanismo de confirmação de sinal reforçadoIntrodução de indicadores técnicos adicionais ou modelos de preços como condição de confirmação para melhorar a qualidade do sinal. Por exemplo, pode ser combinado com indicadores como RSI, MACD e outros para a confirmação do sinal.

  4. Melhorias na estratégia de liquidaçãoAlém de posições de liquidação a tempo fixo, adicione regras de liquidação dinâmicas baseadas em condições de mercado, como retirada de lucros, atingimento de metas ou reversão de indicadores técnicos.

  5. Processamento de sinais de compra e venda diferenciadosDesenvolver estratégias de gerenciamento específicas para as diferentes características de desempenho dos sinais de compra e venda, como uma gestão de posição mais conservadora e uma estratégia de stop loss mais rigorosa para os sinais de compra.

  6. Otimização da gestão de fundosA implementação de um mecanismo de gestão de fundos mais flexível, que ajusta a proporção de fundos em cada transação de acordo com a intensidade do sinal, a volatilidade do mercado e a dinâmica do desempenho histórico.

Essas orientações de otimização visam aumentar a robustez e a adaptabilidade da estratégia, mantendo suas características originais de alta taxa de vitória.

Resumir

A estratégia de penetração de preços dinâmicos de VWMA para cima e para baixo durante o período de negociação é um sistema de negociação diária elaborado para gerar sinais de negociação usando o VWMA realocado diariamente como uma linha de referência dinâmica, combinando a condição de que o preço quebre completamente essa linha de referência. A estratégia é especialmente adequada para o período de 1 minuto, e o seu sinal de venda é particularmente bom, com uma taxa de vitória superior a 65%.

As principais vantagens de uma estratégia são a sua adaptabilidade às condições do mercado atual, condições de entrada claras e mecanismos eficazes de controle de risco. No entanto, a estratégia também apresenta riscos potenciais, tais como limitações de prazo, sinais de compra relativamente fracos e dependência das condições do mercado.

A estratégia tem o potencial de melhorar ainda mais a sua estabilidade e rentabilidade através do aumento da filtragem do ambiente de mercado, a implementação de parâmetros de adaptação, o reforço do mecanismo de confirmação de sinais e a melhoria da estratégia de posicionamento. Em geral, é uma estratégia de negociação com uma estrutura clara e uma lógica rigorosa, especialmente adequada para os comerciantes do dia que buscam alta taxa de ganho e controle de risco.

Para os comerciantes que desejam aplicar esta estratégia, é recomendável que primeiro façam testes completos em ambientes simulados, prestando especial atenção ao desempenho dos sinais de compra e ajustando a configuração de parâmetros e as regras de gerenciamento de fundos de acordo com a própria tolerância ao risco e os objetivos de negociação.

Código-fonte da estratégia
/*backtest
start: 2024-02-29 00:00:00
end: 2025-02-26 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("SVWMA Lx", overlay=true, initial_capital=100000, 
     default_qty_type=strategy.percent_of_equity, default_qty_value=10, pyramiding=10, calc_on_every_tick=true)

//──────────────────────────────
// Session VWMA Inputs
//──────────────────────────────
vwmaLen   = input.int(55, title="VWMA Length", inline="VWMA", group="Session VWMA")
vwmaColor = input.color(color.orange, title="VWMA Color", inline="VWMA", group="Session VWMA", tooltip="VWMA resets at the start of each session (at the opening of the day).")

//──────────────────────────────
// Session VWMA Calculation Function
//──────────────────────────────
day_vwma(_start, s, l) =>
    bs_nd = ta.barssince(_start)
    v_len = math.max(1, bs_nd < l ? bs_nd : l)
    ta.vwma(s, v_len)

//──────────────────────────────
// Determine Session Start
//──────────────────────────────
newSession = ta.change(time("D")) != 0

//──────────────────────────────
// Compute Session VWMA
//──────────────────────────────
vwmaValue = day_vwma(newSession, close, vwmaLen)
plot(vwmaValue, color=vwmaColor, title="Session VWMA")

//──────────────────────────────
// Define Signal Conditions (only on transition)
//──────────────────────────────
bullCond = low > vwmaValue      // Bullish: candle low above VWMA
bearCond = high < vwmaValue     // Bearish: candle high below VWMA

// Trigger signal only on the bar where the condition first becomes true
bullSignal = bullCond and not bullCond[1]
bearSignal = bearCond and not bearCond[1]

//──────────────────────────────
// **Exit Condition at 15:29 IST**
//──────────────────────────────
sessionEnd = hour == 15 and minute == 29

// Exit all positions at 15:29 IST
if sessionEnd
    strategy.close_all(comment="Closing all positions at session end")

//──────────────────────────────
// **Trade Control Logic** (Prevents consecutive same-side signals)
//──────────────────────────────
var bool lastTradeWasBuy = false  // Track last trade direction **Reset Direction At Session End**
var bool lastTradeWasSell = false // Track last trade direction **Reset Direction At Session End**
// Reset at new session
if newSession
    lastTradeWasBuy := true
    lastTradeWasSell := true

//──────────────────────────────
// **Position Management: Entry & Labels**
//──────────────────────────────
if bullSignal and not lastTradeWasBuy  //
    if strategy.position_size < 0
        strategy.close("Short", comment="Exit Short on Bull Signal")
        strategy.entry("Long", strategy.long, comment="Enter Long: Buy Call & Sell Put at ATM")
    else
        strategy.entry("Long", strategy.long, comment="Add Long: Buy Call & Sell Put at ATM")

    // Add BUY Label above entry candle
    label.new(x=bar_index, y=low - ta.atr(5) * 0.5, text="BUY", color=color.green, textcolor=color.white, size=size.small,  style=label.style_label_up, xloc=xloc.bar_index)

    lastTradeWasBuy := true  // Mark that the last trade was a Buy

if bearSignal and lastTradeWasBuy  //
    if strategy.position_size < 0
        strategy.close("Long", comment="Exit Long on Bear Signal")
        strategy.entry("Short", strategy.short, comment="Enter Short: Buy Put & Sell Call at ATM")
    else
        strategy.entry("Short", strategy.short, comment="Add Short: Buy Put & Sell Call at ATM")

    // Add SELL Label below candle 
    label.new(x=bar_index, y=high + ta.atr(5) * 0.5,  text="SELL", color=color.red, textcolor=color.white, size=size.small, style=label.style_label_down, xloc=xloc.bar_index)

    lastTradeWasBuy := false  // Mark that the last trade was a Sell

//──────────────────────────────
// **Updated Alert Conditions**
//──────────────────────────────
alertcondition(bullSignal and not lastTradeWasBuy, 
     title="Long Entry Alert", 
     message="Bullish signal: BUY CALL & SELL PUT at ATM. Entry allowed.")

alertcondition(bearSignal and lastTradeWasBuy, 
     title="Short Entry Alert", 
     message="Bearish signal: BUY PUT & SELL CALL at ATM. Entry allowed.")