Chiến lược đảo ngược 3 ngày của thương mại rùa là một sửa đổi của Chiến lược đảo ngược trung bình 3 ngày từ cuốn sách "Hoạt động giao dịch ETF có xác suất cao" của Larry Connors và Cesar Alvarez.
Thông qua thực hành và backtesting, tôi đã thấy rằng chiến lược luôn hoạt động tốt hơn khi sử dụng EMA thay vì SMA cho đường xu hướng.
Chiến lược hoạt động như sau:
EMA thoát mặc định là EMA 5 ngày, chiều dài của nó có thể điều chỉnh.
Ý tưởng chính của chiến lược là tận dụng lợi thế của sự đảo ngược trung bình ngắn hạn. Khi giá giảm liên tục, chúng có khả năng phục hồi trong ngắn hạn. Chiến lược xác định cơ hội đảo ngược trung bình bằng cách kiểm tra xem giá có thu hẹp trong 3 ngày liên tiếp dưới EMA ngắn hạn không. Một khi đảo ngược xảy ra, nó sẽ nhanh chóng thoát ra khi giá vượt qua EMA thoát.
So với các chiến lược chéo trung bình động truyền thống, chiến lược này có những lợi thế sau:
Sử dụng thu hẹp 3 ngày liên tiếp để xác định sự đảo ngược cải thiện chất lượng tín hiệu.
Việc lọc với EMA dài và ngắn tránh giao dịch trên các thị trường xu hướng. Nó chỉ giao dịch có nghĩa là đảo ngược trong các vùng giới hạn phạm vi.
Sử dụng EMA thay vì SMA cho đường xu hướng nhạy cảm hơn trong việc bắt gặp sự đảo ngược.
Độ dài EMA thoát điều chỉnh cho phép tùy chỉnh chiến lược dừng lỗ dựa trên điều kiện thị trường.
Tần suất giao dịch thấp với thời gian giữ 1-2 ngày tránh rủi ro liên quan đến cược hướng dài.
Chiến lược này cũng có những rủi ro sau:
Rủi ro đảo ngược thất bại. Giá có thể không bật lại và tiếp tục giảm sau tín hiệu đảo ngược.
Rủi ro dừng lỗ thường xuyên. Giá có thể liên tục đạt mức dừng lỗ trong các thị trường hỗn loạn.
Rủi ro tối ưu hóa tham số. EMA thoát và các tham số khác cần kiểm tra và điều chỉnh liên tục dựa trên thị trường phát triển. Hiệu suất có thể giảm nếu không điều chỉnh.
Rủi ro quá phù hợp. Tối ưu hóa nên tránh quá phù hợp. Các tham số nên mạnh mẽ.
Các rủi ro có thể được giảm bằng cách:
Tiếp theo nghiêm ngặt các quy tắc dừng lỗ để kiểm soát lỗ giao dịch duy nhất.
Điều chỉnh tham số mạnh mẽ trong quá trình tối ưu hóa để cân bằng rủi ro và lợi nhuận.
Điều chỉnh kích thước vị trí để giảm rủi ro cho mỗi giao dịch.
Chiến lược có thể được cải thiện trong các khía cạnh sau:
Kiểm tra các chiều dài EMA khác nhau để vào và ra để tìm các thông số tối ưu.
Thêm các bộ lọc khác như âm lượng để đảm bảo tín hiệu đảo ngược đáng tin cậy hơn.
Tăng cường dừng lỗ bằng các phương pháp như ATR hoặc dừng lại để linh hoạt hơn.
Tích hợp bộ lọc xu hướng để tránh nhận tín hiệu đảo ngược trong xu hướng hiện có.
Kết hợp với các chiến lược khác để tối ưu hóa và đa dạng hóa danh mục đầu tư.
Sử dụng máy học để điều chỉnh tham số thích nghi.
Chiến lược đảo ngược 3 ngày của Turtle Trading xác định các cơ hội đảo ngược ngắn hạn bằng cách phát hiện các mô hình thu hẹp 3 ngày dưới EMA ngắn. So với các chiến lược trung bình động truyền thống, nó có tín hiệu vào đáng tin cậy hơn và EMA thoát có thể điều chỉnh để tối ưu hóa stop loss. Chiến lược này hoạt động tốt cho các thị trường hỗn loạn trong phạm vi và bắt đòn rút ngắn. Nhưng có thêm cơ hội để cải thiện các tham số, stop loss và bộ lọc xu hướng. Kết hợp với các chiến lược khác có thể tăng hiệu suất hơn nữa.
/*backtest start: 2023-10-05 00:00:00 end: 2023-10-12 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // @version = 5 // Author = TradeAutomation strategy(title="ETF 3-Day Reversion Strategy", shorttitle="ETF 3-Day Reversion Strategy", process_orders_on_close=true, overlay=true, commission_type=strategy.commission.cash_per_order, commission_value=1, initial_capital = 10000000, default_qty_type=strategy.percent_of_equity, default_qty_value=100) // Backtest Date Range Inputs // StartTime = input(defval=timestamp('01 Jan 2012 05:00 +0000'), title='Start Time') EndTime = input(defval=timestamp('01 Jan 2099 00:00 +0000'), title='End Time') InDateRange = true // Strategy Rules // DayEMA5 = ta.ema(close, 5) Rule1 = close>ta.ema(close, 200) Rule2 = close<DayEMA5 Rule3 = high<high[1] and low<low[1] and high[1]<high[2] and low[1]<low[2] and high[2]<high[3] and low[2]<low[3] ExitEMA = ta.ema(close, input.int(5, "EMA Length For Exit Strategy", tooltip = "The strategy will sell when the price crosses over this EMA")) plot(DayEMA5) plot(ExitEMA, color=color.green) // Entry & Exit Functions // if (InDateRange) strategy.entry("Long", strategy.long, when = Rule1 and Rule2 and Rule3) // strategy.close("Long", when = ta.crossunder(close, ATRTrailingStop)) strategy.close("Long", when = ta.crossover(close, ExitEMA)) if (not InDateRange) strategy.close_all()