Estratégia importante de reversão do ponto de pivô


Data de criação: 2024-01-29 14:58:15 última modificação: 2024-01-29 14:58:15
cópia: 1 Cliques: 682
1
focar em
1617
Seguidores

Estratégia importante de reversão do ponto de pivô

Visão geral

A estratégia é otimizada com base na tradicional estratégia de inversão de suportes, principalmente através da computação do ATR e da configuração do fator de filtragem do ATR, para filtrar alguns suportes sem sentido e negociar apenas aqueles que realmente são importantes.

Princípio da estratégia

A lógica central da estratégia é calcular os principais pontos altos e baixos. Os principais passos para calcular os pontos altos são:

  1. Calcule o ATR e configure o fator de filtragem ATRatr_mult。
  2. percorrer um certo número de linhas K à esquerda (configurado por leftBars) + ATR se o ponto alto do suporte for maior do que o ponto alto de qualquer uma das linhas K à esquerda*atr_mult, então o suporte não é válido.
  3. percorrer um certo número de linhas K à direita ((configurado por rightBars), se o ponto de apoio do ponto mais alto for maior que o ponto mais alto de qualquer uma das linhas K à direita + ATR*atr_mult, então o suporte não é válido.
  4. Se o suporte do ponto alto ainda for válido após a verificação acima, retorne o ponto alto como suporte do ponto alto importante.

A lógica para calcular o ponto mais baixo é semelhante.

Depois de obter um ponto de apoio importante, faça um curto-circuito quando o preço quebra o ponto de apoio importante; quando o preço quebra o ponto de apoio importante, faça mais.

Análise de vantagens

As principais vantagens desta estratégia são:

  1. Através dos parâmetros de filtragem ATR e atr_mult, pode-se filtrar pequenas flutuações sem sentido, apenas negociando pontos de apoio realmente importantes, evitando transações sem sentido.
  2. Os parâmetros ATR podem ser ajustados dinamicamente para ajustar automaticamente o alcance das negociações em mercados com grande volatilidade, evitando o excesso de negociação.
  3. A estratégia de inversão de ponto de apoio tem uma taxa de vitória e de lucro mais elevada.

Análise de Riscos

Os principais riscos desta estratégia são:

  1. A configuração incorreta do parâmetro ATR pode filtrar muitas oportunidades de negociação efetivas. Se o ATR for muito grande, os pontos de apoio efetivos também podem ser filtrados.
  2. A estratégia de reversão de pontos de apoio, por si só, ainda apresenta o risco de ser presa, e o risco deve ser controlado através de uma estratégia de stop loss.
  3. A estratégia de inversão de classes é sensível ao custo de transação e requer um stop loss e um stop loss razoavelmente configurados.

Para controlar os riscos acima mencionados, pode-se otimizar a partir dos seguintes aspectos:

  1. Optimizar os parâmetros do ATR para garantir oportunidades de negociação suficientes.
  2. Estabeleça uma proporção razoável de stop loss.
  3. Ajustar adequadamente o número de apostas abertas para reduzir o impacto dos custos de transação.

Direção de otimização

A estratégia pode ser melhorada em várias direções:

  1. Em combinação com outros indicadores para avaliar o estado da tendência do mercado, evitar que a reversão de negociação apareça em uma situação de tendência. Pode ser considerado a inclusão de indicadores como MACD, KDJ e outros.

  2. Adicionar algoritmos de aprendizagem de máquina para otimizar automaticamente os parâmetros. Pode usar algoritmos genéticos, florestas aleatórias e outros métodos para encontrar a combinação ideal de parâmetros.

  3. Adicionar dados quantitativos para treinar e encontrar o melhor intervalo de ATR. Adicionar dados históricos pode melhorar a precisão da seleção de parâmetros.

  4. Pode-se considerar a utilização em combinação com outras estratégias, combinando os benefícios de diferentes tipos de estratégias. Por exemplo, a combinação com a estratégia de acompanhamento de tendências, a reversão na liquidação e a tendência na tendência.

Resumir

Esta estratégia de reversão de pontos importantes pode aumentar o nível de lucro da estratégia, filtrando as pequenas flutuações sem sentido através da computação do ATR e do método de configuração do fator de filtragem. A negociação de reversão apenas em pontos importantes também aumenta a dificuldade de otimização de certos parâmetros.

Código-fonte da estratégia
/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("QuantNomad - Significant Pivot Reversal Strategy", shorttitle = "SPPS", overlay=true)

// Inputs 
leftBars   = input(4,   title = 'PP Left Bars')
rightBars  = input(2,   title = 'PP Right Bars')
atr_length = input(14,  title = 'ATR Length')
atr_mult   = input(0.1, title = 'ATR Mult')

// Pivot High Significant Function
pivotHighSig(left, right) =>
    pp_ok = true
    atr   = atr(atr_length)
    
    for i = 1 to left
        if (high[right] < high[right+i] + atr * atr_mult)
            pp_ok := false
    for i = 0 to right-1
        if (high[right] < high[i] + atr * atr_mult)
            pp_ok := false
    
    pp_ok ? high[right] : na

// Pivot Low Significant Function
pivotLowSig(left, right) =>
    pp_ok = true
    atr   = atr(atr_length)
    
    for i = 1 to left
        if (low[right] > low[right+i] - atr * atr_mult)
            pp_ok := false
    for i = 0 to right-1
        if (low[right] > low[i] - atr * atr_mult)
            pp_ok := false
    
    pp_ok ? low[right] : na


swh = pivotHighSig(leftBars, rightBars)
swl = pivotLowSig (leftBars, rightBars)

swh_cond = not na(swh)

hprice = 0.0
hprice := swh_cond ? swh : hprice[1]

le = false
le := swh_cond ? true : (le[1] and high > hprice ? false : le[1])

if (le)
    strategy.entry("PivRevLE", strategy.long, comment="PivRevLE", stop=hprice + syminfo.mintick)

swl_cond = not na(swl)

lprice = 0.0
lprice := swl_cond ? swl : lprice[1]


se = false
se := swl_cond ? true : (se[1] and low < lprice ? false : se[1])

if (se)
    strategy.entry("PivRevSE", strategy.short, comment="PivRevSE", stop=lprice - syminfo.mintick)