
A estratégia de breakout de duplo intervalo de EMA é uma estratégia de acompanhamento de tendências. Ela usa duas médias de EMA de diferentes períodos e negocia quando um intervalo suficientemente grande se forma entre as duas linhas de EMA para capturar a direção da tendência.
A estratégia usa a linha de EMA rápida (linha de EMA de pequeno período) e a linha de EMA lenta (linha de EMA de grande período) para determinar os sinais de negociação. A lógica específica é:
Calcule o EMA rápido e o EMA lento.
Faça mais quando o EMA rápido atravessa o EMA lento e a distância entre as duas linhas do EMA excede o limiar definido.
Quando o EMA rápido atravessa o EMA lento e a distância entre as duas linhas EMA excede o limite de configuração, faça um vazio.
Quando o preço volta a cair abaixo da EMA rápida, o equilíbrio faz a posição de cabeça mais alta.
Quando o preço re-quebrar a EMA rápida, a posição de equilíbrio fica abaixo da posição inicial.
Assim, ele usa a suavidade da EMA para identificar a direção da tendência e, em combinação com a ruptura do intervalo da EMA, para determinar o momento específico de entrada. Quanto mais distante do indicador, mais forte a tendência, maior a chance de fazer um único.
Pode-se reduzir o risco por meio de ajustes na combinação de parâmetros do EMA, ajustando o limite de intervalo e a posição de parada.
A estratégia de ruptura do intervalo de dupla EMA é, em geral, uma estratégia de acompanhamento de tendências mais simples e prática. Ela é capaz de lucrar efetivamente em situações de tendência, mas requer um parâmetro razoável.
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("2-EMA Strategy", overlay=true, initial_capital=100, currency="USD", default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.075)
diffMinimum = input(0.95, step=0.01)
small_ema = input(13, title="Small EMA")
long_ema = input(26, title="Long EMA")
ema1 = ema(close, small_ema)
ema2 = ema(close, long_ema)
orderCondition = ema1 > ema2?((ema1/ema2)*100)-100 > diffMinimum:((ema2/ema1)*100)-100 > diffMinimum
longCondition = close > ema1 and ema1 > ema2
if (longCondition and orderCondition)
strategy.entry("Long", strategy.long)
shortCondition = close < ema1 and ema1 < ema2
if (shortCondition and orderCondition)
strategy.entry("Short", strategy.short)
strategy.close("Short", when=close > ema1)
strategy.close("Long", when=close < ema1)
plot(ema(close, small_ema), title="EMA 1", color=green, transp=0, linewidth=2)
plot(ema(close, long_ema), title="EMA 2", color=orange, transp=0, linewidth=2)