Chiến lược này thực hiện giao dịch chứng khoán trong ngày bằng cách sử dụng các đường Ichimoku Cloud. Nó thuộc về các chiến lược giao dịch ngắn hạn. Nó sử dụng đường chuyển đổi, đường cơ sở và đường dẫn của Ichimoku Cloud để tạo ra tín hiệu giao dịch và sử dụng Parabolic SAR để ngăn chặn lỗ, đạt được bảo vệ kép.
Các đám mây Ichimoku bao gồm đường chuyển đổi, đường cơ sở, đường dẫn 1 và đường dẫn 2. Đường chuyển đổi là mức trung bình của giá đóng cửa và giá cao nhất và thấp nhất trong 9 ngày qua, phản ánh trạng thái cân bằng gần đây của giá cổ phiếu. Đường cơ sở là mức trung bình của giá cao nhất và thấp nhất trong 26 ngày qua, đại diện cho trạng thái cân bằng trung bình đến dài hạn. Đường dẫn 1 là mức trung bình của đường cơ sở và đường chuyển đổi, phản ánh xu hướng trong tương lai. Đường dẫn 2 là mức trung bình của giá cao nhất và thấp nhất trong 52 ngày qua.
Khi giá đóng phá vỡ đường cơ bản lên và nằm trên đường dẫn 2, một tín hiệu mua được tạo ra. Khi giá đóng phá vỡ đường cơ bản xuống và nằm dưới đường dẫn 1, một tín hiệu bán được tạo ra. Parabolic SAR được sử dụng để dừng lỗ, tạo ra một tín hiệu dừng lỗ khi giá dưới đường SAR.
Chiến lược này sử dụng sự kết hợp của các đường cân bằng để xác định xu hướng giá trong tương lai và tính bền vững của xu hướng hiện tại. Nó thuộc về các chiến lược theo xu hướng điển hình. Nó theo xu hướng bằng cách giao dịch khi các tín hiệu mua và bán xuất hiện. Trong khi đó, cơ chế SAR dừng lỗ và lấy lợi nhuận tránh làm tăng tổn thất.
Các đường cân bằng chứa thông tin giá của các giai đoạn khác nhau, phản ánh những thay đổi trong xu hướng trước. Sử dụng một sự kết hợp cải thiện độ chính xác so với các chỉ số đơn lẻ. Nó có thể xác định các tín hiệu giao dịch chính xác hơn.
SAR có thể theo dõi giá cổ phiếu một cách linh hoạt để dừng lỗ. Kết hợp với các đường cân bằng, nó cho phép dừng lỗ kịp thời sau khi lấy lợi nhuận, tránh tổn thất lớn hơn.
Chiến lược này có các thông số tối thiểu mà không có các chỉ số kỹ thuật phức tạp như phù hợp đường cong, đơn giản và thực tế để thực hiện.
Nó xác định các tín hiệu giao dịch từ sự thay đổi giá trong ngày, phù hợp với giao dịch ngắn hạn. Nó có thể tận dụng đầy đủ các biến động trong ngày để kiếm lợi nhuận.
Xu hướng sau khi giao dịch dẫn đến thu hồi cao hơn.
Các tín hiệu giao dịch thường xuyên có thể được tạo ra trong các thị trường giới hạn phạm vi, không thuận lợi cho lợi nhuận. Các tham số có thể được điều chỉnh để lọc một số tín hiệu.
Các thông số đơn giản dễ bị tối ưu hóa quá mức. Hiệu suất giao dịch thực tế có thể không phải là lý tưởng. Các thử nghiệm độ bền nên được tiến hành để ngăn ngừa quá mức.
Hiệu suất phụ thuộc vào các công cụ giao dịch. Cổ phiếu xu hướng với xu hướng rõ ràng nên được chọn để tối đa hóa hiệu quả chiến lược.
Các chỉ số khác như trung bình động có thể được thêm vào để lọc các tín hiệu không chắc chắn và tránh giao dịch sai.
Các thông số SAR có thể được điều chỉnh năng động dựa trên sự biến động của thị trường, để giảm lỗ dễ dàng hơn.
Tối ưu hóa có hệ thống hơn và thử nghiệm kết hợp có thể tìm thấy các bộ tham số tốt hơn để cải thiện hiệu suất.
Kích thước vị trí và đòn bẩy có thể được điều chỉnh năng động dựa trên điều kiện thị trường như xu hướng chỉ số, để kiểm soát rủi ro.
Chiến lược này sử dụng các tín hiệu giao dịch của Ichimoku Cloud và Parabolic SAR để theo dõi dừng lỗ. Đây là một chiến lược giao dịch ngắn hạn đơn giản và thực tế. Nó tận dụng khả năng dự đoán xu hướng của Ichimoku Cloud cho giao dịch đột phá. Cơ chế dừng lỗ tránh làm tăng lỗ. Kiểm soát rút tiền, lựa chọn cổ phiếu và điều chỉnh tham số thích hợp là cần thiết để thực hiện.
/*backtest start: 2023-01-01 00:00:00 end: 2023-01-16 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 // // Based on the trading strategy described at // http://stockcharts.com/school/doku.php?id=chart_school:trading_strategies:ichimoku_cloud // // See Also: // - Backtesting and forwardtesting (of TradingView Strategies) <https://www.tradingview.com/wiki/Strategies#Backtesting_and_forwardtesting> // - 9 Mistakes Quants Make that Cause Backtests to Lie <https://blog.quantopian.com/9-mistakes-quants-make-that-cause-backtests-to-lie-by-tucker-balch-ph-d/> // - When Backtests Meet Reality <http://financial-hacker.com/Backtest.pdf> // - Why MT4 backtesting does not work <http://www.stevehopwoodforex.com/phpBB3/viewtopic.php?f=28&t=4020> // // // ----------------------------------------------------------------------------- // Copyright 2018 sherwind // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // The GNU General Public License can be found here // <http://www.gnu.org/licenses/>. // // ----------------------------------------------------------------------------- // strategy(title="Ichimoku Cloud Strategy", shorttitle="Ichimoku Strategy", overlay=true, pyramiding=3) conversionPeriods = input(9, minval=1, title="Conversion Line Periods"), basePeriods = input(26, minval=1, title="Base Line Periods") laggingSpan2Periods = input(52, minval=1, title="Lagging Span 2 Periods"), displacement = input(26, minval=1, title="Displacement") usePSARTrailStop = input(true, title="Use Parabolic SAR for Trailing Stop") psarStart = input(0.02, title="Parabolic SAR Start") psarIncrement = input(0.02, title="Parabolic SAR Increment") psarMaximum = input(0.2, title="Parabolic SAR Maximum") donchian(len) => avg(lowest(len), highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) leadLineDisp1 = leadLine1[displacement] leadLineDisp2 = leadLine2[displacement] psar = sar(psarStart, psarIncrement, psarMaximum) // BUY Signal: // close > leading span b and // leading span a > leading span b and // close crosses over base line and // close > parabolic sar buySignal = close > leadLineDisp2 and leadLineDisp1 > leadLineDisp2 and crossover(close, baseLine) and (usePSARTrailStop ? close > psar : not usePSARTrailStop) // Sell Signal: // close < leading span a and // leading span a < leading span b and // close crosses under base line and // close < psar sellSignal = close < leadLineDisp1 and leadLineDisp1 < leadLineDisp2 and crossunder(close, baseLine) and (usePSARTrailStop ? close < psar : not usePSARTrailStop) hasLong = strategy.position_size > 0 hasShort = strategy.position_size < 0 strategy.entry("ichimoku-long", strategy.long, when = buySignal) strategy.entry("ichimoku-short", strategy.short, when = sellSignal) strategy.exit("trailstop-long", "ichimoku-long", stop = psar, when = hasLong and usePSARTrailStop) strategy.exit("trailstop-short", "ichimoku-short", stop = psar, when = hasShort and usePSARTrailStop)