Estratégia de acompanhamento da inversão do ímpeto

Autora:ChaoZhang, Data: 2024-01-17 15:46:21
Tags:

img

Resumo

Esta estratégia usa o indicador SAR Parabólico para identificar pontos de virada nas tendências dos preços das ações e entra em posições longas ou curtas quando ocorrem reversões.

Estratégia lógica

O indicador central desta estratégia é o SAR Parabólico. Este indicador pode identificar tendências ascendentes e descendentes nos preços das ações. Quando os preços sobem, os pontos SAR permanecem abaixo dos preços. Quando os preços caem, os pontos SAR saltam acima dos preços. A estratégia detecta o cruzamento entre os pontos SAR e SAR como sinais de negociação. Especificamente, quando a linha de preço cruza acima dos pontos SAR de baixo, um sinal de entrada longa é gerado. Quando a linha de preço cruza abaixo dos pontos SAR de cima, um sinal de entrada curto é ativado.

A condição longa é:closeacimasar, indicando que a linha de preço cruzou acima dos pontos SAR a partir de baixo, um sinal longo.closeAbaixosarAssim, a lógica central desta estratégia é rastrear pontos de inversão na dinâmica de preços e negociação em cruzamento.

Vantagens

A maior vantagem desta estratégia é que pode identificar automaticamente pontos de virada nas tendências de preços sem interferência manual, evitando erros comuns como perseguir picos e matar quedas.

Além disso, o SAR reage de forma sensível às mudanças de preço, capturando pequenos pullbacks a tempo. Isso é importante para estratégias que visam alta taxa de ganho e negociação frequente.

Riscos

O principal risco é que o SAR possa reagir de forma exagerada a pequenas oscilações de preços, gerando sinais falsos e causando excesso de negociação, aumento de custos e deslizamento.

Além disso, em fortes tendências ascendentes ou descendentes, os parâmetros SAR, como valores iniciais e incrementais, podem afetar a precisão e a puntualidade da captura de inversões de tendência.

O dimensionamento inadequado das posições, a reacção excessiva aos sinais SAR podem conduzir a uma exposição flutuante, aumentando as dificuldades práticas na negociação.

Reforço

A estratégia pode ser otimizada nos seguintes aspectos:

  1. Otimizar os parâmetros SAR para maior precisão dos sinais

  2. Adicionar filtros para evitar sinais falsos causados por SAR

  3. Empregar o dimensionamento adequado das posições e o stop loss para controlar os riscos

  4. Incorporar filtros de tendência para evitar problemas em mercados variados

  5. Otimizar os preços de entrada e saída tendo em conta os custos e o deslizamento para melhorar a eficiência

Conclusão

A estratégia baseia-se principalmente no SAR para determinar pontos de reversão da tendência. Ele tem capacidade de identificação de tendência confiável. Quando otimizado, ele pode servir como uma tendência efetiva seguindo a estratégia ajustando automaticamente as posições para capturar movimentos de preços direcionais. Mas a agitação da posição deve ser controlada e o risco de sinais falsos deve ser mitigado.


/*backtest
start: 2023-12-17 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Parabolic SAR Strategy", shorttitle="PSAR", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=10)

// Parabolic SAR settings
start = input(0.02, title="Start")
increment = input(0.02, title="Increment")
maximum = input(0.2, title="Maximum")

// Calculate Parabolic SAR
sar = ta.sar(start, increment, maximum)

// Plot Parabolic SAR on the chart
plot(sar, color=color.red, title="Parabolic SAR")

// Strategy logic
longCondition = ta.crossover(close, sar)
shortCondition = ta.crossunder(close, sar)

// Execute strategy orders
strategy.entry("Long", strategy.long, when=longCondition)
strategy.entry("Short", strategy.short, when=shortCondition)

// Plot buy and sell signals on the chart
plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar, text="Buy")
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar, text="Sell")

// Calculate equity manually
equity = strategy.equity
equity_str = str.tostring(equity)
equity_plot = plot(equity, title="Equity", color=color.blue, linewidth=2)

// Update equity plot only on bar close to avoid repainting issues
label.new(bar_index, na, text=equity_str, style=label.style_none, color=color.blue, yloc=yloc.abovebar)


Mais.