Esta estratégia calcula a diferença de preço percentual entre vários pares de EMA para determinar a direção da tendência e negocia com base na onda de Vegas.
Especificamente, ele calcula diferenças de preço percentual entre o preço atual, a EMA de 144 períodos, a EMA de 169 períodos e a EMA de 233 períodos. Os sinais longos são gerados quando todos os três atingem o limiar de diferença positiva pré-definido. Os curto são acionados quando o preço cai abaixo de todas as três EMAs e a EMA de 144 períodos cruza abaixo da EMA de 233 períodos.
O combo EMA filtra mais falhas em comparação com um único EMA. Além disso, a própria onda de Vegas contém vários EMAs para uma análise robusta da tendência.
No entanto, as EMAs têm atraso inerente e não podem identificar entradas ideais.
No geral, a estratégia de onda de tendência de Vegas sinergiza a análise da EMA e a teoria das ondas para bons resultados nos mercados de tendência.
/*backtest start: 2023-09-03 00:00:00 end: 2023-09-10 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy("Vegas Wave Strategy", overlay=true) ema144 = ema(close, 144) ema169 = ema(close, 169) ema233 = ema(close, 233) current = close upd144 = input(title="EMA144 percent difference from EMA233", type=float, defval=0.1) upd169 = input(title="EMA169 percent difference from EMA233", type=float, defval=0.1) upd_current = input(title="Current price percent difference from EMA233", type=float, defval=0.1) //pDiff - Percentage Difference pDiff(x, y) => ((x-y)/x)*100 gtDiff(x, y) => x > y pd144 = pDiff(ema144, ema233) pd169 = pDiff(ema169, ema233) pd_current = pDiff(current,ema233) plot(ema144,color=orange, linewidth=2, transp=0, title="144 EMA") plot(ema169,color=blue,linewidth=2, transp=0, title="169 EMA") plot(ema233,color=red,linewidth=2, transp=0, title="233 EMA") //plot(current, color=white, title="Current Candle") if (gtDiff(pd_current, upd_current) and gtDiff(pd144, upd144) and gtDiff(pd169, upd169)) strategy.entry("buy", strategy.long, when=strategy.position_size <=0) // if (ema8 > ema55 and ema13 > ema55 and ema21 > ema55 and current > ema55 and pd_current > upd_current) // strategy.entry("buy", strategy.long, 10000, when=strategy.position_size <=0) if (current < ema144 and current < ema169 and current < ema233 and ema144 <= ema233) strategy.entry("sell", strategy.short, when=strategy.position_size > 0)