Estratégia de rastreamento de reversão de momentum baseada em SAR


Data de criação: 2024-02-04 17:40:20 última modificação: 2024-02-04 17:40:20
cópia: 0 Cliques: 620
1
focar em
1617
Seguidores

Estratégia de rastreamento de reversão de momentum baseada em SAR

Visão geral

Este artigo apresenta uma estratégia de rastreamento de reversão de dinâmica baseada no indicador de parada de perda de paralelo para a linha paralela (SAR parabólico). A estratégia usa o indicador de SAR parabólico para identificar reversões de tendências potenciais no mercado de futuros de Nifty e realizar negociações de rastreamento de tendências automatizadas.

A estratégia é aplicada principalmente para os comerciantes que preferem métodos de negociação sistematizados, pois fornece sinais claros de entrada e saída. Capturando as tendências do mercado, a estratégia ajuda a atingir os objetivos financeiros dos comerciantes.

Princípio da estratégia

A estratégia usa o indicador Parabolic SAR para determinar a direção da tendência de preços. Em uma tendência de alta, o valor do SAR está abaixo da quebra de preços e sobe gradualmente com o surgimento de novas altas; em uma tendência de baixa, o valor do SAR está acima da quebra de preços e desce gradualmente com o surgimento de novas baixas.

Quando o SAR aumenta ou diminui o preço, indicando uma potencial reversão de tendência, a estratégia pode fazer um curto-circuito ou um longo-circuito para capturar a nova direção da tendência.

Concretamente, após o cálculo inicial do valor do SAR atual e do fator de aceleração, a estratégia continua a rastrear novos altos ou baixos do preço e ajusta o valor do SAR de acordo. Na linha K confirmada, se for uma tendência de baixa, faça um curto-circuito abaixo do valor do SAR; se for uma tendência de baixa, faça mais acima do valor do SAR.

Análise de vantagens estratégicas

  • Para capturar uma inversão de mercado, use o indicador clássico Parabolic SAR
  • Fornecer sinais claros e sistemáticos de entrada e saída do mercado
  • Ajuda a acompanhar a tendência e a obter movimentos adicionais de preços
  • Sistemas de negociação automatizados, sem decisões humanas

Análise de Riscos

  • Indicadores de SAR não são 100% confiáveis e podem apresentar sinais errados
  • Falha de reversão pode causar parada
  • A necessidade de considerar o impacto da estratégia no prazo de vencimento dos contratos
  • Necessidade de considerar o impacto dos custos de transação na rentabilidade estratégica

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

  • Optimizar os parâmetros do indicador SAR (longe de passo, valor inicial, valor máximo, etc.)
  • Em combinação com outros indicadores de sinais de inversão (como RSI, MACD, etc.)
  • Aumentar a lógica condicional (como o volume de transações) para filtrar os sinais de erro
  • Considerar a adaptação do stop-loss fixo para o stop-loss de seguimento
  • Considere ajustar automaticamente o tamanho da posição

Resumir

A estratégia oferece um sistema de negociação que capta a reversão da tendência do mercado usando a automação do indicador Parabolic SAR. Ela fornece um sinal claro de entrada e saída para as decisões de negociação, ajudando a acompanhar a tendência para obter lucro. Mas também precisa considerar problemas como sinais de erro do indicador, risco de parada.

Código-fonte da estratégia
/*backtest
start: 2024-01-27 00:00:00
end: 2024-02-03 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Positional Parabolic SAR Strategy", overlay=true)
initial = input(0.02)
step = input(0.02)
cap = input(0.2)
var bool isUptrend = na
var float Extremum = na
var float SARValue = na
var float Accelerator = initial
var float futureSAR = na

if bar_index > 0
    isNewTrendBar = false
    SARValue := futureSAR
    if bar_index == 1
        float pastSAR = na
        float pastExtremum = na
        previousLow = low[1]
        previousHigh = high[1]
        currentClose = close
        pastClose = close[1]
        if currentClose > pastClose
            isUptrend := true
            Extremum := high
            pastSAR := previousLow
            pastExtremum := high
        else
            isUptrend := false
            Extremum := low
            pastSAR := previousHigh
            pastExtremum := low
        isNewTrendBar := true
        SARValue := pastSAR + initial * (pastExtremum - pastSAR)
    if isUptrend
        if SARValue > low
            isNewTrendBar := true
            isUptrend := false
            SARValue := math.max(Extremum, high)
            Extremum := low
            Accelerator := initial
    else
        if SARValue < high
            isNewTrendBar := true
            isUptrend := true
            SARValue := math.min(Extremum, low)
            Extremum := high
            Accelerator := initial
    if not isNewTrendBar
        if isUptrend
            if high > Extremum
                Extremum := high
                Accelerator := math.min(Accelerator + step, cap)
        else
            if low < Extremum
                Extremum := low
                Accelerator := math.min(Accelerator + step, cap)
    if isUptrend
        SARValue := math.min(SARValue, low[1])
        if bar_index > 1
            SARValue := math.min(SARValue, low[2])
    else
        SARValue := math.max(SARValue, high[1])
        if bar_index > 1
            SARValue := math.max(SARValue, high[2])
    futureSAR := SARValue + Accelerator * (Extremum - SARValue)
    if barstate.isconfirmed
        if isUptrend
            strategy.entry("ShortEntry", strategy.short, stop=futureSAR, comment="ShortEntry")
            strategy.cancel("LongEntry")
        else
            strategy.entry("LongEntry", strategy.long, stop=futureSAR, comment="LongEntry")
            strategy.cancel("ShortEntry")
plot(SARValue, style=plot.style_cross, linewidth=3, color=color.white)
plot(futureSAR, style=plot.style_cross, linewidth=3, color=color.red)