Ý tưởng cốt lõi của chiến lược này là sử dụng đường chéo vàng và đường chéo chết của đường trung bình di chuyển nhanh và chậm để đánh giá xu hướng của thị trường và thực hiện giao dịch rủi ro thấp. Khi đường trung bình di chuyển nhanh vượt qua trên đường trung bình di chuyển chậm, nó cho thấy thị trường có thể đang bước vào xu hướng tăng, vì vậy hãy đi dài; khi đường trung bình di chuyển nhanh vượt qua dưới đường trung bình di chuyển chậm, nó cho thấy thị trường có thể đang bước vào xu hướng giảm, vì vậy hãy đi ngắn.
Trung bình động là một chỉ số phân tích xu hướng làm mịn dữ liệu giá để đánh giá xu hướng giá. Trung bình động nhanh có một tham số nhỏ hơn và có thể phản ứng nhanh hơn với những thay đổi giá; trung bình động chậm có một tham số lớn hơn và phản ứng với những thay đổi giá chậm hơn. Khi trung bình động nhanh vượt qua trên trung bình động chậm, nó cho thấy thị trường có thể đang bước vào thị trường tăng, và một vị trí dài nên được thiết lập; khi trung bình động nhanh vượt dưới trung bình động chậm, nó cho thấy thị trường có thể bước vào thị trường gấu, và một vị trí ngắn nên được thiết lập.
Cụ thể, chiến lược này xác định hai đường trung bình chuyển động theo cấp số nhân, với thời gian 21 và 55 cho đường trung bình chuyển động nhanh và chậm tương ứng. Chiến lược xác định bước vào và bước ra dựa trên đường chéo vàng và đường chéo chết của hai đường trung bình chuyển động. Đi dài khi đường trung bình chuyển động nhanh vượt qua đường trung bình chuyển động chậm, và đi ngắn khi đường trung bình chuyển động nhanh vượt qua đường trung bình chuyển động chậm.
Ngoài ra, chiến lược này cũng sử dụng chỉ số biến động ATR để thiết lập dừng lỗ và lấy lợi nhuận. ATR có thể đánh giá hiệu quả mức độ biến động của thị trườ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:
Để giải quyết các rủi ro trên, chúng ta có thể tối ưu hóa từ các khía cạnh sau:
Chiến lược này có thể được tối ưu hóa thêm trong các khía cạnh sau:
Sử dụng các phương pháp học máy để tự động tối ưu hóa các thông số trung bình động để thích nghi tốt hơn.
Thêm các yếu tố cơ bản làm điều kiện lọc để tránh mua hoặc mua ngắn mù quáng khi tin tức tiêu cực lớn đến, chẳng hạn như quyết định lãi suất của Fed và phát hành dữ liệu vĩ mô quan trọng.
Thiết lập giới hạn trên và dưới cho biến động, tạm dừng giao dịch khi ATR trở nên quá cao hoặc quá thấp để tránh thua lỗ trong môi trường thị trường cực đoan.
Kết hợp các yếu tố cơ bản của cổ phiếu như tỷ lệ P / E và mở rộng khối lượng giao dịch để thiết lập mức dừng lỗ và lợi nhuận năng động.
Thêm các cơ chế kích thước vị trí, giảm dần các vị trí khi tỷ lệ lợi nhuận đạt đến một mức độ, đình chỉ giao dịch trong một thời gian khi chịu tổn thất tương đối lớn, v.v.
Khái niệm tổng thể của chiến lược này là rõ ràng và đơn giản, sử dụng hai đường chéo trung bình động để xác định xu hướng thị trường, một chiến lược theo xu hướng điển hình. Trong khi đó, chiến lược cũng kiểm soát rủi ro rất tốt bằng cách sử dụng chỉ số ATR để thiết lập dừng lỗ và lấy lợi nhuận một cách năng động. Với tối ưu hóa hơn nữa, chiến lược có thể được nâng cao về kiểm soát rút và xu hướng đi, do đó dẫn đến hiệu suất đầu tư ổn định hơn.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="No-Nonsense Strategy Template [WM]", overlay = true) price = close // // ATR stuff // atrLength = input(14, "ATR Length") slMultiplier = input(1.5, "SL") tpMultiplier = input(1, "TP1") atr = atr(atrLength) // // Strategy under test. MA crossover // fastInput = input(21) slowInput = input(55) fast = ema(price, fastInput) slow = ema(price, slowInput) plot(fast, color = red) plot(slow, color = blue) goLong = crossover(fast, slow) goShort = crossunder(fast, slow) if (goLong) sl = price - atr * slMultiplier tp = price + atr * tpMultiplier strategy.entry("Long", strategy.long) strategy.exit("Long Exit", "Long", stop = sl, limit = tp) if (goShort) sl = price + atr * slMultiplier tp = price - atr * tpMultiplier strategy.entry("Short", strategy.short) strategy.exit("Short Exit", "Short", stop = sl, limit = tp)