Chiến lược sóng xu hướng Vegas

Tác giả:ChaoZhang, Ngày: 2023-09-11
Tags:

Chiến lược này tính toán tỷ lệ phần trăm chênh lệch giá giữa nhiều cặp EMA để xác định hướng xu hướng và giao dịch dựa trên sóng Vegas.

Cụ thể, nó tính toán tỷ lệ chênh lệch giá phần trăm giữa giá hiện tại, EMA 144 giai đoạn, EMA 169 giai đoạn và EMA 233 giai đoạn. Các tín hiệu dài được tạo ra khi cả ba đáp ứng ngưỡng chênh lệch dương tính được đặt trước. Mức giá giảm xuống dưới tất cả ba EMA và EMA 144 giai đoạn vượt qua dưới EMA 233 giai đoạn.

EMA combo lọc nhiều false break hơn so với EMA đơn. Ngoài ra, sóng Vegas chứa nhiều EMA để phân tích xu hướng mạnh mẽ.

Tuy nhiên, EMA có sự chậm trễ vốn có và không thể xác định các mục nhập tối ưu. Và có chủ quan trong lý thuyết sóng, với hiệu suất phụ thuộc phần lớn vào tối ưu hóa tham số. Đánh giá thận trọng về kết quả trực tiếp là cần thiết.

Nhìn chung, chiến lược sóng xu hướng Vegas kết hợp phân tích EMA và lý thuyết sóng để có kết quả tốt trong các thị trường xu hướng.


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

Thêm nữa