
Chiến lược xếp chồng trung bình di chuyển bằng cách tính toán các trung bình di chuyển của các chu kỳ khác nhau và tạo ra tín hiệu giao dịch dựa trên sự giao thoa của chúng. Chiến lược này sử dụng các trung bình di chuyển chỉ số của 8 chu kỳ khác nhau để xây dựng các xếp chồng trung bình di chuyển để đánh giá xu hướng thị trường và tạo ra tín hiệu giao dịch dựa trên sự giao thoa trung bình di chuyển của chu kỳ ngắn nhất và dài nhất.
Chiến lược này chủ yếu dựa trên 8 đường trung bình di chuyển: đường 20, 25, 30, 35, 40, 45, 50 và 55. Các đường trung bình di chuyển này được cấu trúc thành các đường trung bình di chuyển từ dưới lên. Một tín hiệu mua được tạo ra khi đường trung bình di chuyển ngắn hạn phá vỡ đường trung bình di chuyển dài hạn từ phía dưới; một tín hiệu bán được tạo ra khi đường trung bình di chuyển ngắn hạn phá vỡ đường trung bình di chuyển dài hạn từ phía dưới.
Ví dụ, khi đường 20 ngày từ phía dưới phá vỡ đường 55, tạo ra tín hiệu mua; khi đường 20 ngày từ phía trên xuống đường 55, tạo ra tín hiệu bán. Đường trung bình di chuyển có thể cho thấy xu hướng thị trường rất tốt, chiến lược này sử dụng nhiều đường trung bình di chuyển để xác định xu hướng chính của thị trường và tạo ra tín hiệu giao dịch.
Chiến lược xếp chồng trung bình di chuyển có những ưu điểm sau:
Sử dụng nhiều trung bình di chuyển theo chu kỳ khác nhau, bạn có thể đánh giá chính xác hơn về sự thay đổi xu hướng thị trường.
Nhiều đường trung bình di chuyển được xây dựng để làm cho tín hiệu giao dịch rõ ràng hơn.
Kết hợp với trung bình di chuyển dài hạn và ngắn hạn, cả xu hướng dài hạn của thị trường và điều chỉnh ngắn hạn đều được xem xét.
Các tham số chiến lược có thể được tối ưu hóa bằng cách điều chỉnh các tham số như chu kỳ của đường trung bình di chuyển.
Lập luận chiến lược đơn giản, rõ ràng, dễ hiểu và dễ thực hiện.
Các chiến lược xếp chồng trung bình di động cũng có một số rủi ro:
Các chỉ số khác có thể được xác nhận bằng cách kết hợp với các chỉ số khác.
Tần suất giao dịch có thể quá cao, làm tăng chi phí giao dịch và chi phí trượt. Chu kỳ trung bình di chuyển có thể được điều chỉnh thích hợp để giảm tần suất giao dịch.
Thiết lập tham số không đúng cách có thể dẫn đến quá nhạy cảm hoặc quá chậm trễ. Các tham số tối ưu hóa cần được thử nghiệm nhiều lần.
Sự kiện bất ngờ dẫn đến nhảy nhanh có thể làm cho chiến lược không hoạt động. Có thể thiết lập rủi ro kiểm soát chiến lược dừng lỗ.
Chiến lược xếp chồng trung bình di chuyển có thể được tối ưu hóa từ:
Điều chỉnh các tham số chu kỳ của trung bình di chuyển để tìm các tham số kết hợp tối ưu.
Thêm các chỉ số kỹ thuật khác để lọc và xác nhận tín hiệu, tăng độ chính xác tín hiệu.
Kết hợp với chỉ số biến động, giảm tần suất giao dịch trong môi trường biến động thấp.
Thiết lập chiến lược dừng lỗ, kiểm soát tổn thất đơn lẻ.
Tối ưu hóa chiến lược quản lý tài chính, nâng cao lợi nhuận.
Kiểm tra sức mạnh tham số của các hợp đồng khác nhau. Tìm ra loại tốt nhất.
Chiến lược xếp chồng trên đường trung bình di chuyển có ý tưởng tổng thể rõ ràng, đánh giá xu hướng thị trường thông qua nhiều đường trung bình di chuyển và tạo ra tín hiệu giao dịch. Chiến lược tối ưu hóa có không gian rộng, có thể điều chỉnh tham số, tăng các phương pháp lọc tín hiệu để tối ưu hóa. Nói chung, chiến lược này đơn giản hơn, thực tế và phù hợp để học tập giao dịch định lượng.
/*backtest
start: 2024-01-14 00:00:00
end: 2024-01-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy(title="EMA Ribbon [Krypt] with Buy/Sell Signals", shorttitle="EMA Ribbon", overlay=true)
dropn(src, n) =>
na(src[n]) ? na : src
length1 = input(20, title="MA-1 period", minval=1)
length2 = input(25, title="MA-2 period", minval=1)
length3 = input(30, title="MA-3 period", minval=1)
length4 = input(35, title="MA-4 period", minval=1)
length5 = input(40, title="MA-5 period", minval=1)
length6 = input(45, title="MA-6 period", minval=1)
length7 = input(50, title="MA-7 period", minval=1)
length8 = input(55, title="MA-8 period", minval=1)
source_input = input(close, title="Source")
price = dropn(source_input, 1)
ema1 = ema(price, length1)
ema2 = ema(price, length2)
ema3 = ema(price, length3)
ema4 = ema(price, length4)
ema5 = ema(price, length5)
ema6 = ema(price, length6)
ema7 = ema(price, length7)
ema8 = ema(price, length8)
plot(ema1, title="MA-1", color=#f5eb5d, transp=0, linewidth=2)
plot(ema2, title="MA-2", color=#f5b771, transp=0, linewidth=2)
plot(ema3, title="MA-3", color=#f5b056, transp=0, linewidth=2)
plot(ema4, title="MA-4", color=#f57b4e, transp=0, linewidth=2)
plot(ema5, title="MA-5", color=#f56d58, transp=0, linewidth=2)
plot(ema6, title="MA-6", color=#f57d51, transp=0, linewidth=2)
plot(ema7, title="MA-7", color=#f55151, transp=0, linewidth=2)
plot(ema8, title="MA-8", color=#aa2707, transp=0, linewidth=2)
// Buy and sell signals based on crossover and crossunder
buySignal = crossover(ema1, ema8)
sellSignal = crossunder(ema1, ema8)
plotshape(series=buySignal, title="Buy Signal", color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sellSignal, title="Sell Signal", color=color.red, style=shape.triangledown, size=size.small)
if buySignal
strategy.entry("Enter Long", strategy.long)
else if sellSignal
strategy.entry("Enter Short", strategy.short)