
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.
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:
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.
Mecanismo de geração de sinais:
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.
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.
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.
Ao analisar o código em profundidade, a estratégia mostra as seguintes vantagens significativas:
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.
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.
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.
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.
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.
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.
Apesar das vantagens desta estratégia, existem os seguintes riscos potenciais:
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.
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.
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.
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.
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:
Com base na análise de código, a estratégia pode ser otimizada nas seguintes direções:
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.
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.
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.
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.
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.
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.
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.
/*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.")