Esta estratégia implementa um simples e eficiente rastreamento de flutuação de ações e estratégia automática de take profit/stop loss baseada no indicador Parabolic SAR. Pode rastrear dinamicamente a tendência de alta e baixa dos preços das ações e definir automaticamente os pontos take profit/stop loss nos pontos de reversão sem intervenção manual, realizando negociação automatizada.
Esta estratégia usa o indicador parabólico SAR para determinar a direção de tendência das flutuações dos preços das ações. Quando o indicador PSAR está abaixo da linha K, ele indica uma tendência de alta; quando o indicador PSAR está acima da linha K, ele indica uma tendência de queda. A estratégia rastreia mudanças nos valores PSAR em tempo real para determinar mudanças nas tendências.
Quando uma tendência ascendente é confirmada, a estratégia definirá um ponto de stop loss no ponto PSAR do próximo BAR; quando uma tendência descendente é confirmada, a estratégia definirá um ponto de take profit no ponto PSAR do próximo BAR. Isso atinge a função take profit/stop loss automática quando os preços das ações se invertem.
Ao mesmo tempo, a estratégia possui parâmetros integrados, tais como o valor inicial, o valor de etapa e o valor máximo para ajustar a sensibilidade do indicador PSAR, otimizando assim o efeito de take profit/stop loss.
A maior vantagem desta estratégia é que realiza a automação total do rastreamento de flutuação de ações e automaticamente take profit/stop loss.
Em comparação com as estratégias tradicionais de stop loss/take profit, os pontos de take profit/stop loss desta estratégia são variáveis, o que pode capturar mudanças de preço e oportunidades mais rapidamente.
Após a otimização dos parâmetros, esta estratégia pode lucrar continuamente nas principais tendências, enquanto automaticamente para a perda para proteger o principal quando a reversão vem.
O maior risco desta estratégia é a probabilidade de o indicador PSAR julgar erroneamente a direção da tendência. Quando o preço da ação tem um ajuste e flutuação de curto prazo, o indicador PSAR pode dar um sinal errado. Neste momento, é necessário otimizar razoavelmente os parâmetros do PSAR para melhorar a precisão do julgamento.
Outro ponto de risco é que o ponto de take profit/stop loss está muito perto do preço atual. Isso pode aumentar a probabilidade de que o ponto de stop loss seja quebrado, trazendo maior impacto para o principal. Neste momento, relaxe adequadamente o intervalo take profit/stop loss para garantir espaço de amortização suficiente.
O potencial de otimização desta estratégia concentra-se principalmente no ajuste dos parâmetros do próprio indicador PSAR. Ao testar diferentes estoques e otimizar as configurações de valor inicial, valor de etapa e valor máximo, o indicador PSAR pode ser mais sensível às flutuações de preços, garantindo ao mesmo tempo a precisão do julgamento. Isso requer muito trabalho de backtesting e análise.
Outra direção de otimização é definir a faixa de take profit/stop loss. É necessário estudar a faixa de flutuação intradiária de diferentes ações e definir requisitos razoáveis de relação lucro/perda com base nisso. Isso pode reduzir ainda mais a probabilidade de perda principal.
Esta estratégia utiliza o indicador Parabolic SAR para realizar um rastreamento de ações totalmente automatizado e uma estratégia de negociação automática de take profit/stop loss. Sua maior vantagem é que não é necessária intervenção manual, o que pode reduzir os custos de tempo e energia. Os principais riscos vêm de julgamentos errados de indicadores, que podem ser reduzidos através da otimização de parâmetros. Em geral, esta estratégia fornece uma solução eficiente e confiável para a negociação quantitativa de ações.
/*backtest start: 2024-01-28 00:00:00 end: 2024-02-04 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Swing Parabolic SAR Strategy", overlay=true) start = input(0.02) increment = input(0.02) maximum = input(0.2) 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 if uptrend strategy.entry("short", strategy.short, stop=nextBarSAR, comment="short") strategy.cancel("long") else strategy.entry("long", strategy.long, stop=nextBarSAR, comment="long") strategy.cancel("short") plot(SAR, style=plot.style_cross, linewidth=3, color=color.orange) plot(nextBarSAR, style=plot.style_cross, linewidth=3, color=color.aqua)