Filtro de ruptura da EMA Estratégia de negociação de curto prazo

Autora:ChaoZhang, Data: 2023-09-12 17:12:22
Tags:

Esta estratégia de longo prazo usa um canal ATR para filtrar falhas de ruptura da EMA para negociações longas estáveis seguindo tendências.

Estratégia lógica:

  1. Calcular a EMA de n períodos como tendência a médio prazo.

  2. Calcular o ATR de n períodos para bandas de canais de alcance.

  3. Vai longo quando o preço quebra acima do topo do canal.

  4. Sair longo quando o preço quebra abaixo do fundo do canal.

  5. O canal ATR filtra falhas insignificantes ou de curto prazo.

Vantagens:

  1. O canal ATR melhora a confiabilidade dos sinais longos.

  2. O longo só reduz a complexidade e os riscos.

  3. A otimização simples adapta-se facilmente a todos os mercados.

Riscos:

  1. Incapaz de lucrar com movimentos curtos.

  2. Tanto a EMA quanto a ATR estão atrasadas, causando um mau timing de entrada.

  3. É difícil manter sinais a distâncias prolongadas.

Em resumo, este sistema simples pode funcionar bem em tendências de alta, mas requer cautela em indicadores atrasados e mercados variáveis.


/*backtest
start: 2020-09-11 00:00:00
end: 2021-04-17 00:00:00
period: 7d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("EMA Long Only Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(21,  minval=1, title="Length")

price = sma(close, 2)
average = ema(close, len)
diff = atr(len)
bull_level = average + diff
bear_level = average - diff
bull_cross = crossover(price, bull_level)
bear_cross = crossover(bear_level, price)

strategy.entry("Buy", strategy.long, when=bull_cross) 
strategy.close("Buy", when=bear_cross) //strategy.entry("Sell", strategy.short, when=bear_cross)
    
plot(price, title="price", color=green, transp=50, linewidth = 4)
plot(average, title="average", color=red, transp=50, linewidth = 4)
a1 = plot(bull_level, title="bull", color=red, transp=50, linewidth = 1)
a2 = plot(bear_level, title="bear", color=red, transp=50, linewidth = 1)
fill(a2, a1, color=red, transp=95)


Mais.