Esta estratégia é apenas para executar várias operações, usar o ATR para construir canais, filtrar os falsos sinais de ruptura da linha de equilíbrio EMA e buscar negociações de múltiplos cabeçalhos estáveis. Esta estratégia é uma estratégia de acompanhamento de tendências.
Princípios da estratégia:
Calcule o EMA médio de n períodos, representando a tendência a médio e longo prazo.
Calcule o ATR de n ciclos, construindo um canal de alcance para cima e para baixo.
Quando o preço sobe de baixo para cima, a operação de multiplicação é realizada.
Quando o preço se move de cima para baixo, o canal de ruptura é interrompido.
A configuração do canal ATR é eficaz para filtrar brechas pequenas ou de curta duração.
Os benefícios da estratégia:
O uso de um canal de julgamento ATR pode aumentar a confiabilidade de um sinal múltiplo.
A única coisa que pode ser feita é fazer mais, reduzir a dificuldade de julgamento e reduzir o risco.
A otimização de parâmetros é simples e fácil de lidar com diferentes tipos de mercado.
Os riscos desta estratégia:
Não há lucros extras que se obtenham apenas com mais trabalho.
A EMA e a ATR têm problemas de atraso, e a admissão não é boa.
É difícil obter sinais de crescimento contínuo em mercados de longa duração.
Em resumo, a estratégia é uma estratégia simples de acompanhamento de tendências, que permite obter melhores resultados em situações de múltiplos operadores, mas que precisa de ser alerta para os problemas de atraso e oscilação contínua.
/*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)