
A estratégia é uma estratégia de negociação de swing que utiliza o ponto de deslizamento da linha parabólica (Parabolic SAR) para operar em cruz com a linha K, para realizar o rastreamento de momentum e o stop loss. A estratégia cria posições de compra e venda em bullish e bearish, eliminando essas posições de stop loss quando o preço se reverte.
A estratégia baseia-se principalmente no indicador parabólico SAR para determinar se o preço está em uma tendência ascendente ou descendente. Quando o indicador parabólico SAR está abaixo da linha K, indicando que o preço está em uma tendência ascendente, a estratégia verifica se o valor do SAR parabólico está em cada linha de fechamento de cada linha K para verificar se ele atravessou o preço mais baixo da linha K. Se não houver uma ruptura, indicando que a tendência ascendente continua, a estratégia cria uma posição mais alta.
Através deste princípio de operação, a estratégia é capaz de estabelecer posições em ordem de ordem sob a tendência de preços confirmados e parar perdas no primeiro momento, bloqueando assim o lucro. Ao mesmo tempo, a linha de paralisação, como um indicador de força de movimento, pode determinar com mais precisão se a tendência está se revertendo, o que também torna o stop loss mais preciso.
Os métodos para melhorar a robustez da estratégia incluem: otimizar a configuração do ponto de parada para torná-lo suficientemente rigoroso; combinar outros critérios de indicador como confirmação; ajustar os parâmetros do indicador para adaptar-se a mudanças no ambiente de mercado; selecionar o melhor conjunto de parâmetros de acordo com diferentes variedades, etc.
A estratégia de Swing paralela é uma estratégia de operação de linha curta que tem um efeito melhor. Ela usa indicadores de linha paralela para determinar a direção da tendência e as mudanças de dinamicidade dos preços, em conjunto com o método de negociação de swing, para criar posições de compra e venda repetidamente durante as fases de aumento e queda das variedades. O rigoroso mecanismo de parada de perdas também torna a estratégia de controle de risco mais forte.
/*backtest
start: 2023-12-14 00:00:00
end: 2023-12-21 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Parabolic SAR Strategy", overlay=true)
start = input(0.05)
increment = input(0.075)
maximum = input(1)
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 = 2000, title = "From Year", minval = 1970)
//monday and session
// To Date Inputs
toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31)
toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12)
toYear = input(defval = 2020, title = "To Year", minval = 1970)
startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00)
finishDate = timestamp(toYear, toMonth, toDay, 00, 00)
time_cond = true
var bool uptrend = na
var float EP = na
var float SAR = na
var float AF = start
var float nextBarSAR = na
if bar_index > 0
firstTrendBar = false
SAR := nextBarSAR
if bar_index == 1
float prevSAR = na
float prevEP = na
lowPrev = low[1]
highPrev = high[1]
closeCur = close
closePrev = close[1]
if closeCur > closePrev
uptrend := true
EP := high
prevSAR := lowPrev
prevEP := high
else
uptrend := false
EP := low
prevSAR := highPrev
prevEP := low
firstTrendBar := true
SAR := prevSAR + start * (prevEP - prevSAR)
if uptrend
if SAR > low
firstTrendBar := true
uptrend := false
SAR := max(EP, high)
EP := low
AF := start
else
if SAR < high
firstTrendBar := true
uptrend := true
SAR := min(EP, low)
EP := high
AF := start
if not firstTrendBar
if uptrend
if high > EP
EP := high
AF := min(AF + increment, maximum)
else
if low < EP
EP := low
AF := min(AF + increment, maximum)
if uptrend
SAR := min(SAR, low[1])
if bar_index > 1
SAR := min(SAR, low[2])
else
SAR := max(SAR, high[1])
if bar_index > 1
SAR := max(SAR, high[2])
nextBarSAR := SAR + AF * (EP - SAR)
if barstate.isconfirmed and time_cond
if uptrend
strategy.entry("ParSE", strategy.short, stop=nextBarSAR, comment="ParSE")
strategy.cancel("ParLE")
else
strategy.entry("ParLE", strategy.long, stop=nextBarSAR, comment="ParLE")
strategy.cancel("ParSE")
plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange)
plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)