
Chiến lược giao dịch vàng chéo hai đường trung bình di chuyển là một chiến lược giao dịch định lượng dựa trên đường trung bình di chuyển. Chiến lược này đánh giá xu hướng thị trường và thời gian mua bán bằng cách tính toán đường trung bình di chuyển trong các chu kỳ khác nhau. Khi đường trung bình di chuyển ngắn hạn vượt qua đường trung bình di chuyển dài hạn, tạo ra đường giao dịch vàng, làm tín hiệu mua; khi đường trung bình di chuyển ngắn hạn vượt qua đường trung bình di chuyển dài hạn, tạo ra đường giao dịch chết, làm tín hiệu bán.
Logic cốt lõi của chiến lược chéo vàng hai đường trung bình di chuyển dựa trên tính chất mịn của đường trung bình di chuyển. Đường trung bình di chuyển có thể lọc hiệu quả tiếng ồn thị trường và chỉ ra hướng xu hướng chung. Đường trung bình di chuyển ngắn hạn nhạy cảm hơn với sự thay đổi giá và có thể nắm bắt thông tin về biến động giá trong một khoảng thời gian gần đây; còn đường trung bình di chuyển dài hạn phản ứng chậm hơn với sự thay đổi giá gần đây và có thể phản ánh xu hướng dài hạn của thị trường.
Một điểm quan trọng khác của chiến lược đường trung bình di chuyển kép là chỉ số RSI. RSI có thể xác định hiệu quả liệu thị trường có đang mua quá mức hay không. Kết hợp với RSI có thể tránh giao dịch sai gần điểm biến đổi của thị trường.
Cụ thể, chiến lược này có những logic quyết định giao dịch như sau:
Bằng cách kết hợp nhiều tham số, chiến lược này có thể lọc hiệu quả các tín hiệu giả và cải thiện độ chính xác của quyết định giao dịch.
Chiến lược giao chéo vàng hai đường trung bình di chuyển có một số ưu điểm sau:
Chiến lược giao chéo vàng hai đường trung bình di chuyển cũng có những rủi ro sau:
Để giảm thiểu rủi ro, có thể tối ưu hóa các khía cạnh sau:
Chiến lược giao chéo vàng hai đường trung bình di động có thể được tối ưu hóa hơn nữa:
Chiến lược giao dịch vàng chéo hai đường trung bình di động là một chiến lược giao dịch định lượng kiểu quy tắc rất cổ điển. Nó đơn giản, dễ thực hiện, linh hoạt trong việc tối ưu hóa tham số, và hiệu suất lợi nhuận cũng rất tốt, là một lựa chọn tốt cho người mới bắt đầu giao dịch định lượng. Tuy nhiên, chiến lược này cũng có một số hạn chế, thông qua nghiên cứu và tối ưu hóa hơn nữa, nó có thể tiến tới sự thông minh và ổn định cao hơn, và thực sự có lợi nhuận liên tục.
/*backtest
start: 2024-01-09 00:00:00
end: 2024-01-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//Based on Larry Connors RSI-2 Strategy - Lower RSI
strategy(title="EA_3Minute_MagnetStrat", shorttitle="EA_3Minute_MagnetStrat", overlay=false)
src = close,
//RSI CODE
up = rma(max(change(src), 0), 30)
down = rma(-min(change(src), 0), 30)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
//Criteria for Moving Avg rules
ma20= vwma(close,20)
ma50 = vwma(close,50)
ma100= vwma(close,100)
//Rule for RSI Color
//col = ma30 > ma50 > ma200 and rsi <=53?lime: ma50 < ma200 and rsi >= 60?red : silver
long1 = ma20 > ma50 and ma50 > ma100 and rsi < 50
short1 = ma20 < ma50 and ma50 < ma100 and rsi > 48.5
//plot(rsi, title="RSI", style=line, linewidth=1,color=col)
//plot(100, title="Upper Line 100",style=line, linewidth=3, color=aqua)
//plot(0, title="Lower Line 0",style=line, linewidth=3, color=aqua)
//band1 = plot(60, title="Upper Line 60",style=line, linewidth=1, color=aqua)
//band0 = plot(44, title="Lower Line 40",style=line, linewidth=1, color=aqua)
//fill(band1, band0, color=silver, transp=90)
//strategy.entry ("buy", strategy.long, when=long)
//strategy.entry ("sell", strategy.short, when=short)
//plot(long,"long",color=green,linewidth=1)
//plot(short,"short",color=red,linewidth=1)
//
long = long1[1] == 0 and long1 == 1
short = short1[1] == 0 and short1 == 1
longclose = long[3] == 1
shortclose = short[3] == 1
//Alert
strategy.entry("short", strategy.short,qty = 1, when=short)
strategy.entry("long", strategy.long,qty=1, when=long)
plot(long,"long",color=green,linewidth=1)
plot(short,"short",color=red,linewidth=1)
strategy.close("long",when=longclose)
strategy.close("short",when=shortclose)
//strategy.exit(id="long",qty = 100000,when=longclose)
//strategy.exit(id="short",qty = 100000,when=shortclose)
plot(longclose,"close",color=blue,linewidth=1)
plot(shortclose,"close",color=orange,linewidth=1)
//strategy.exit(id="Stop", profit = 20, loss = 100)