Estratégia de negociação de ruptura de pontos de balanço

Autora:ChaoZhang, Data: 2023-09-12 14:40:56
Tags:

Esta estratégia identifica os altos e baixos dos preços para negociar rupturas na direção da tendência.

Estratégia lógica:

  1. Identificar os altos e baixos de oscilação durante um período especificado.

  2. Faça long quando o preço ultrapassar o swing high.

  3. Vai curto quando o preço quebra abaixo do swing low.

  4. Para controlar o risco, fixar o stop loss na posição mais baixa (long) ou mais alta (short) anterior.

  5. Se o preço se inverter abaixo do stop loss, saia da posição.

Vantagens:

  1. Os pontos de oscilação identificam efetivamente as tendências.

  2. A quebra dos pontos de balanço acelera o comportamento dos preços, bom para seguir a tendência.

  3. As paradas nos principais níveis de suporte/resistência gerem o risco.

Riscos:

  1. Os pontos de balanço são frequentemente atrasados, correndo o risco de perder o melhor momento de entrada.

  2. Se não for muito apertado, se for atingido pelo ruído do mercado, considere alargar o alcance.

  3. Os fugitivos são propensos a fazer falsas cabeças, precisam de paradas para defender os recuos.

Em resumo, a estratégia de breakout de pontos de balanço segue tendências de médio/longo prazo usando a negociação de breakout baseada em tendências. Ela pode alcançar alta taxa de ganho, mas requer um timing de entrada cuidadoso e colocação de stop loss para otimizar o desempenho. Os investidores devem considerar seus riscos e aplicar uma gestão de dinheiro apropriada para ganhos constantes a longo prazo.


/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Swing Points", overlay=true)


leftBars = input(1)
rightBars=input(1)
sl = pivotlow(low, leftBars, rightBars)
sh = pivothigh(high, leftBars, rightBars)

last_sh=na
last_sh:= sh!=0 ? sh : nz(last_sh[1])

last_sl=na
last_sl:= sl!=0 ? sl : nz(last_sl[1])


EMA = ema(close,55)

longCondition = sh and high > EMA
shortCondition = sl and close < EMA
exitLongCondition = sl < sh[1]
exitShortCondition = sh > sl[1]

if longCondition 
    strategy.entry("swinghigh", strategy.long, stop=last_sh)
    
if shortCondition 
    strategy.entry("swinglow", strategy.short, stop=last_sl)
   
if exitLongCondition
    strategy.exit("stoplong", "swinghigh", stop = last_sl )

if exitShortCondition
    strategy.exit("stopshort", "swinglow", stop = last_sh )
    
plot(EMA,linewidth = 4)

Mais.