Estratégia de stop-profit e stop-loss dinâmica longa e curta com base em VWAP e sinais de período cruzado


Data de criação: 2024-03-08 17:37:21 última modificação: 2024-03-08 17:37:21
cópia: 7 Cliques: 693
1
focar em
1617
Seguidores

Estratégia de stop-profit e stop-loss dinâmica longa e curta com base em VWAP e sinais de período cruzado

Visão geral

A estratégia usa o VWAP da linha do sol como sinal de entrada e saída. Quando o preço de fechamento atravessa o VWAP, o stop loss é a baixa da linha K anterior abaixo do VWAP e o preço de meta é 3 pontos acima do preço de abertura. Quando o preço de fechamento atravessa o VWAP, o stop loss é a baixa e o stop loss é a alta da linha K anterior acima do VWAP e o preço de meta é 3 pontos abaixo do preço de abertura.

Princípio da estratégia

  1. Obtenção de dados VWAP do Sol, como base para julgamento de tendências e sinais de negociação.
  2. A determinação de se o preço de fechamento atual está acima ou abaixo do VWAP, como condição de disparo para fazer mais ou fazer menos.
  3. Quando fazemos um plus, se o primeiro K-line estiver abaixo do VWAP, ele é usado como ponto de parada, caso contrário, o VWAP é usado diretamente como ponto de parada; o shorting é o oposto.
  4. Depois de abrir a posição, configure 3 pontos de parada fixos.
  5. A estratégia continua a ser executada até que um sinal de inversão seja ativado para fechar e abrir novas posições.

A determinação de tendências através de dados VWAP de vários períodos, ao mesmo tempo em que se utiliza o stop loss dinâmico e o stop loss de pontos fixos, permite capturar efetivamente a tendência, controlar o risco de retração e bloquear os lucros em tempo hábil.

Análise de vantagens

  1. Simples e eficaz: a lógica da estratégia é clara, usando apenas um indicador VWAP, você pode realizar o julgamento de tendências e acionamento de sinais, simples e fácil de implementar e otimizar.
  2. Stop loss dinâmico: O Stop loss pode ser melhor adaptado às flutuações do mercado, reduzindo o risco, de acordo com o alto e baixo ponto da linha K anterior.
  3. Fixed Point Stop: Estabelecer um preço-alvo com um número fixo de pontos ajuda a bloquear os lucros em tempo hábil e evitar o retorno dos lucros.
  4. Parar a parada de perda em tempo: a estratégia de liquidar imediatamente a posição quando o sinal de reversão é acionado, sem causar perdas adicionais à posição já lucrativa, e abrir novas posições para capturar novas tendências.

Análise de Riscos

  1. Optimização de parâmetros: a estratégia usa 3 pontos fixos como parâmetros de parada, e a negociação real pode exigir otimização de acordo com diferentes parâmetros e características do mercado, selecionando os melhores parâmetros.
  2. Situações de turbulência: Em situações de turbulência, entradas e saídas frequentes podem levar a custos de transação mais elevados, afetando os lucros.
  3. Continuidade de tendência: a estratégia depende da tendência, e se o mercado estiver em um período de turbulência ou se a tendência for menos persistente, pode haver mais sinais de negociação, trazendo mais risco.

Direção de otimização

  1. Filtragem de tendências: adicionar outros indicadores de tendências, como médias móveis, MACD, etc., para uma segunda confirmação da tendência, aumentando a confiabilidade do sinal.
  2. Paradas dinâmicas: De acordo com a volatilidade do mercado, ATR e outros indicadores, ajuste o número de pontos de parada para melhor se adaptar ao mercado.
  3. Gerenciamento de posições: Adaptação dinâmica do tamanho das posições em cada transação, de acordo com o capital da conta, as preferências de risco e outros fatores.
  4. Escolha do momento de negociação: escolha o melhor momento de negociação para aumentar a eficiência da estratégia, de acordo com as características do indicador e a atividade de negociação.

Resumir

A estratégia usa dados VWAP de períodos intercalares para julgar tendências e desencadear sinais, além de controlar o risco e bloquear os lucros usando paradas dinâmicas e paradas de pontos fixos. É uma estratégia de negociação quantitativa simples e eficaz. A otimização de filtragem de tendências, paradas dinâmicas, gerenciamento de posição e seleção de períodos de negociação pode aumentar ainda mais a solidez e o potencial de ganhos da estratégia.

Código-fonte da estratégia
/*backtest
start: 2024-03-06 00:00:00
end: 2024-03-07 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy('Pine Script Tutorial Example Strategy 1', overlay=true, initial_capital=1000, default_qty_value=100, default_qty_type=strategy.percent_of_equity)
// fastEMA = ta.ema(close, 24)
// slowEMA = ta.ema(close, 200)
// Higher Time Frame
float sl = na
float tgt = na
posSize = 1
vwap_1d = request.security(syminfo.tickerid, "1D", ta.vwap(close))
// plot(vwap_1d)

// To avoid differences on historical and realtime bars, you can use this technique, which only returns a value from the higher timeframe on the bar after it completes:
// indexHighTF = barstate.isrealtime ? 1 : 0
// indexCurrTF = barstate.isrealtime ? 0 : 1
// nonRepaintingVWAP = request.security(syminfo.tickerid, "1D", close[indexHighTF])[indexCurrTF]
// plot(nonRepaintingVWAP, "Non-repainting VWAP")

enterLong = ta.crossover(close, vwap_1d)
exitLong  = ta.crossunder(close, vwap_1d)

enterShort = ta.crossunder(close, vwap_1d)
exitShort  = ta.crossover(close, vwap_1d)

if enterLong
    sl := low[1]>vwap_1d ?low[1]:vwap_1d
    tgt:=close+3
    strategy.entry("EL", strategy.long, qty=posSize)
    strategy.exit('exitEL', 'EL', stop=sl, limit=tgt)
if enterShort
    sl := high[1]<vwap_1d ?high[1]:vwap_1d
    tgt := close-3
    strategy.entry("ES", strategy.short, qty=posSize)
    strategy.exit('exitES', 'ES', stop=sl, limit=tgt)

// if exitLong
//     strategy.close("EL")
// if exitShort
//     strategy.close("ES")





// goLongCondition1 = ta.crossover(close, vwap_1d)
// timePeriod = time >= timestamp(syminfo.timezone, 2021, 01, 01, 0, 0)
// notInTrade = strategy.position_size <= 0
// if goLongCondition1 and timePeriod and notInTrade
//     stopLoss = low[1]
//     takeProfit = close+3
//     strategy.entry('long', strategy.long)
//     strategy.exit('exit', 'long', stop=stopLoss, limit=takeProfit)
plot(close, color=color.new(#00c510, 0))
plot(vwap_1d, color=color.new(#f05619, 0))
plot(sl, color=color.new(#fbff00, 0))
plot(tgt, color=color.new(#00e1ff, 0))