
Chiến lược này dựa trên hai chỉ số động trung bình ((EMA) của vàng và chết để tạo ra tín hiệu giao dịch. Cụ thể, chiến lược này tính toán 50 chu kỳ EMA và 200 chu kỳ EMA, tạo ra tín hiệu mua khi ngắn hạn EMA (khoảng 50 chu kỳ) đi qua dài hạn EMA (khoảng 200 chu kỳ) và bán khi ngắn hạn EMA (khoảng 50 chu kỳ) đi qua dài hạn EMA (khoảng 200 chu kỳ). Điều này có thể nắm bắt hiệu quả các thay đổi trong xu hướng ngắn hạn và dài hạn của giá cổ phiếu, tạo ra chiến lược giao dịch động lượng.
Tính trung bình di chuyển của hai chỉ số: 50 chu kỳ EMA và 200 chu kỳ EMA. EMA cho dữ liệu gần đây trọng lượng hơn và nhạy cảm hơn với biến động giá ngắn hạn.
Xác định tín hiệu giao dịch:
Thực hiện giao dịch dựa trên tín hiệu: mua tín hiệu với số dư, bán tín hiệu với số dư.
Mapping EMA và tín hiệu giao dịch trên biểu đồ để tạo ra phán đoán trực quan.
Chiến lược này có những ưu điểm sau:
Chụp lại sự đảo ngược của xu hướng lớn, đặc biệt phù hợp với xu hướng và thị trường.
Các quy tắc ra quyết định đơn giản, rõ ràng, dễ thực hiện và phản hồi.
EMA làm mịn dữ liệu giá, giúp nhận ra tín hiệu xu hướng, loại bỏ tiếng ồn.
Chu kỳ EMA có thể được điều chỉnh để phù hợp với các chu kỳ nắm giữ khác nhau.
Kết hợp với các chỉ số khác có thể lọc thêm các tín hiệu, tối ưu hóa chiến lược.
Chiến lược này cũng có một số rủi ro:
Trong một thị trường bất ổn, có thể có nhiều tín hiệu sai và nhiều giao dịch không có hiệu lực.
Robust kém hơn khi chỉ dựa vào một quy tắc chỉ số duy nhất.
Không tính đến các quy tắc dừng lỗ, có nguy cơ tăng lỗ.
EMA có thể bị trễ và bỏ lỡ các điểm tham gia tốt nhất trong thay đổi giá.
Cần kiểm tra lại để xác định các tham số tối ưu, hiệu suất của ổ cứng có thể khác với kết quả kiểm tra lại.
Các biện pháp kiểm soát và tối ưu hóa rủi ro liên quan bao gồm: kết hợp với các chỉ số khác để lọc tín hiệu, thiết lập cơ chế dừng lỗ, giới thiệu mô hình học máy, v.v.
Chiến lược này có thể được tối ưu hóa theo các khía cạnh sau:
Kết hợp với các chỉ số khác (như MACD, KD, v.v.) để thực hiện mô hình đa yếu tố, nâng cao tính mạnh mẽ của chiến lược.
Tham gia các cơ chế dừng lỗ. Ví dụ: thiết lập dừng lỗ cố định hoặc dừng lỗ tự động. Kiểm soát mức lỗ tối đa cho một giao dịch.
Sử dụng phương pháp học máy để có được tham số tối ưu. Cải thiện quy tắc phán đoán tín hiệu. Cải thiện tính ổn định của chiến lược.
Thiết lập kết hợp chu kỳ EMA tối ưu dựa trên kết quả đánh giá lại. Điều chỉnh tham số dựa trên môi trường thị trường.
Đánh giá tác động của chi phí giao dịch. Thêm mô hình điểm trượt và xem xét phí xử lý. Tối ưu hóa quản lý vị trí.
Chiến lược này nói chung là một chiến lược giao dịch đột phá đơn giản hơn so với cổ điển. Quy tắc ra quyết định dựa trên chỉ số EMA. Mặc dù có hiệu quả nhất định về thời gian, nhưng cũng có một số thiếu sót và không gian để tối ưu hóa. Làm thế nào để cải thiện phán đoán tín hiệu, kiểm soát rủi ro, chuyển động điều chỉnh, v.v., là những khía cạnh cần được xem xét sau này, điều này sẽ tăng cường đáng kể khả năng lợi nhuận ổn định của chiến lược trong thị trường thực.
/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("EMA Golden Crossover Strategy", overlay=true)
// Input parameters
fastLength = input(50, title="Fast EMA Length")
slowLength = input(200, title="Slow EMA Length")
// Calculate EMAs using ta.ema
fastEMA = ta.ema(close, fastLength)
slowEMA = ta.ema(close, slowLength)
// Plot EMAs on the chart
plot(fastEMA, color=color.blue, title="Fast EMA")
plot(slowEMA, color=color.red, title="Slow EMA")
// Strategy logic
longCondition = ta.crossover(fastEMA, slowEMA)
shortCondition = ta.crossunder(fastEMA, slowEMA)
// Execute orders
if (longCondition)
strategy.entry("Buy", strategy.long)
if (shortCondition)
strategy.entry("Sell", strategy.short)
// Plot buy and sell signals on the chart
plotshape(series=longCondition, title="Buy Signal", color=color.green, style=shape.labelup, location=location.belowbar)
plotshape(series=shortCondition, title="Sell Signal", color=color.red, style=shape.labeldown, location=location.abovebar)