Вегасская стратегия трендовой волны

Автор:Чао Чжан, Дата: 2023-09-11 15:23:35
Тэги:

Эта стратегия рассчитывает процентную разницу в цене между несколькими парами EMA для определения направления тренда, и торгует на основе волны Вегаса.

В частности, он вычисляет процентные ценовые различия между текущей ценой, 144-периодической EMA, 169-периодической EMA и 233-периодической EMA. Долгие сигналы генерируются, когда все три соответствуют заранее установленному положительному порогу разницы. Шорты запускаются, когда цена падает ниже всех трех EMA и 144-периодическая EMA пересекает ниже 233-периодической EMA.

Сочетание EMA отфильтровывает больше ложных перебоев по сравнению с одной EMA.

Однако EMA имеют врожденное отставание и не могут идентифицировать оптимальные записи. И есть субъективность в волновой теории, причем производительность в значительной степени зависит от оптимизации параметров. Требуется осторожная оценка результатов в режиме реального времени.

В целом, стратегия вегасской трендовой волны сочетает в себе анализ EMA и теорию волн для достижения хороших результатов на трендовых рынках.


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

Больше