
A estratégia é baseada em indicadores de sistema de rotação de paralelo, combinando a janela de tempo para fazer o retorno, para alcançar o efeito de tracking stop loss dinâmico. A estratégia se aplica principalmente a variedades de forte tendência, através do ajuste dinâmico do ponto de parada de perda, para alcançar a parada de tracking de tendência.
A estratégia usa o sistema de rotação de linha paralela (SAR parabólico) como principal indicador técnico. O SAR parabólico pode fornecer um sinal de reversão muito preciso. Quando os preços das ações estão em uma tendência ascendente, o SAR parabólico sobe continuamente, fornecendo suporte para rastrear a subida.
A estratégia primeiro define os três parâmetros do Parabolic SAR, incluindo o valor inicial, o valor de passo e o valor máximo. Em seguida, calcula o valor do Parabolic SAR. A estratégia usa o Parabolic SAR como um ponto de parada dinâmico.
Dessa forma, a estratégia pode acompanhar a tendência quando o preço da ação está em uma tendência; quando o preço da ação começa a se inverter, a parada rápida, para completar um ciclo de negociação.
A estratégia aproveita o alto desempenho do stop loss oferecido pelo indicador Parabolic SAR para alcançar o efeito do stop loss de rastreamento dinâmico. Em comparação com o stop loss fixo, a estratégia pode ser ajustada dinamicamente e parar automaticamente a tendência, evitando que a posição seja parada prematuramente. Ao mesmo tempo, os riscos da estratégia não podem ser ignorados e precisam ser otimizados e enriquecidos em vários aspectos para manter o desempenho estável da estratégia em diferentes mercados.
/*backtest
start: 2023-09-26 00:00:00
end: 2023-10-26 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
// === by @Aldovitch ===
// PSAR Strategy
// Based on Parabolic SAR Strategy provided by TradingView
// added a Time Window for Backtests
//
strategy("Parabolic SAR Strategy w/ Time Window", shorttitle="PSAR Strategy w/ TW", overlay=true)
// === INPUT INDEXES PARAMETERS ===
start = input(0.02)
increment = input(0.02)
maximum = input(0.2)
// === INPUT BACKTEST RANGE ===
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 = 2018, title = "From Year", minval = 2016)
ToDay = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
ToYear = input(defval = 9999, title = "To Year", minval = 2017)
// === CONTROL & APPEARENCE ===
timeStart = timestamp(FromYear, FromMonth, FromDay, 00, 00) // backtest start window
timeFinish = timestamp(ToYear, ToMonth, ToDay, 23, 59) // backtest finish window
// === FUNCTIONS ===
window() => true // create function "within window of time"
// === COMPUTING INDEXES ===
psar = sar(start, increment, maximum)
if (psar > high)
strategy.entry("ParLE", strategy.long, stop=psar, comment="ParLE", when=window())
else
strategy.cancel("ParLE")
if (psar < low)
strategy.entry("ParSE", strategy.short, stop=psar, comment="ParSE", when=window())
else
strategy.cancel("ParSE")
//plot(strategy.equity, title="equity", color=red, linewidth=2, style=areabr)