
Chiến lược này được thực hiện dựa trên giao dịch giữa đường trung bình di chuyển 30 ngày và 200 ngày trong khoảng thời gian 1 phút của XAUUSD Gold. Nó tạo ra tín hiệu mua khi đường trung bình ngắn hạn đi qua đường trung bình dài hạn từ phía dưới; tạo ra tín hiệu bán khi đường trung bình ngắn hạn đi qua đường trung bình dài hạn từ phía trên xuống.
Chiến lược này đồng thời thiết lập 40.000 điểm dừng lỗ và dừng vị trí để kiểm soát rủi ro và lợi nhuận của một giao dịch. Khi có tín hiệu đảo ngược, vị trí hiện tại sẽ bị xóa và mở vị trí theo hướng ngược lại. Điều này giúp tránh tổn thất lớn trong giai đoạn tích lũy và thu được lợi nhuận từ sự đảo ngược xu hướng.
Chiến lược này sử dụng đường trung bình di chuyển 30 ngày và 200 ngày để đánh giá xu hướng. Khi đường trung bình ngắn hạn đi qua đường trung bình dài hạn cho thấy thị trường bò đang đến, hãy làm nhiều hơn; Khi đường trung bình ngắn hạn đi qua đường trung bình dài hạn cho thấy thị trường gấu đang đến, hãy làm trống.
Ngoài ra, khi có tín hiệu đảo ngược, họ sẽ chủ động xóa vị trí của mình và mở một lệnh mới theo hướng ngược lại để nắm bắt cơ hội đảo ngược xu hướng tiềm năng.
Chiến lược này có những lợi thế sau:
Chiến lược này cũng có một số rủi ro:
Có thể kiểm soát và giảm rủi ro bằng cách tối ưu hóa các tham số chu kỳ trung bình di chuyển, thiết lập phạm vi dừng lỗ và đánh giá độ tin cậy của tín hiệu đảo ngược.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Chiến lược giao chéo đường trung bình di chuyển này có hiệu quả tốt, sử dụng phương pháp trung bình di chuyển để xác định hướng xu hướng có độ chính xác cao, đồng thời có rủi ro kiểm soát dừng lỗ, hiệu quả đặc biệt rõ ràng trong các giống xu hướng như vàng. Có thể tối ưu hóa và cải thiện bằng nhiều cách, phạm vi ứng dụng rộng rãi.
/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Moving Averages Crossover Strategy", overlay=true)
// Moving Averages
ma30 = ta.sma(close, 30)
ma60 = ta.sma(close, 60)
ma200 = ta.sma(close, 200)
// Moving Averages Crossover
crossoverUp = ta.crossover(ma30, ma200)
crossoverDown = ta.crossunder(ma30, ma200)
// Buy and Sell Signals
longCondition = crossoverUp
shortCondition = crossoverDown
// Order Execution
if (longCondition)
strategy.entry("Buy", strategy.long)
strategy.exit("Cover", "Buy", stop=close - 40.000, limit=close + 40.000)
if (shortCondition)
strategy.entry("Sell", strategy.short)
strategy.exit("Cover", "Sell", stop=close + 40.000, limit=close - 40.000)
// Plotting Moving Averages
plot(ma30, color=color.blue, title="MA 30")
plot(ma60, color=color.orange, title="MA 60")
plot(ma200, color=color.green, title="MA 200")
// Conditions to close opposite position
if (strategy.position_size > 0)
if (crossoverDown)
strategy.close("Buy")
if (strategy.position_size < 0)
if (crossoverUp)
strategy.close("Sell")