Diese Strategie berechnet die prozentuale Preisdifferenz zwischen mehreren EMA-Paaren, um die Trendrichtung zu bestimmen, und handelt basierend auf der Vegas-Welle.
Es berechnet die prozentualen Preisunterschiede zwischen dem aktuellen Preis, dem 144-Perioden-EMA, dem 169-Perioden-EMA und dem 233-Perioden-EMA. Long-Signale werden erzeugt, wenn alle drei die vorgegebene positive Differenzschwelle erreichen. Short werden ausgelöst, wenn der Preis unter alle drei EMA fällt und der 144-Perioden-EMA unter die 233-Perioden-EMA fällt.
Die EMA-Combine filtert mehr falsche Breaks im Vergleich zu einer einzigen EMA.
EMAs haben jedoch eine inhärente Verzögerung und können keine optimalen Einträge identifizieren.
Insgesamt verbindet die Vegas-Trendwellenstrategie EMA-Analyse und Wellentheorie für gute Ergebnisse in Trendmärkten.
/*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)