Chiến lược giao dịch chỉ số EMA bốn lần

Tác giả:ChaoZhang, Ngày: 2023-09-12 14:51:28
Tags:

Chiến lược này sử dụng bốn đường EMA với các thông số khác nhau để tạo thành một hệ thống theo dõi xu hướng rõ ràng cho giao dịch cơ học.

Chiến lược logic:

  1. Tính toán hai cặp EMA nhanh và chậm, thường là 72 và 44 thời gian.

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

  3. Đi ngắn khi EMA nhanh vượt qua dưới EMA chậm.

  4. Sử dụng màu sắc để đánh dấu tín hiệu mua và bán.

  5. Backtest trong khoảng thời gian xác định để thực hiện tín hiệu.

Ưu điểm:

  1. Bốn EMA tạo ra các mô hình xu hướng rõ ràng.

  2. Sự kết hợp EMA nhanh / chậm có hiệu quả theo dõi xu hướng trung bình dài.

  3. Các quy tắc giao dịch chéo đơn giản và tránh quá mức.

Rủi ro:

  1. Sự chậm trễ EMA có thể gây ra sự thay đổi xu hướng bị bỏ lỡ.

  2. Không dừng lại có nghĩa là mất không giới hạn trên các giao dịch đơn.

  3. Các thông số kém có thể gây ra tín hiệu quá mức hoặc không nhất quán.

Tóm lại, chiến lược chéo EMA bốn lần sử dụng các cặp EMA nhanh / chậm cho giao dịch xu hướng cơ học. Giao diện trực quan là trực quan cho các nhà giao dịch trực quan. Nhưng sự chậm trễ và thiếu các điểm dừng có nghĩa là quản lý rủi ro thận trọng vẫn cần thiết cho lợi nhuận ổn định dài hạn.


/*backtest
start: 2023-08-12 00:00:00
end: 2023-09-11 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// strategy(title = "Cuathro EMA Strategy", shorttitle = "Cuathro EMA",initial_capital=1000, commission_value=0.2, commission_type =strategy.commission.percent, default_qty_value=100 , overlay = false, pyramiding=10, default_qty_type=strategy.percent_of_equity)
//@Moneros 2017
// based on OCC by @JayRogers
emaSlowPeriod    = input(defval = 44, title = "EMA Slow, always < EMA Fast - low short term, high long term ", minval = 1)
emaFastPeriod    = input(defval = 72, title = "EMA Fast - low short term, high long term ", minval = 1)
len    = input(defval = 14, title = "Period", minval = 1)
res = input(title="Resolution  - not lower than chart", defval="120")



closeSeries =  request.security(syminfo.tickerid, res, 2 * ta.ema(close, len) - ta.ema(ta.ema(close, len), len)  )
openSeries  = request.security(syminfo.tickerid,res, 2 * ta.ema(close[1], len) - ta.ema(ta.ema(close[1], len), len)  )


slowema = ta.ema(closeSeries - openSeries,emaSlowPeriod)
fastema = ta.ema(closeSeries - openSeries,emaFastPeriod)

plot(slowema, color=color.blue)
plot(fastema,color=color.red)


bgcolor(slowema< fastema ? color.red : na, transp=90)
bgcolor(slowema> fastema ? color.blue : na, transp=90)

bgcolor(ta.crossover(slowema, fastema) ? color.blue : na, transp=40)
bgcolor(ta.crossunder(slowema, fastema) ? color.red : na, transp=40)
strategy.order("BUY", strategy.long, 1, when = ta.crossover(slowema, fastema))
strategy.order("SELL", strategy.short, 1, when = ta.crossunder(slowema, fastema)) 


Thêm nữa