Chiến lược này tối ưu hóa chiến lược Rate of Change (ROC) ban đầu. So với chiến lược ROC ban đầu, chiến lược này có các tối ưu hóa sau:
Thông qua các biện pháp tối ưu hóa này, nhiều tín hiệu không hợp lệ có thể được lọc ra để làm cho chiến lược ổn định và đáng tin cậy hơn.
Chỉ số cốt lõi của chiến lược này là Tỷ lệ thay đổi (ROC). ROC đo lường tỷ lệ thay đổi giá cổ phiếu trong một khoảng thời gian nhất định. Chiến lược này đầu tiên tính toán giá trị ROC trong một khoảng thời gian 9. Sau đó nó ghi lại giá trị tối đa của chỉ số ROC này trong 200 khoảng thời gian qua và tính toán ROC hiện tại bằng tỷ lệ phần trăm của ROC lịch sử tối đa để có được sức mạnh tương đối của đà. Ví dụ, nếu ROC cao nhất trong 200 ngày qua đạt 100, thì sức mạnh tương đối là 80% khi ROC ngày hôm nay là 80.
Sức mạnh tương đối được làm mịn bằng đường SMA 10 giai đoạn để lọc ra các biến động ngắn hạn và có được đường cong mịn. Khi đường cong mịn tăng liên tục trong 3 ngày và giá trị dưới -80%, nó được coi là giá cổ phiếu giảm bắt đầu chậm lại và dấu hiệu đáy xuất hiện, do đó đi dài; khi đường cong mịn giảm liên tục trong 3 ngày và giá trị trên 80%, nó được coi là giá cổ phiếu tăng bắt đầu chậm lại và dấu hiệu trên xuất hiện, vì vậy vị trí gần.
So với chiến lược ROC ban đầu, chiến lược này có những lợi thế chính sau:
Nói chung, chiến lược này xử lý hiệu quả chỉ số ROC để làm cho nó phù hợp hơn cho giao dịch trực tiếp.
Những rủi ro chính của chiến lược này là:
Để giảm các rủi ro trên, hãy xem xét kết hợp các chỉ số xu hướng để xác định xu hướng chính; điều chỉnh các thông số ngưỡng và kiểm tra các thông số tối ưu; tối ưu hóa các thông số chu kỳ SMA.
Chiến lược có thể được tối ưu hóa theo những cách sau:
Đây là một chiến lược tối ưu hóa dựa trên sự phát triển thứ cấp của chỉ số ROC. Nó giới thiệu các phương tiện như so sánh giá trị tối đa lịch sử, làm mịn SMA và mua và bán ngưỡng để lọc ra các tín hiệu không hợp lệ và làm cho chiến lược ổn định hơn. Ưu điểm chính là chất lượng tín hiệu cao phù hợp với giao dịch trực tiếp.
/*backtest start: 2024-02-12 00:00:00 end: 2024-02-19 00:00:00 period: 1m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy(title="Rate Of Change Mod Strategy", shorttitle="ROC", format=format.price, precision=2) //length = input.int(9, minval=1) //source = input(close, "Source") //roc = 100 * (source - source[length])/source[length] //plot(roc, color=#2962FF, title="ROC") //hline(0, color=#787B86, title="Zero Line") length = input.int(9, minval=1, title="Length") maxHistory = input(200, title="Max Historical Period for ROC") lenghtSmooth = input.int(10, minval=1, title="Length Smoothed ROC") lenghtBUY = input.int(-80, title="Buy Threshold") lenghtSELL = input.int(80, title="Buy Threshold") source = close roc = 100 * (source - source[length]) / source[length] // Calculate the maximum ROC value in the historical period maxRoc = ta.highest(roc, maxHistory) // Calculate current ROC as a percentage of the maximum historical ROC rocPercentage = (roc / maxRoc) * 100 rocPercentageS = ta.sma(rocPercentage, lenghtSmooth) if ta.rising(rocPercentageS, 3) and rocPercentageS < lenghtBUY strategy.entry("Buy", strategy.long) if ta.falling(rocPercentageS, 3) and rocPercentageS > lenghtSELL strategy.close("Buy") plot(rocPercentage, color=color.new(color.blue, 0), title="Percentage ROC") plot(rocPercentageS, color=color.new(#21f32c, 0), title="Percentage ROC") hline(0, color=color.new(color.gray, 0), title="Zero Line")