
Strategi ini adalah sebuah strategi yang mengoptimalkan perbaikan berdasarkan tingkat perubahan indikator momentum (ROC). Dibandingkan dengan strategi ROC asli, strategi ini mengoptimalkan:
Dengan metode optimasi ini, banyak sinyal yang tidak efektif dapat disaring, sehingga strategi lebih stabil dan dapat diandalkan.
Indikator inti dari strategi ini adalah Rate of Change (ROC). ROC mengukur tingkat perubahan harga saham dalam periode tertentu. Strategi ini pertama-tama menghitung nilai ROC dengan panjang 9 siklus. Kemudian, ia mencatat nilai maksimum dari indikator ROC ini dalam 200 periode terakhir dan menghitung persentase ROC saat ini dari ROC terbesar sepanjang sejarah, untuk mendapatkan kekuatan relatif dari momentum.
Kekuatan relatif ini diperlakukan dengan halus melalui SMA panjang 10, disaring dari volatilitas jangka pendek, dan mendapatkan kurva halus. Ketika kurva halus naik 3 hari berturut-turut, dan nilainya di bawah -80%, menganggap penurunan harga saham mulai melambat, menghasilkan tanda-tanda bawah, dan karenanya melakukan lebih banyak; Ketika kurva halus turun 3 hari berturut-turut, dan nilainya di atas 80%, menganggap kenaikan harga saham mulai melambat, menghasilkan tanda-tanda atas, dan karenanya merata.
Strategi ini memiliki beberapa keunggulan dibandingkan dengan strategi ROC asli, yaitu:
Secara keseluruhan, strategi ini telah melakukan pengolahan kedua yang efektif pada indikator ROC, membuatnya lebih cocok untuk perdagangan di bursa saham.
Strategi ini memiliki risiko utama sebagai berikut:
Untuk mengurangi risiko di atas, Anda dapat mempertimbangkan kombinasi indikator tren untuk menilai tren besar; menyesuaikan parameter nilai threshold, menguji parameter optimal; mengoptimalkan parameter siklus SMA.
Strategi ini dapat dioptimalkan dengan cara:
Strategi ini adalah strategi optimasi untuk pengembangan sekunder berdasarkan indikator ROC. Ini memperkenalkan metode seperti perbandingan nilai maksimum historis, smoothing SMA dan nilai jual beli, yang dapat menyaring sinyal yang tidak efektif, membuat strategi lebih stabil. Keuntungan utamanya adalah kualitas sinyal yang tinggi, cocok untuk real-time.
/*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")