Versão avançada do sistema de negociação de preço médio ponderado por volume e K-line sem sombras

VWAP HA SL TP IST ATR
Data de criação: 2025-02-21 14:49:07 última modificação: 2025-02-21 14:49:07
cópia: 0 Cliques: 423
2
focar em
319
Seguidores

Versão avançada do sistema de negociação de preço médio ponderado por volume e K-line sem sombras Versão avançada do sistema de negociação de preço médio ponderado por volume e K-line sem sombras

Visão geral

Trata-se de um sistema de negociação automática baseado na média sem fio da linha K ((Heikin-Ashi) e no preço médio ponderado por volume de transação ((VWAP)). A estratégia executa operações de compra e venda dentro de um horário de negociação definido, identificando uma forma específica da linha K, em combinação com a VWAP como um ponto de suporte / resistência dinâmico. O sistema usa um ponto de parada fixo para gerenciar o risco de perda e forçar posições livres em determinados horários do dia para evitar o risco durante a noite.

Princípio da estratégia

A lógica central da estratégia é baseada nos seguintes elementos-chave:

  1. O uso da linha K Heikin-Ashi em vez da linha K tradicional permite uma melhor identificação das tendências do mercado, calculado o valor médio do preço de abertura, do preço máximo, do preço mínimo e do preço de encerramento.
  2. Condições de compra: A linha verde Heikin-Ashi K (linha sem sombra) é formada e o preço está acima do VWAP.
  3. Condições de venda: A linha vermelha Heikin-Ashi K (linha sem sombra) é formada e o preço está abaixo do VWAP.
  4. O objetivo de parada é de 50 pontos fixos e o preço de custo é a posição de equilíbrio.
  5. Todos os posicionamentos não liquidados serão obrigatoriamente liquidados às 15:01.

Vantagens estratégicas

  1. A combinação de Heikin-Ashi e VWAP, dois indicadores tecnológicos poderosos, aumentou a confiabilidade dos sinais de transação.
  2. O requisito de um fio sem sombra garante um sinal de confirmação de tendência mais forte.
  3. A fixação do ponto de parada de perda ajuda no controle rigoroso do risco.
  4. A estratégia de negociação diária evita o risco do overnight.
  5. O sistema é totalmente automatizado, reduzindo a interferência emocional humana.

Risco estratégico

  1. O ponto de parada fixo pode não ser adequado para todas as condições de mercado, especialmente quando a volatilidade muda.
  2. A obrigação de um tempo de equilíbrio pode levar a uma perda de continuidade.
  3. A exigência rigorosa do sem fio pode levar a perder algumas oportunidades de negociação válidas.
  4. Os sinais falsos podem ocorrer com frequência no mercado de ativos.
  5. O valor de referência do VWAP pode ser reduzido durante períodos de baixo volume de transações.

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

  1. Introdução do ATR para ajustar dinamicamente o ponto de parada e de perda para que a estratégia se adapte melhor à volatilidade do mercado.
  2. Aumentar os filtros de tendência e reduzir os sinais falsos no mercado horizontal.
  3. Otimizar o tempo de liquidação, que pode ser ajustado de acordo com a dinâmica das características do mercado.
  4. Adição de filtros de volume de transações para melhorar a confiabilidade do indicador VWAP.
  5. A função de rastreamento de stop loss permite uma melhor proteção dos lucros.

Resumir

A estratégia, em combinação com os indicadores Heikin-Ashi e VWAP, constrói um robusto sistema de negociação intradiária. Embora haja algum espaço para otimização, a estrutura básica tem uma boa praticidade. Através da direção de otimização proposta, a estratégia tem perspectivas de melhor desempenho em diferentes condições de mercado.

Código-fonte da estratégia
/*backtest
start: 2024-07-16 00:00:00
end: 2025-02-19 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Binance","currency":"ETH_USDT"}]
*/

//@version=5
strategy("Buy and Sell Signal with VWAP and Timed Exit", overlay=true)

// VWAP Calculation
vwap = ta.vwap(close)

// Heikin-Ashi Formula
var float heikin_open = na
var float heikin_close = na

heikin_open := na(heikin_open[1]) ? (open + close) / 2 : (heikin_open[1] + heikin_close[1]) / 2
heikin_close := (open + high + low + close) / 4
heikin_high = math.max(high, math.max(heikin_open, heikin_close))
heikin_low = math.min(low, math.min(heikin_open, heikin_close))

// Conditions for Sell (Red Heikin-Ashi with no upper shadow) and Buy (Green Heikin-Ashi with no lower shadow)
no_upper_shadow = heikin_high == math.max(heikin_open, heikin_close)
no_lower_shadow = heikin_low == math.min(heikin_open, heikin_close)

// Condition for red (sell) and green (buy) Heikin-Ashi candles
is_red_candle = heikin_close < heikin_open
is_green_candle = heikin_close > heikin_open

// Buy and Sell Signal Conditions
sell_signal = is_red_candle and no_upper_shadow and close < vwap
buy_signal = is_green_candle and no_lower_shadow and close > vwap

// Check current time (for 15:01 IST)
is_after_1501 = (hour == 15 and minute > 1) or (hour > 15)

// Check for open positions
open_sell_position = strategy.position_size < 0
open_buy_position = strategy.position_size > 0

// Trigger Sell order only if no open sell position exists and time is before 15:01, and price is below VWAP
if sell_signal and not open_sell_position and not is_after_1501
    strategy.entry("Sell", strategy.short)

// Trigger Buy order only if no open buy position exists and time is before 15:01, and price is above VWAP
if buy_signal and not open_buy_position and not is_after_1501
    strategy.entry("Buy", strategy.long)

// Define exit condition for Sell (opposite of Buy conditions)
exit_sell_condition = false

if open_sell_position
    entry_price = strategy.position_avg_price  // Get the average entry price for Sell
    current_price = close  // Current market price for Sell

    // Exit conditions for Sell
    exit_sell_condition := current_price > entry_price or entry_price - current_price >= 50

    // Exit if conditions are met
    if exit_sell_condition
        strategy.close("Sell")

// Define exit condition for Buy (opposite of Sell conditions)
exit_buy_condition = false

if open_buy_position
    entry_price = strategy.position_avg_price  // Get the average entry price for Buy
    current_price = close  // Current market price for Buy

    // Exit conditions for Buy
    exit_buy_condition := current_price < entry_price or current_price - entry_price >= 50

    // Exit if conditions are met
    if exit_buy_condition
        strategy.close("Buy")

// Exit at 15:01 IST for both Buy and Sell if not already exited
if (open_sell_position or open_buy_position) and (hour == 15 and minute == 1)
    strategy.close("Sell")
    strategy.close("Buy")

// Plot VWAP
plot(vwap, color=color.blue, linewidth=2, title="VWAP")

// Plot Heikin-Ashi Candles
plotcandle(heikin_open, heikin_high, heikin_low, heikin_close, color = is_red_candle ? color.red : (is_green_candle ? color.green : color.gray))

// Plot Sell signal on the chart
plotshape(sell_signal and not open_sell_position and not is_after_1501, style=shape.labeldown, location=location.abovebar, color=color.red, text="SELL", size=size.small)

// Plot Buy signal on the chart
plotshape(buy_signal and not open_buy_position and not is_after_1501, style=shape.labelup, location=location.belowbar, color=color.green, text="BUY", size=size.small)

// Plot Exit signals on the chart
plotshape(exit_sell_condition and open_sell_position, style=shape.labelup, location=location.belowbar, color=color.blue, text="EXIT SELL", size=size.small)
plotshape(exit_buy_condition and open_buy_position, style=shape.labeldown, location=location.abovebar, color=color.blue, text="EXIT BUY", size=size.small)