Chiến lược này kết hợp trung bình động, chỉ số CCI, chỉ số PSAR và chỉ số xu hướng ADX để thực hiện một chiến lược đột phá điển hình.
Các điều kiện tham gia chiến lược bao gồm các khía cạnh sau:
Đường trung bình động: yêu cầu đường 5 ngày vượt qua đường 10 ngày, đường 10 ngày vượt qua đường 20 ngày và đường 20 ngày vượt qua đường 40 ngày, có thể lọc hiệu quả hầu hết các bước đột phá sai.
Chỉ số CCI: yêu cầu chỉ số CCI nhỏ hơn -100 như tín hiệu dài và lớn hơn 100 như tín hiệu ngắn.
Chỉ số PSAR: yêu cầu hướng của chỉ số PSAR phù hợp với hướng xu hướng được xác định bởi giá.
Chỉ số ADX: yêu cầu ADX lớn hơn 20, cho thấy thị trường hiện đang có xu hướng, phù hợp với việc sử dụng các hệ thống đột phá.
Đồng thời, các điều kiện rời khỏi cũng xem xét nhiều chỉ số:
Đường trung bình động: ngược lại với các điều kiện nhập cảnh. Ví dụ, đường 5 ngày phá vỡ đường 10 ngày là tín hiệu đóng các vị trí.
Các chỉ số CCI và PSAR có ý nghĩa ngược lại với các điều kiện nhập cảnh. ví dụ, CCI lớn hơn 100 là tín hiệu để đóng các vị trí dài.
Vì vậy, bước vào là nghiêm ngặt trong khi lối ra là lỏng lẻo cho chiến lược này, có thể đạt được một tỷ lệ lợi nhuận tương đối cao.
Chiến lược đột phá kết hợp đa chỉ số điển hình này có những lợi thế sau:
Các điều kiện nhập khẩu nghiêm ngặt áp dụng nhiều chỉ số lọc, có thể làm giảm nguy cơ đột phá sai.
Các thông số chỉ số được tối ưu hóa để thích nghi tốt với thị trường.
Chỉ số đánh giá xu hướng được áp dụng để tránh bị mắc kẹt trong thị trường sốc.
Các đường trung bình động được sử dụng để xác định các xu hướng trung hạn và ngắn hạn một cách ổn định.
Chỉ số CCI có thể nắm bắt hiện tượng mua quá mức và bán quá mức ngắn hạn.
Chỉ số PSAR có khả năng xác định hướng của xu hướng thị trường.
Chiến lược này cũng có những rủi ro sau:
Trong các thị trường cực đoan, tác động của nhiều sự kết hợp các chỉ số có thể bị ảnh hưởng và không thể lọc hoàn toàn rủi ro.
Khi xu hướng là rất lớn, sử dụng các chỉ số trung hạn và ngắn hạn để xác định thời gian có thể thất bại và không thể nắm bắt hoàn toàn xu hướng.
Cài đặt tham số không chính xác của các chỉ số địa phương như CCI có thể dẫn đến việc bỏ lỡ cơ hội.
Hiệu ứng của chỉ số PSAR là yếu ở các điểm chuyển hướng.
Các biện pháp đối phó:
Nới lỏng các điều kiện nhập cảnh và trả nhiều chi phí hơn cho rủi ro thấp hơn.
Tăng đánh giá các chỉ số dài hạn, chẳng hạn như đường trung bình động 60 ngày hoặc thậm chí lâu hơn.
Tối ưu hóa các thông số như CCI.
Kết hợp nhiều chỉ số để đánh giá xu hướng, chẳng hạn như Bollinger Bands.
Chiến lược cũng có các hướng tối ưu hóa sau:
Tăng các thuật toán học máy để nhận ra tối ưu hóa tham số thời gian thực và cải thiện khả năng thích nghi.
Tăng kỹ thuật kết hợp mô hình, kết hợp nhiều chiến lược không liên quan để cải thiện sự ổn định.
Đưa ra các cơ chế kiểm soát rủi ro, chẳng hạn như các chiến lược dừng lỗ, để kiểm soát hiệu quả lỗ dừng duy nhất.
Tăng mô-đun đánh giá xu hướng để tránh vào thị trường sốc.
Tối ưu hóa trọng lượng chỉ số để các chỉ số tối ưu đóng vai trò hàng đầu trong môi trường thị trường khác nhau.
Nói chung, chiến lược này là một chiến lược đột phá đa chỉ số điển hình và cổ điển. Ưu điểm của nó là các điều kiện nhập cảnh nghiêm ngặt, điều kiện ra khỏi lỏng lẻo, và nó cũng chứa một mô-đun đánh giá xu hướng. Nhưng nó cũng có một số rủi ro. Nó cần tối ưu hóa liên tục để thích nghi với môi trường thị trường phức tạp hơn. Sự kết hợp mô hình và tối ưu hóa tham số là hướng phát triển của nó.
/*backtest start: 2023-11-14 00:00:00 end: 2023-11-21 00:00:00 period: 3m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 strategy(title="Bukan Kaleng Kaleng Li", shorttitle="BKKL", overlay=true) psarDot = sar(0.01, 0.01, 0.2) up = change(high) down = -change(low) plusDM = na(up) ? na : (up > down and up > 0 ? up : 0) minusDM = na(down) ? na : (down > up and down > 0 ? down : 0) trur = rma(tr, 14) plus = fixnan(100 * rma(plusDM, 14) / trur) minus = fixnan(100 * rma(minusDM, 14) / trur) sum = plus + minus adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), 14) longConditionSMA4020 = sma(close, 40) > sma(close, 20) longConditionSMA2010 = sma(close, 20) > sma(close, 10) longConditionSMA105 = sma(close, 10) > sma(close, 5) longConditionSMA = longConditionSMA4020 and longConditionSMA2010 and longConditionSMA105 longConditionCCI = cci(close, 20) < -100 longConditionPSAR = psarDot > close longConditionDMI = plus < 10 adxCondition = adx > 20 longCondition = longConditionSMA and longConditionCCI and longConditionPSAR and longConditionDMI if (longCondition and adxCondition) strategy.order("Long Signal", true) shortConditionSMA4020 = sma(close, 40) < sma(close, 20) shortConditionSMA2010 = sma(close, 20) < sma(close, 10) shortConditionSMA105 = sma(close, 10) < sma(close, 5) shortConditionSMA = shortConditionSMA4020 and shortConditionSMA2010 and shortConditionSMA105 shortConditionCCI = cci(close, 20) > 100 shortConditionPSAR = psarDot < close shortConditionDMI = minus < 10 shortCondition = shortConditionSMA and shortConditionCCI and shortConditionPSAR and shortConditionDMI if (shortCondition and adxCondition) strategy.order("Short Signal", false)