Chiến lược
Chiến lược sử dụng ATR để điều chỉnh động mức dừng phục vụ sự biến động của thị trường. Cách tiếp cận này đảm bảo mức dừng phản ứng nhạy cảm hơn với điều kiện thị trường hiện tại, có khả năng làm giảm nguy cơ dừng sớm.
Bằng cách sử dụng SMA, chiến lược lọc các mục đảm bảo phù hợp với xu hướng thị trường tổng thể.
Chỉ số MACD phục vụ như một bộ lọc động lực, xác nhận các mục nhập giao dịch bằng cách đảm bảo chúng trùng với động lực hiện hành.
Việc tích hợp ATR, SMA và MACD vào chiến lược không chỉ đơn thuần là một kết hợp các chỉ số. Thay vào đó, mỗi thành phần đóng một vai trò quan trọng trong quá trình quyết định giao dịch từ bước vào đến bước ra. Cách tiếp cận toàn diện này cung cấp cho các nhà giao dịch một chiến lược toàn diện tận dụng nhiều chiều kích thị trường, cung cấp một công cụ độc đáo và có giá trị cho việc theo dõi xu hướng và giao dịch dựa trên động lực.
Chiến lược này phụ thuộc rất nhiều vào cấu hình chỉ số, điều chỉnh tham số không đúng có thể dẫn đến tín hiệu không chính xác. Ngoài ra, tín hiệu SNR thấp gần các điểm uốn cong xu hướng có thể gây ra sự thất bại. Để giảm thiểu những rủi ro này, việc tối ưu hóa tham số được khuyến cáo cùng với việc kết hợp các chỉ số xác nhận khác để cải thiện độ bền.
Chiến lược có thể được tối ưu hóa năng động bằng cách giới thiệu các thuật toán học máy để điều chỉnh các tham số theo điều kiện thị trường hiện tại. Ngoài ra, kết hợp nhiều nguồn dữ liệu hơn như các sự kiện tin tức, dữ liệu truyền thông xã hội, vv có thể giúp đánh giá các bước ngoặt của thị trường và giảm các mục nhập muộn. Hơn nữa, chiến lược có thể được mở rộng qua nhiều khung thời gian hoặc công cụ để nắm bắt nhiều cơ hội giao dịch hơn.
Chiến lược
/*backtest start: 2023-12-29 00:00:00 end: 2024-01-28 00:00:00 period: 3h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("trend_hunter", overlay=true) length = input(20, title="ATR Length") numATRs = input(0.75, title="ATR Multiplier") atrs = ta.sma(ta.tr, length) * numATRs // Trend Filter smaPeriod = input(32, title="SMA Period") sma = ta.sma(close, smaPeriod) // MACD Filter macdShortTerm = input(12, title="MACD Short Term") macdLongTerm = input(26, title="MACD Long Term") macdSignalSmoothing = input(9, title="MACD Signal Smoothing") [macdLine, signalLine, _] = ta.macd(close, macdShortTerm, macdLongTerm, macdSignalSmoothing) // Long Entry with Trend and MACD Filter longCondition = close > sma and close[1] <= sma[1] and macdLine > signalLine strategy.entry("Long", strategy.long, stop=close + atrs, when=longCondition, comment="Long") // Short Entry with Trend and MACD Filter shortCondition = close < sma and close[1] >= sma[1] and macdLine < signalLine strategy.entry("Short", strategy.short, stop=close - atrs, when=shortCondition, comment="Short") //plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_area)