Crossover đường trung bình động kép là một chiến lược scalping đơn giản và hiệu quả sử dụng tín hiệu chéo giữa giá và đường trung bình động như tín hiệu vào và ra để nắm bắt các chuyển động xu hướng ngắn hạn.
Chiến lược này sử dụng hai đường trung bình động của các giai đoạn khác nhau - đường MA ngắn hạn và đường MA dài hạn. Nó tạo ra tín hiệu mua khi MA ngắn hạn vượt qua trên MA dài hạn từ dưới. Các tín hiệu bán được tạo ra khi MA ngắn hơn vượt qua dưới MA dài hơn từ trên.
Chiến lược này đầu tiên xác định biến
Để lọc một số tín hiệu không hợp lệ, các bộ lọc bổ sung như
Cuối cùng, các vị trí hiện có được đóng khi giá vượt qua các đường MA ngược lại.
Các rủi ro có thể được giảm thiểu bằng cách sử dụng các giai đoạn MA năng động dựa trên biến động, dừng sau hoặc dừng phần trăm, v.v.
Chiến lược có thể được cải thiện theo nhiều cách:
Tối ưu hóa các tham số MA dựa trên biến động.
Thêm thêm các bộ lọc như tăng âm lượng để cải thiện chất lượng tín hiệu.
Sử dụng dừng nổi hoặc tỷ lệ phần trăm để giảm dừng sớm.
Kết hợp với các chỉ số khác như MACD, RSI để xác nhận nhiều điều kiện.
Thêm quản lý rủi ro tự động như kích thước vị trí động để kiểm soát lỗ cho mỗi giao dịch.
Sử dụng máy học để tạo ra mô hình tín hiệu chính xác hơn.
Chiến lược chéo MA kép là một hệ thống hiệu quả cho giao dịch ngắn hạn. Các thông số điều chỉnh tốt, quản lý rủi ro và kết hợp với các công cụ khác có thể tăng thêm lợi nhuận của nó.
/*backtest start: 2023-09-29 00:00:00 end: 2023-10-29 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("MovingAvg Cross", overlay=true) length = input(50) confirmBars = input(2) price = close ma = sma(price, length) bcond = price > ma bcount = 0 bcount := bcond ? nz(bcount[1]) + 1 : 0 clc=close[0]>close[1] clc0=close[0]>open[0] clc1=close[1]>open[1] if clc and clc0 and clc1 and (bcount == confirmBars) strategy.entry("buy", strategy.long) scond = price < ma scount = 0 scount := scond ? nz(scount[1]) + 1 : 0 csc=close[0]<close[1] csc0=close[0]<open[0] csc1=close[1]<open[1] if csc and csc0 and csc1 and (scount == confirmBars) strategy.entry("sell", strategy.short) strategy.close("buy", when=scond) strategy.close("sell",when=bcond) plot(ma, color=color.red) //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)