Parabólica SAR Trailing Stop Loss Estratégia

Autora:ChaoZhang, Data: 2023-09-16 18:54:28
Tags:

Resumo

A estratégia de stop loss parabólica é uma estratégia de negociação baseada no indicador parabólico SAR.

Estratégia lógica

O indicador SAR Parabólico pode identificar tendências de preços e dar sinais de reversão potenciais.

Com base nesta característica do indicador SAR Parabólico, esta estratégia identifica inversões de tendência quando o ponto SAR cruza o candelabro e faz entradas longas ou curtas correspondentes.

  1. Calcular os valores SAR parabólicos.

  2. Determine se há um sinal de reversão de tendência. Se o ponto SAR atravessar de cima para baixo do candelabro, representa um sinal de baixa, vá curto; se o ponto SAR atravessar de baixo para cima do candelabro, representa um sinal de alta, vá longo.

  3. Entrar numa posição quando ocorrer o cruzamento e sair da posição com um stop loss quando o ponto SAR cruzar o candelabro novamente na direção oposta.

Vantagens

  • Utiliza o indicador SAR parabólico para identificar pontos de reversão da tendência, evitando a negociação contra a tendência.

  • Entrar em posições rapidamente quando são identificados sinais de reversão, captando mudanças de tendência.

  • Estabelece o stop loss no ponto de cruzamento SAR para paradas rápidas e controlo de perdas em tempo útil.

  • Uma lógica estratégica simples e clara, fácil de implementar.

Riscos e mitigação

  • O indicador SAR Parabólico pode gerar muitos sinais falsos, causando transações desnecessárias.

  • Considerar adicionar filtros para evitar períodos de alta volatilidade.

  • Deixe algum espaço de manobra no intervalo de stop loss.

  • A dependência de um único indicador torna a estratégia suscetível a limitações específicas do mercado.

Conclusão

A estratégia de stop loss parabólica utiliza a capacidade de identificação de tendências do indicador parabólico para parar rapidamente e reverter a direção quando as tendências se revertem. A lógica da estratégia é simples e clara. No entanto, a confiança apenas no indicador parabólico SAR tem limitações. Na prática, as condições do mercado devem ser consideradas, os parâmetros ajustados em conformidade e outros indicadores técnicos combinados para melhorar o desempenho.


/*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)

Mais.