Chiến lược dừng lỗ sau thông minh là một chiến lược tự động điều chỉnh điểm dừng lỗ dựa trên sự thay đổi giá. Nó kết hợp logic của chỉ số SAR và điều chỉnh đường dừng lỗ sau khi giá đạt đến điểm cao hoặc thấp mới để đạt được kiểm soát giảm tối đa.
Lý thuyết cốt lõi của chiến lược này là tự động điều chỉnh đường dừng lỗ dựa trên chỉ số SAR. Cụ thể, nó xác định bốn biến:
Trong một xu hướng tăng, đường dừng lỗ sẽ tiếp tục di chuyển lên để theo dõi giá tăng. Khi giá biến thành xu hướng giảm, đường dừng lỗ vẫn không thay đổi cho đến xu hướng tăng tiếp theo.
Độ lớn điều chỉnh của đường stop loss được điều khiển bởi Step Factor AF. AF sẽ tăng khi một điểm stop loss mới được thiết lập thành công, do đó mở rộng độ lớn điều chỉnh tiếp theo.
Ưu điểm lớn nhất của chiến lược này là nó có thể điều chỉnh điểm dừng lỗ một cách thông minh theo biến động của thị trường, trong khi đảm bảo không gian lợi nhuận đủ và giảm thiểu mức rút tối đa càng nhiều càng tốt.
Cụ thể, có những lợi thế chính:
Ngoài ra còn có một số rủi ro cần lưu ý cho chiến lược này:
Chiến lược cũng có thể được tối ưu hóa trong các khía cạnh sau:
Chiến lược dừng lỗ theo dõi thông minh điều chỉnh các vị trí đường dừng lỗ trong thời gian thực bằng cách mô phỏng logic hoạt động của chỉ số SAR. Trong khi bảo vệ lợi nhuận, nó cũng giảm thiểu khả năng bỏ lỡ cơ hội càng nhiều càng tốt. Nó tối đa hóa giá trị vốn có của chức năng dừng lỗ.
So với các chiến lược dừng lỗ cố định truyền thống, chiến lược này có thể thích nghi tốt hơn với những thay đổi của thị trường và linh hoạt hơn. Thông qua các cài đặt tham số tùy chỉnh, người dùng có thể chọn các chế độ dừng lỗ phù hợp với sở thích rủi ro của riêng họ.
Tất nhiên, cũng có một số không gian tối ưu hóa tham số cho chiến lược này, và hiệu ứng cải thiện có thể đạt được bằng cách kết hợp các chỉ số khác.
/*backtest start: 2024-01-17 00:00:00 end: 2024-01-24 00:00:00 period: 15m basePeriod: 5m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy("Lucid SAR Strategy", shorttitle="Lucid SAR Strategy", overlay=true) // Full credit to Sawcruhteez, Lucid Investment Strategies LLC and Casey Bowman. // This is a strategy version of the Lucid SAR indicator created by the above-mentioned parties. // Original version of the indicator: https://www.tradingview.com/script/OkACQQgL-Lucid-SAR/ // Branded under the name "Lucid SAR" // As agreed to with Lucid Investment Strategies LLC on July 9, 2019 // https://lucidinvestmentstrategies.com/ // Created by Casey Bowman on July 4, 2019 // MIT License // Copyright (c) 2019 Casey Bowman // Permission is hereby granted, free of charge, to any person obtaining a copy // of this software and associated documentation files (the "Software"), to deal // in the Software without restriction, including without limitation the rights // to use, copy, modify, merge, publish, distribute, sublicense, and/or sell // copies of the Software, and to permit persons to whom the Software is // furnished to do so, subject to the following conditions: // The above copyright notice and this permission notice shall be included in all // copies or substantial portions of the Software. // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE // SOFTWARE. AF_initial = input(0.02) AF_increment = input(0.02) AF_maximum = input(0.2) // start with uptrend uptrend = true newtrend = false EP = high SAR = low AF = AF_initial if not na(uptrend[1]) and not na(newtrend[1]) if uptrend[1] EP := max(high, EP[1]) else EP := min(low, EP[1]) if newtrend[1] AF := AF_initial else if EP != EP[1] AF := min(AF_maximum, AF[1] + AF_increment) else AF := AF[1] SAR := SAR[1] + AF * (EP - SAR[1]) if uptrend[1] if newtrend SAR := max(high, EP[1]) EP := min(low, low[1]) else SAR := min(SAR, low[1]) if not na(low[2]) SAR := min(SAR, low[2]) if SAR > low uptrend := false newtrend := true SAR := max(high, EP[1]) EP := min(low, low[1]) else uptrend := true newtrend := false else if newtrend SAR := min(low, EP[1]) EP := max(high, high[1]) else SAR := max(SAR, high[1]) if not na(high[2]) SAR := max(SAR, high[2]) if SAR < high uptrend := true newtrend := true SAR := min(low, EP[1]) EP := max(high, high[1]) else uptrend := false newtrend := false plot(SAR, color = color.blue, style = plot.style_cross, linewidth = 2) if (uptrend) strategy.entry("PBSARLE", strategy.long, comment="PBSARLE") if (newtrend) strategy.entry("PBSARSE", strategy.short, comment="PBSARSE")