Chiến lược giao dịch xu hướng chéo EMA nhanh và chậm

Tác giả:ChaoZhang, Ngày: 2023-09-12 18:06:26
Tags:

Chiến lược này giao dịch chéo giữa các EMA nhanh và chậm để xác định và theo dõi xu hướng giá.

Chiến lược logic:

  1. Tính toán EMA nhanh và chậm, thường là 13 và 48 thời gian.

  2. Nhập dài khi EMA nhanh vượt qua EMA chậm.

  3. Rời xa khi giá vượt dưới đường EMA nhanh.

  4. Tùy chọn để thêm các quy tắc bên ngắn cho giao dịch hai chiều.

Ưu điểm:

  1. Sự kết hợp EMA nhanh / chậm xác định hiệu quả các xu hướng trung gian.

  2. Giao dịch đột phá cho phép các mục nhập xu hướng kịp thời.

  3. Cơ chế dừng lỗ đơn giản kiểm soát lỗ cho mỗi giao dịch.

Rủi ro:

  1. Sự chậm trễ của EMA gây ra việc bỏ lỡ các điểm tốt nhất.

  2. Nên thả lỏng để tránh chém quá mức.

  3. Khó xác định hướng xu hướng rõ ràng trong phạm vi.

Tóm lại, chiến lược này sử dụng đường chéo EMA để xác định và theo dõi xu hướng.


/*backtest
start: 2022-09-05 00:00:00
end: 2023-09-11 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

// strategy("EMA Strategy 13 48", shorttitle = "EMA Strategy 13 48", overlay=true, pyramiding = 3,default_qty_type = strategy.percent_of_equity, default_qty_value = 1000)


// === Inputs ===
// short ma
maFastSource   = input(defval = close, title = "Fast MA Source")
maFastLength   = input(defval = 13, title = "Fast MA Period", minval = 1)

// long ma
maSlowSource   = input(defval = close, title = "Slow MA Source")
maSlowLength   = input(defval = 48, title = "Slow MA Period", minval = 1)


// === Vars and Series ===
fastMA = ema(maFastSource, maFastLength)
slowMA = ema(maSlowSource, maSlowLength)

plot(fastMA, color=blue)
plot(slowMA, color=purple)

goLong() => crossover(fastMA, slowMA)
killLong() => crossunder(close, fastMA)
strategy.entry("Buy", strategy.long, when = goLong())
strategy.close("Buy", when = killLong())

// Shorting if using
goShort() => crossunder (fastMA, slowMA)
killShort() => crossover(fastMA, slowMA)
//strategy.entry("Sell", strategy.short, when = goShort())
//strategy.close("Sell", when = killShort())


 

Thêm nữa