
Chiến lược này sử dụng nguyên tắc chéo của nhiều cấp trung bình di chuyển, để nắm bắt xu hướng đường dài và trung bình, để đạt được lợi nhuận ổn định. Chiến lược sử dụng ba nhóm trung bình di chuyển nhanh, trung bình và chậm với các tham số khác nhau, để đưa ra quyết định giao dịch dựa trên tình huống chéo của nó. Chiến lược chéo trung bình di chuyển nhiều cấp này, so với chiến lược truyền thống chỉ có hai nhóm trung bình di chuyển, có thể lọc nhiều tín hiệu giả hơn và tăng tỷ lệ chiến thắng của chiến lược.
Chiến lược này sử dụng ba nhóm trung bình di chuyển: trung bình di chuyển nhanh MAshort, trung bình di chuyển nhanh MAmid và trung bình di chuyển chậm MAlong. Trong đó, tham số MAshort là 9, phản ứng nhanh nhất, được sử dụng để bắt tín hiệu đường ngắn; tham số MAmid là 50, tốc độ vừa, được sử dụng để xác nhận xu hướng; tham số MAlong là 100, phản ứng chậm nhất, được sử dụng để xác định hướng xu hướng đường dài.
Logic giao dịch cụ thể của chiến lược là: khi đường trung chuyển nhanh trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển nhanh trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển chậm trên đường trung chuyển nhanh trên đường trung chuyển nhanh trên đường trung chuyển nhanh trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển ngắn trên đường trung chuyển
Lợi thế lớn nhất của chiến lược này là nó có thể lọc hiệu quả các tín hiệu giả mạo thông qua việc kết hợp nhiều nhóm moving average, chỉ chọn những bước đột phá mạnh mẽ trong xu hướng tăng trung và dài để tạo thêm vị trí.
Chiến lược này có những ưu điểm sau:
Chiến lược này cũng có những rủi ro sau:
Đối với các rủi ro trên, chúng tôi sẽ tiếp tục mở rộng phạm vi áp dụng chiến lược, đồng thời kết hợp với kiểm soát kỹ thuật dừng lỗ để có thể rút lại tối đa.
Chính sách này cũng có thể được tối ưu hóa theo các khía cạnh sau:
Chiến lược này là một trong những chiến lược định lượng đường dài trung bình điển hình, kết hợp nhiều tham số để có thể xác định hiệu quả các tín hiệu xu hướng đường dài trung bình mạnh hơn so với chỉ số duy nhất. Bằng cách tối ưu hóa hơn nữa, chiến lược này có thể được áp dụng cho nhiều giống khác nhau và đóng vai trò quan trọng trong lĩnh vực định lượng giao dịch.
/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Coinrule
//@version=4
strategy(shorttitle='Multi Moving Average Crossing',title='Multi Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)
//Backtest dates
fromMonth = input(defval = 1, title = "From Month", type = input.integer, minval = 1, maxval = 12)
fromDay = input(defval = 1, title = "From Day", type = input.integer, minval = 1, maxval = 31)
fromYear = input(defval = 2020, title = "From Year", type = input.integer, minval = 1970)
thruMonth = input(defval = 1, title = "Thru Month", type = input.integer, minval = 1, maxval = 12)
thruDay = input(defval = 1, title = "Thru Day", type = input.integer, minval = 1, maxval = 31)
thruYear = input(defval = 2112, title = "Thru Year", type = input.integer, minval = 1970)
showDate = input(defval = true, title = "Show Date Range", type = input.bool)
start = timestamp(fromYear, fromMonth, fromDay, 00, 00) // backtest start window
finish = timestamp(thruYear, thruMonth, thruDay, 23, 59) // backtest finish window
window() => true // create function "within window of time"
//MA inputs and calculations
inlong=input(100, title='MAlong')
inmid=input(50, title='MAmid')
inshort=input(9, title='MAfast')
MAlong = sma(close, inlong)
MAshort= sma(close, inshort)
MAmid= sma(close, inmid)
//Entry
bullish = crossover(MAmid, MAlong)
strategy.entry(id="long", long = true, when = bullish and window())
//Exit
bearish = crossunder(MAshort, MAmid)
strategy.close("long", when = bearish and window())
plot(MAshort, color=color.orange, linewidth=2)
plot(MAmid, color=color.red, linewidth=2)
plot(MAlong, color=color.blue, linewidth=2)