
A principal ideia da estratégia é usar os dois indicadores Parabolic SAR e EMA para identificar a direção da tendência e o momento da entrada no mercado. Dentre eles, o Parabolic SAR é usado para determinar a direção da tendência atual e o EMA é usado para auxiliar na determinação do momento específico de entrada no mercado.
O indicador central da estratégia é o Parabolic SAR, que é uma ferramenta de análise técnica capaz de acompanhar os preços e determinar a reversão de tendência. Sua fórmula de cálculo é mais complexa, mas o princípio é mais simples e intuitivo. O indicador SAR mantém-se atrás dos preços, ajustando constantemente sua posição, e quando os preços se revertem, ele imediatamente ajusta sua posição para o outro lado do preço.
Outro indicador que auxilia a estratégia é o EMA. Ao contrário do SAR, o EMA é mais adequado para julgar a continuidade da tendência. Pode-se filtrar efetivamente parte do ruído, exigindo que o preço só entre depois de quebrar o EMA. E o EMA também pode ser usado para confirmar sinais de reversão.
Em resumo, as regras de negociação específicas da estratégia são as seguintes:
O Parabolic SAR permite a determinação de grandes tendências e o uso de sinais de indução de erro com filtragem EMA, permitindo tanto o bloqueio de tendências como o controle de riscos, permitindo um acompanhamento eficaz das tendências.
A estratégia tem as seguintes vantagens principais:
Em geral, a estratégia integra os benefícios de vários indicadores e, ao mesmo tempo em que capta tendências, exerce um controle de risco eficaz, sendo uma estratégia de acompanhamento de tendências com um desempenho estável e fácil de dominar.
Apesar das vantagens da estratégia, existem alguns riscos que devem ser evitados na prática, como:
Para reduzir os riscos acima mencionados, pode-se fazer otimizar as seguintes áreas:
Para melhorar ainda mais esta estratégia, pode-se considerar:
A configuração de parâmetros de otimização. Os parâmetros de EMA e SAR podem ser testados e otimizados por métodos mais sistemáticos, como algoritmos genéticos, para encontrar a combinação ideal de parâmetros.
Adição de ferramentas de determinação de tendências. Outros indicadores, como MACD e Brinks, podem ser adicionados para confirmar tendências e melhorar a precisão.
Pode-se definir um ponto de parada dinâmico com base em indicadores como o ATR, para que o stop loss seja mais flexível.
Considere os custos de transação. Introduza os parâmetros de ponto de deslizamento e taxas de comissão, otimizando o lucro líquido em vez do lucro absoluto.
A entrada e saída por níveis pode ser definida como um mecanismo de entrada e saída por níveis mais complexos, com a construção de posições ou paradas em lotes em diferentes estágios da tendência.
Otimizando os pontos acima, a estratégia, ao mesmo tempo em que acompanha a tendência, espera obter maior estabilidade, julgamento mais preciso e maior capacidade de controle de risco, resultando em melhor desempenho.
A estratégia de acompanhamento de tendências baseada no Parabolic SAR e no EMA, que integra vários indicadores para determinar a direção da tendência e os benefícios do momento de entrada, é uma estratégia de quantificação de desempenho relativamente estável, configurando o SAR como ponto de parada e controle de risco. A estratégia possui vantagens como alta precisão de julgamento e facilidade de domínio, que vale a pena ser estudada pelos investidores.
/*backtest
start: 2022-12-15 00:00:00
end: 2023-12-21 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("Parabolic SAR Strategy w/ EMA", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)
emalength = input(100 , "EMA Length")
emaoffset = input(0.00, "EMA Offset %")
start = input(0.015)
increment = input(0.005)
maximum = input(0.2)
////////////////////////////////////////////////////////////////////////////////
// BACKTESTING RANGE
// From Date Inputs
fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31)
fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12)
fromYear = input(defval = 2019, title = "From Year", minval = 1970)
// To Date Inputs
toDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
// Calculate start/end date and time condition
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
////////////////////////////////////////////////////////////////////////////////
psar = sar(start, increment, maximum)
ema = ema(close, emalength)
offset = (emaoffset / 100) * ema
// Signals
psar_long = high[1] < psar[2] and high > psar[1]
psar_short = low[1] > psar[2] and low < psar[1]
// Plot PSAR
plotshape(psar, location = location.absolute, style = shape.cross, size = size.tiny, color = low < psar[1] and not psar_long ? green : red)
//Plot EMA
plot(ema)
if(psar_long)
strategy.close("Short")
if(psar_short)
strategy.close("Long")
if (psar < low and time_cond and close > ema + offset)
strategy.entry("Long", strategy.long, comment="Long", stop = psar)
if (psar > high and time_cond and close < ema - offset)
strategy.entry("Short", strategy.short, comment="Short", stop = psar)
if (not time_cond)
strategy.close_all()