Esta estratégia é baseada nas operações alternadas do indicador SAR em diferentes prazos. A estratégia calcula o indicador SAR em prazos de 15 minutos, diários, semanais e mensais, e negocia no período semanal.
O indicador SAR parabólico (SAR) representa o SAR parabólico, que julga a direção da tendência calculando a relação entre o preço atual e os preços históricos.
Esta estratégia calcula os valores SAR em intervalos de tempo de 15 minutos, diários, semanais e mensais, respectivamente.
SAR = Previous SAR + Acceleration Factor * (Highest Price - Previous SAR) # Uptrend
SAR = Previous SAR + Acceleration Factor * (Lowest Price - Previous SAR) # Downtrend
O factor de aceleração inicial é fixado em 0,02 e aumentará gradualmente até um máximo de 0,2 à medida que a tendência se estende.
A estratégia gera sinais de negociação no prazo semanal. Ela fica longa quando o SAR semanal cruza acima do preço mais alto, com o valor SAR como o stop loss. Ela fica curta quando o SAR cruza abaixo do preço mais baixo, com o SAR como o stop loss.
A estratégia visa obter lucros de forma mais eficiente através da determinação da tendência num período de tempo mais longo e da fixação de um nível de stop loss mais preciso.
A estratégia tem uma lógica clara de condução de tendências em prazos mais longos usando o indicador SAR para localizar reversões e definir stop loss. Os sinais de entrada e a gestão de riscos podem ser melhorados.
/*backtest start: 2023-01-09 00:00:00 end: 2024-01-15 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 strategy ("SAR alternating timeframe", overlay=true) //resolution res1=input("15", title="Resolution") res2=input("D", title="Resolution") res3=input("W", title="Resolution") res4=input("M", title="Resolution") //output functions out = sar(0.02,0.02,0.2) // request.security SAR1 = request.security(syminfo.tickerid, res1, out) SAR2 = request.security(syminfo.tickerid, res2, out) SAR3 = request.security(syminfo.tickerid, res3, out) SAR4 = request.security(syminfo.tickerid, res4, out) //Plots //plot(SAR1 , title="SAR 15", color = red, linewidth = 2) //plot(SAR2 , title="SAR D", color = green, linewidth = 3) plot(SAR3 , title="SAR W", color =blue, linewidth = 4) //plot(SAR4 , title="SAR W", color =purple, linewidth = 5)) ///////////////////////////////////////////////////////////////////// //trade if (SAR3 >= high) strategy.entry("ParLE", strategy.long, stop=SAR3, comment="ParLE") else strategy.cancel("ParLE") if (SAR3 <= low) strategy.entry("ParSE", strategy.short, stop=SAR3, comment="ParSE") else strategy.cancel("ParSE")