Chiến lược này được gọi là
Logic cơ bản của chiến lược trung bình động kép là:
Khi các tín hiệu giao dịch trên xảy ra, chúng tôi sẽ vẽ các dấu hiệu có liên quan trên biểu đồ để dễ dàng đánh giá trực quan.
Ưu điểm lớn nhất của chiến lược trung bình động kép là nó có thể kết hợp hiệu quả các chỉ số xu hướng và các chỉ số mua quá mức / bán quá mức để làm cho các tín hiệu giao dịch đáng tin cậy hơn.
Giảm các tín hiệu sai. Sự kết hợp của RSI và MA có thể xác minh các tín hiệu với nhau và tránh các tín hiệu sai được tạo ra bởi một chỉ số duy nhất.
Cải thiện tỷ lệ thắng. So với một chiến lược RSI hoặc MA duy nhất, chiến lược trung bình động kép có thể có được các cơ hội sinh lợi hơn.
Khả năng thích nghi mạnh: Chiến lược này chỉ sử dụng hai thông số, dễ vận hành, chi phí thấp và thích nghi với môi trường thị trường khác nhau.
Dễ dàng tối ưu hóa. Bằng cách điều chỉnh các tham số chu kỳ của RSI và MA, nó thuận tiện để tối ưu hóa và thích nghi với nhiều giống hơn.
Mặc dù có nhiều lợi thế của chiến lược trung bình di chuyển kép, các rủi ro không thể tránh hoàn toàn trong ứng dụng thực tế.
MA sử dụng giá trung bình lịch sử và có thể tụt lại sau những thay đổi giá gần đây nhất.
RSI có thể trải qua các đột phá sai, dẫn đến các tín hiệu sai.
Không thể thích nghi với xu hướng thị trường thay đổi nhanh chóng, có xu hướng dừng lỗ.
Cài đặt tham số không chính xác cũng có thể ảnh hưởng lớn đến hiệu suất chiến lược.
Để đáp ứng, chúng tôi chủ yếu thực hiện kiểm soát rủi ro từ các khía cạnh sau:
Sử dụng MA thích nghi để điều chỉnh các tham số chu kỳ dựa trên những thay đổi giá gần đây nhất.
Tăng cơ chế dừng lỗ để kiểm soát lỗ đơn.
Tối ưu hóa các tham số để chọn kết hợp tham số tốt nhất để thử nghiệm.
Sử dụng bước dừng lỗ để khóa lợi nhuận một phần và giảm rủi ro.
Đối với các vấn đề tiềm ẩn với chiến lược trung bình di chuyển kép, chúng tôi xem xét tối ưu hóa từ các khía cạnh sau:
Sử dụng MA thích nghi thay vì MA thông thường để nắm bắt các thay đổi xu hướng giá nhanh hơn.
Tăng xác minh chỉ số khối lượng để tránh đột phá sai. Ví dụ, chỉ mua khi giá đóng và khối lượng giao dịch tăng cùng một lúc.
Kết hợp các chỉ số khác để lọc các tín hiệu không hợp lệ. ví dụ: xác minh các chỉ số MACD hoặc KD.
Tối ưu hóa phạm vi thiết lập tham số để tìm kết hợp tham số tối ưu.
Sử dụng các kỹ thuật học máy để tối ưu hóa tham số thích nghi. Cho phép các chiến lược chọn các tham số tối ưu dựa trên điều kiện thị trường thời gian thực.
Thông qua các tối ưu hóa trên, dự kiến sẽ cải thiện đáng kể hiệu suất trực tiếp của chiến lược trung bình động kép.
Chiến lược trung bình di chuyển kép tích hợp các lợi thế của chỉ số RSI và MA. Thông qua sự hợp tác của hai, các tín hiệu giao dịch chính xác và đáng tin cậy hơn có thể được tạo ra. So với các chiến lược chỉ số kỹ thuật duy nhất, các chiến lược trung bình di chuyển kép có độ chính xác tín hiệu cao hơn, ít tín hiệu sai, tối ưu hóa dễ dàng và các lợi thế khác. Nhưng nguy cơ hoạt động sai không thể tránh hoàn toàn. Chúng tôi cũng đã đề xuất một số biện pháp kiểm soát rủi ro cụ thể. Ngoài ra, có những chiều kích có thể được tối ưu hóa hơn nữa cho chiến lược này. Bằng cách kết hợp các chỉ số thích nghi, các chỉ số xác minh phụ trợ khác, tối ưu hóa tham số và các phương tiện khác, dự kiến sẽ cải thiện hơn nữa tỷ lệ lợi nhuận của chiến lược. Nói chung, chiến lược này cung cấp một giải pháp phân tích kỹ thuật đơn giản và thực tế cho giao dịch định lượng.
/*backtest start: 2023-10-31 00:00:00 end: 2023-11-30 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="RSI + MA", shorttitle="RSI + MA") reverseTrade = input(false, title = "Use Reverse Trade?") lengthRSI = input(14, minval=1, title="RSI Length") sourceRSI = input(close, "RSI Source", type = input.source) showMA = input(true, title="Show MA") lengthMA = input(9, minval=1, title="MA Length") offsetMA = input(title="MA Offset", type=input.integer, defval=0, minval=-500, maxval=500) up = rma(max(change(sourceRSI), 0), lengthRSI) down = rma(-min(change(sourceRSI), 0), lengthRSI) rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down)) ma = sma(rsi, lengthMA) plot(showMA ? ma : na, "MA", color=color.blue, linewidth=2, style=0, offset=offsetMA) plot(rsi, "RSI", color=#9915FF, linewidth=1, style=0) band1 = hline(70, "Upper Band", color=#C0C0C0, linestyle=2, linewidth=1) band0 = hline(30, "Lower Band", color=#C0C0C0, linestyle=2, linewidth=1) fill(band1, band0, color=color.new(#9915FF,95), title="Background") buy = reverseTrade ? rsi[1] < ma[1] and rsi > ma : rsi[1] > ma[1] and rsi < ma sell = reverseTrade ? rsi[1] > ma[1] and rsi < ma : rsi[1] < ma[1] and rsi > ma strategy.entry("Buy", true, when = buy) strategy.entry("Sell", false, when = sell)