Stratégie de la vague de tendance de Vegas

Auteur:ChaoZhang est là., Date: 2023-09-11 15h23 et 35 min
Les étiquettes:

Cette stratégie calcule la différence de prix en pourcentage entre plusieurs paires EMA pour déterminer la direction de la tendance et les transactions basées sur la vague de Vegas.

Plus précisément, il calcule les différences de prix en pourcentage entre le prix actuel, l'EMA de 144 périodes, l'EMA de 169 périodes et l'EMA de 233 périodes. Les signaux longs sont générés lorsque les trois atteignent le seuil de différence positive prédéfini. Les courts sont déclenchés lorsque le prix tombe en dessous des trois EMA et que l'EMA de 144 périodes traverse l'EMA de 233 périodes.

La combinaison EMA filtre plus de fausses ruptures par rapport à une seule EMA. En outre, la vague de Vegas elle-même contient plusieurs EMA pour une analyse de tendance robuste.

Cependant, les EMA ont un décalage inhérent et ne peuvent pas identifier les entrées optimales.

Dans l'ensemble, la stratégie de vague de tendance de Vegas synergie l'analyse EMA et la théorie des vagues pour de bons résultats sur les marchés tendance.


/*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)

Plus de