Estratégia de Trailing Stop Loss do SAR Parabólico


Data de criação: 2023-09-16 18:54:28 última modificação: 2023-09-16 18:54:28
cópia: 0 Cliques: 992
1
focar em
1617
Seguidores

Visão geral

A estratégia de stop loss parabólica de SAR é uma estratégia de negociação baseada no indicador de SAR parabólico. A estratégia é projetada para identificar o ponto de reversão da tendência e sair da posição em tempo hábil quando a tendência se inverte.

Princípio da estratégia

O indicador SAR parabólico é capaz de identificar a tendência dos preços e dar um potencial sinal de reversão. Quando o SAR atravessa a linha K, representa a passagem de uma cabeça para a cabeça vazia; Quando o SAR atravessa a linha K abaixo, representa a passagem de uma cabeça vazia para a cabeça vazia.

A estratégia baseia-se nesta característica do indicador Parabolic SAR, que identifica uma reversão de tendência quando o SAR atravessa a linha K e executa uma operação de plus ou de minus de acordo. Concretamente, a lógica da estratégia é a seguinte:

  1. Calcule o valor do SAR parabólico.

  2. Determine se há um sinal de reversão de tendência. Se o ponto SAR atravessar de cima para baixo da linha K, representando um sinal de cabeceira vazia, faça o vazio; Se o ponto SAR atravessar de baixo para cima da linha K, representando um sinal de cabeceira múltipla, faça mais.

  3. Abrir uma posição quando a travessia ocorre e parar a posição quando ela atravessa a linha K novamente com o SAR invertido.

Vantagens estratégicas

  • Utilize o indicador Parabolic SAR para identificar pontos de reversão de tendências e evitar operações de reversão de tendências.

  • A partir daí, os investidores podem começar a investir rapidamente em ações e capturar as mudanças de tendência.

  • Definir o ponto de parada do SAR para atravessar novamente a linha K, para que o SAR possa parar rapidamente e controlar os prejuízos em tempo hábil.

  • A estratégia é simples, clara e fácil de implementar.

Riscos e resposta

  • O indicador de SAR parabólico pode gerar uma grande quantidade de falsos sinais, causando transações desnecessárias. Os parâmetros do SAR podem ser adequadamente ajustados, reduzindo a taxa de falsos sinais.

  • Em mercados de rápida reversão, é fácil ser enganado. Pode-se considerar o aumento de condições de filtragem para evitar períodos de forte volatilidade.

  • O ponto de parada muito próximo pode ser muito freqüente. A largura de parada pode ser adequadamente relaxada, dando ao preço um certo espaço de retorno.

  • Considerando que apenas um indicador é suscetível a restrições de um determinado mercado, pode-se considerar a adição de outros indicadores ou condições de filtragem para aumentar a adequação.

Resumir

A estratégia de parada de parada parabólica do SAR utiliza a capacidade de identificação de tendências do indicador Parabolic SAR para mudar de direção rapidamente quando a tendência se inverte. A estratégia é simples, clara e fácil de entender.

Código-fonte da estratégia
/*backtest
start: 2023-08-16 00:00:00
end: 2023-09-15 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="Parabolic SAR Strategy (on close) [QuantNomad]", shorttitle="SAR Strategy [QN]", overlay=true)

start     = input(0.02)
increment = input(0.02)
maximum   = input(0.2)

psar      = 0.0 // PSAR
af        = 0.0 // Acceleration Factor
trend_dir = 0   // Current direction of PSAR
ep        = 0.0 // Extreme point

sar_long_to_short = trend_dir[1] == 1  and close <= psar[1] // PSAR switches from long to short
sar_short_to_long = trend_dir[1] == -1 and close >= psar[1] // PSAR switches from short to long

trend_change = barstate.isfirst[1] or sar_long_to_short or sar_short_to_long

// Calculate trend direction
trend_dir    := barstate.isfirst[1] and close[1] > open[1] ? 1 : 
   barstate.isfirst[1] and close[1] <= open[1] ? -1 : 
   sar_long_to_short ? -1 : 
   sar_short_to_long ?  1 : nz(trend_dir[1])

// Calculate  Acceleration Factor
af := trend_change ? start : 
   (trend_dir == 1 and high > ep[1]) or  
   (trend_dir == -1 and low < ep[1]) ? 
   min(maximum, af[1] + increment) : 
   af[1]

// Calculate extreme point
ep := trend_change and trend_dir == 1 ? high :  
   trend_change and trend_dir == -1 ? low : 
   trend_dir == 1 ? max(ep[1], high) : 
   min(ep[1], low)

// Calculate PSAR
psar := barstate.isfirst[1] and close[1] > open[1] ? low[1] : 
   barstate.isfirst[1] and close[1] <= open[1] ? high[1] : 
   trend_change ? ep[1] :    
   trend_dir == 1 ? psar[1] + af * (ep - psar[1]) : psar[1] - af * (psar[1] - ep) 

plot(psar, style=plot.style_cross, color=trend_dir == 1 ? color.green : color.red,  linewidth = 2)

// Strategy 
strategy.entry("Long",  true,  when = sar_short_to_long)
strategy.entry("Short", false, when = sar_long_to_short)