
Chiến lược giao dịch đường trung bình di chuyển là một chiến lược giao dịch chứng khoán phổ biến hơn. Chiến lược này tạo ra tín hiệu mua và bán bằng cách tính toán đường trung bình di chuyển nhanh và đường trung bình di chuyển chậm và tạo ra tín hiệu mua và bán khi chúng giao nhau. Cụ thể, khi đường trung bình di chuyển nhanh đi qua đường trung bình di chuyển chậm từ phía dưới, tạo ra tín hiệu mua; khi đường trung bình di chuyển nhanh đi qua đường trung bình di chuyển chậm từ phía trên xuống, tạo ra tín hiệu bán.
Lý luận cốt lõi của chiến lược này là: Đường trung bình di chuyển nhanh đại diện cho xu hướng ngắn hạn của cổ phiếu, đường trung bình di chuyển chậm đại diện cho xu hướng dài hạn của cổ phiếu. Khi xu hướng ngắn hạn chuyển sang tăng (gold fork), nó cho thấy cổ phiếu đã vào khu vực mua; khi xu hướng ngắn hạn chuyển sang giảm (dead fork), nó cho thấy cổ phiếu đã vào khu vực bán.
Cụ thể, chiến lược này xác định maFast và maSlow. MaFast dài 9, đại diện cho xu hướng ngắn hạn của cổ phiếu trong 9 ngày; maSlow dài 18, đại diện cho xu hướng dài hạn của cổ phiếu trong 18 ngày. Chiến lược xác định sự thay đổi của xu hướng ngắn hạn và dài hạn bằng cách tính toán sự giao thoa của hai đường trung bình di chuyển.
Chiến lược này có những ưu điểm sau:
Chiến lược này cũng có một số rủi ro:
Có thể làm giảm rủi ro bằng cách điều chỉnh các tham số trung bình di chuyển và thiết lập chiến lược dừng lỗ.
Chiến lược này có thể được tối ưu hóa hơn nữa:
Chiến lược giao chéo trung bình di chuyển là một chiến lược rất cổ điển và thực tế. Nguyên tắc của nó đơn giản, dễ thực hiện và được áp dụng rộng rãi trong giao dịch thực tế. Bằng cách điều chỉnh tham số và sử dụng các chỉ số kỹ thuật hỗ trợ, chiến lược có thể được cải thiện hơn nữa để có được tỷ lệ lợi nhuận rủi ro tốt hơn.
/*backtest
start: 2024-01-04 00:00:00
end: 2024-02-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy(title="Moving Average Cross", overlay=true, initial_capital=10000, currency='USD')
// === GENERAL INPUTS ===
// short ma
maFastSource = input(defval = close, title = "Fast MA Source")
maFastLength = input(defval = 9, title = "Fast MA Period", minval = 1)
// long ma
maSlowSource = input(defval = close, title = "Slow MA Source")
maSlowLength = input(defval = 18, title = "Slow MA Period", minval = 1)
// === SERIES SETUP ===
/// a couple of ma's..
maFast = ema(maFastSource, maFastLength)
maSlow = ema(maSlowSource, maSlowLength)
// === PLOTTING ===
fast = plot(maFast, title = "Fast MA", color = red, linewidth = 2, style = line, transp = 30)
slow = plot(maSlow, title = "Slow MA", color = green, linewidth = 2, style = line, transp = 30)
// === LOGIC ===
enterLong = crossover(maFast, maSlow)
exitLong = crossover(maSlow, maFast)
// Entry //
strategy.entry(id="Long Entry", long=true, when=enterLong)
strategy.entry(id="Short Entry", long=false, when=exitLong)
// === FILL ====
fill(fast, slow, color = maFast > maSlow ? green : red)