A estratégia de ruptura de spread duplo da EMA é uma estratégia de seguimento de tendência. Ela usa duas linhas de EMA com períodos diferentes e faz negociações quando há um spread suficientemente grande entre as duas EMAs para capturar a direção da tendência.
A estratégia utiliza uma EMA rápida (EMA de curto período) e uma EMA lenta (EMA de longo período) para sinais comerciais.
Calcule a EMA rápida e a EMA lenta.
Quando a EMA rápida cruzar acima da EMA lenta e o diferencial entre as duas EMA exceder um limiar, vá longo.
Quando a EMA rápida cruzar abaixo da EMA lenta e o diferencial entre as duas EMA exceder um limiar, vá para curto.
Quando o preço voltar abaixo da EMA rápida, feche posições longas.
Quando o preço ultrapassar a EMA rápida, feche posições curtas.
Desta forma, ele usa a suavidade das EMAs para identificar a direção da tendência, e a ruptura do spread da EMA para determinar o momento preciso da entrada.
Os riscos podem ser reduzidos através do ajuste da EMA, limiar de spread e colocação de stop loss.
A estratégia de Breakout de Spread Dual EMA é uma estratégia de tendência simples e eficaz. Pode lucrar bem em mercados de tendência, mas precisa de parâmetros adequados. Com otimização e gerenciamento de risco, pode alavancar plenamente seus pontos fortes. Uma estratégia de tendência que vale a pena pesquisar e aplicar.
/*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)