
Strategi ini adalah strategi yang mengoptimumkan penambahbaikan berdasarkan kadar perubahan ROC. Berbanding dengan strategi ROC asal, strategi ini melakukan pengoptimuman berikut:
Melalui kaedah pengoptimuman ini, banyak isyarat yang tidak berkesan boleh disaring dan menjadikan strategi lebih stabil dan boleh dipercayai.
Indikator utama strategi ini ialah kadar perubahan ((ROC)). ROC mengukur kadar perubahan harga saham dalam satu tempoh tertentu. Strategi ini mula mengira nilai ROC sepanjang 9 tempoh. Ia kemudian mencatat nilai maksimum ROC ini dalam 200 tempoh terakhir dan mengira peratusan ROC semasa terhadap ROC sejarah terbesar, untuk mendapatkan kekuatan relatif momentum.
Kekuatan relatif ini diproses dengan halus melalui SMA panjang 10, menyaring turun naik jangka pendek, dan mendapat kurva halus. Apabila kurva halus meningkat selama 3 hari berturut-turut, dan nilai di bawah -80%, menganggap penurunan harga saham mula melambatkan, menghasilkan tanda-tanda bawah, jadi lebih banyak; Apabila kurva halus menurun selama 3 hari berturut-turut, dan nilai di atas 80%, menganggap kenaikan harga saham mula melambatkan, menghasilkan tanda-tanda atas, dan oleh itu merata.
Strategi ini mempunyai kelebihan utama berbanding strategi ROC asal:
Secara keseluruhannya, strategi ini memberikan pengolahan kedua yang berkesan kepada indikator ROC, menjadikannya lebih sesuai untuk perdagangan dalam talian.
Strategi ini mempunyai risiko utama:
Untuk mengurangkan risiko di atas, anda boleh mempertimbangkan untuk menggabungkan indikator trend untuk menilai trend besar; menyesuaikan parameter nilai rendah, menguji parameter optimum; mengoptimumkan parameter kitaran SMA.
Strategi ini boleh dioptimumkan dengan:
Strategi ini adalah strategi pengoptimuman untuk pembangunan sekunder berdasarkan indikator ROC. Ia memperkenalkan kaedah seperti perbandingan nilai maksimum sejarah, penyelarasan SMA dan nilai terhad jual beli, yang dapat menapis isyarat tidak berkesan, menjadikan strategi lebih stabil. Kelebihan utamanya adalah kualiti isyarat yang tinggi, sesuai untuk pasaran.
/*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")