Chiến lược này sử dụng nguyên tắc vượt qua đường trung bình động đa cấp để nắm bắt xu hướng trung hạn và đạt được lợi nhuận ổn định. Nó sử dụng ba bộ trung bình động nhanh, trung bình và chậm với các thông số khác nhau và đưa ra quyết định giao dịch dựa trên các giao dịch giao dịch của họ. So với các chiến lược truyền thống chỉ có hai bộ trung bình động, chiến lược vượt qua trung bình động đa cấp này có thể lọc ra nhiều tín hiệu sai và cải thiện tỷ lệ thắng của chiến lược.
Chiến lược này sử dụng ba bộ trung bình chuyển động: trung bình chuyển động nhanh MAshort, trung bình chuyển động tốc độ trung bình MAmid và trung bình chuyển động chậm MAlong. MAshort có tham số 9, phản ứng nhanh nhất và được sử dụng để nắm bắt tín hiệu ngắn hạn; MAmid có tham số 50, có tốc độ trung bình và được sử dụng để xác nhận xu hướng; MAlong có tham số 100, phản ứng chậm nhất và được sử dụng để xác định hướng xu hướng dài hạn.
Khái niệm giao dịch cụ thể của chiến lược là: khi đường trung bình động tốc độ trung bình MAmid vượt qua trên đường trung bình động chậm MAlong, nó chỉ ra rằng đà tăng của giá cổ phiếu đang hình thành. Tại thời điểm này, chiến lược đi dài; khi đường trung bình động tốc độ nhanh MAshort vượt qua dưới đường trung bình động tốc độ trung bình MAmid, nó chỉ ra rằng một sự đảo ngược xu hướng ngắn hạn đã xảy ra, và chiến lược thoát khỏi vị trí của nó tại thời điểm này.
Ưu điểm lớn nhất của chiến lược này là bằng cách kết hợp nhiều đường trung bình động, nó có thể lọc hiệu quả các tín hiệu sai và chỉ chọn những đột phá tương đối mạnh trong một xu hướng tăng trung hạn dài hạn để mở các vị trí dài.
Những lợi thế của chiến lược này là:
Chiến lược này cũng có những rủi ro sau:
Để đối phó với những rủi ro này, chúng tôi sẽ tiếp tục mở rộng khả năng áp dụng chiến lược trong khi kiểm soát giảm tối đa bằng các kỹ thuật dừng lỗ.
Chiến lược này cũng có thể được tối ưu hóa theo những cách sau:
Chiến lược này thuộc về một chiến lược định lượng trung dài hạn điển hình, với tiền đề kiểm soát rủi ro giao dịch, liên tục kiếm lợi nhuận bằng cách khớp các đường trung bình động đa cấp với xu hướng trung dài hạn. So với một chỉ số duy nhất, chiến lược này kết hợp nhiều thông số và có thể xác định hiệu quả các tín hiệu xu hướng trung và dài hạn mạnh mẽ. Thông qua tối ưu hóa hơn nữa, chiến lược này có thể được áp dụng cho nhiều loại hơn và đóng một vai trò quan trọng trong giao dịch định lượng.
/*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)