Chiến lược này được gọi là chiến lược giao dịch định lượng
Công cụ này sử dụng chỉ số SAR Parabolic để xác định hướng xu hướng và thời gian đảo ngược. Chỉ số Stoch đánh giá liệu nó đã bị mua quá mức hay đã bán quá mức. Chức năng Security trích xuất hướng của các đường trung bình động chu kỳ dài hơn để xác định xu hướng tổng thể. Ba điều này được kết hợp để hình thành các quyết định giao dịch:
Khi các dấu chấm Parabolic SAR chuyển đổi xuống phía dưới, nó được coi là tín hiệu tăng; khi các dấu chấm quay lên phía trên, nó cho thấy giảm.
Giá trị cổ phiếu K dưới 20 được coi là đã bán quá mức và trên 80 được coi là đã mua quá mức.
Chức năng Security gọi các đường trung bình động chu kỳ dài hơn để xác định hướng xu hướng tổng thể, cho phép phân tích kết hợp giữa các chu kỳ thời gian khác nhau.
Khi ba chỉ số trên cung cấp tín hiệu tăng, hãy mua dài. Khi cung cấp tín hiệu giảm, hãy mua ngắn. Tiếp tục nghiêm ngặt nguyên tắc lọc nhiều chỉ số để lọc hiệu quả các đột phá sai và khóa xu hướng thực.
Lợi thế lớn nhất của chiến lược này nằm trong phân tích nhiều khung thời gian. Ba chỉ số đánh giá hành vi giá tương ứng ở mức ngắn hạn, trung hạn và dài hạn. Parabolic SAR nắm bắt thời gian đảo ngược và xu hướng ngắn hạn. Cổ phiếu xác định điều kiện mua quá nhiều và bán quá nhiều hiện tại. Chức năng An ninh xác định hướng xu hướng tổng thể. Ba chỉ số này bổ sung lẫn nhau để tránh sự can thiệp từ các sự đột phá giả một cách hiệu quả và nắm bắt các cơ hội thiết lập xu hướng.
Đồng thời, chiến lược này áp dụng nhiều chỉ số để đánh giá và lọc để giảm thiểu khả năng đánh giá sai từ một chỉ số duy nhất.
Các rủi ro chính của chiến lược này nằm ở sự phù hợp của các thiết lập tham số chỉ số. Kích thước bước và kích thước bước tối đa của Parabolic SAR trực tiếp ảnh hưởng đến tốc độ nắm bắt sự đảo ngược. Các chu kỳ làm mịn giá trị K và giá trị D của Stoch cần phù hợp với các đặc điểm của thị trường. Chu kỳ lựa chọn của chức năng Bảo mật cũng ảnh hưởng đến phán đoán. Việc thiết lập không đúng các tham số chính này đều có thể dẫn đến các quyết định giao dịch sai của chiến lược.
Ngoài ra, nguyên tắc phân tích nhiều khung thời gian nhấn mạnh sự kết hợp các chỉ số qua các giai đoạn. Tuy nhiên, cách xử lý sự khác biệt giữa các chỉ số chu kỳ dài và ngắn cũng là một vấn đề đáng chú ý. Một giải pháp có thể là xác định hướng tổng thể với các chỉ số xu hướng và xác định thời gian thoát cụ thể bằng các chỉ số BREAKOUT.
Các hướng chính để tối ưu hóa hơn nữa chiến lược này là trong ba khía cạnh sau:
Tăng cơ chế kích thước bước thích nghi. Cho phép các thông số SAR Parabolic điều chỉnh dựa trên mức độ biến động của thị trường để nắm bắt tốt hơn sự đảo ngược.
Thêm cơ chế dừng lỗ. Ra khỏi với dừng lỗ khi giá phá vỡ một mức nhất định hướng về hướng không thuận lợi. Kiểm soát lỗ giao dịch duy nhất.
Giới thiệu các kỹ thuật học máy. Sử dụng thuật toán để đào tạo mối tương quan giữa hành vi giá trong các khoảng thời gian khác nhau. Các tham số chiến lược kết hợp các khung thời gian khác nhau cũng có thể được tối ưu hóa thông qua thuật toán.
Chiến lược định lượng
/*backtest start: 2023-01-11 00:00:00 end: 2024-01-17 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title='kyenji', shorttitle='kyenji90', overlay=true) // Parabolic SAR parabolicSARStart=input.float(0.01) parabolicSARInc=input.float(0.01) parabolicSARMax=input.float(0.2) psarDot = ta.sar(parabolicSARStart,parabolicSARInc,parabolicSARMax) longConditionPSAR = psarDot > close shortConditionPSAR = psarDot < close // Stoch periodK = input.int(14, title="K", minval=1) periodD = input.int(3, title="D", minval=1) smoothK = input.int(3, title="Smooth", minval=1) k = ta.sma(ta.stoch(close, high, low, periodK), smoothK) d = ta.sma(k, periodD) h0 = 80 h1 = 20 longConditionStoch = k < h1 shortConditionStoch = k > h0 // Security securityPeriod=input('180') longConditionSecurity = ta.crossover(request.security(syminfo.tickerid, securityPeriod, close),request.security(syminfo.tickerid, securityPeriod, open)) shortConditionSecurity = ta.crossunder(request.security(syminfo.tickerid, securityPeriod, close),request.security(syminfo.tickerid, securityPeriod, open)) // Generate Signal longCondition = longConditionSecurity and longConditionPSAR and longConditionStoch shortCondition = shortConditionSecurity and shortConditionPSAR and shortConditionStoch if (longCondition) strategy.entry("Long", strategy.long) if (shortCondition) strategy.entry("Short", strategy.short)