Mengoptimalkan strategi berdasarkan osilator momentum


Tanggal Pembuatan: 2024-02-20 13:54:49 Akhirnya memodifikasi: 2024-02-20 13:54:49
menyalin: 0 Jumlah klik: 612
1
fokus pada
1617
Pengikut

Mengoptimalkan strategi berdasarkan osilator momentum

Ringkasan

Strategi ini adalah sebuah strategi yang mengoptimalkan perbaikan berdasarkan tingkat perubahan indikator momentum (ROC). Dibandingkan dengan strategi ROC asli, strategi ini mengoptimalkan:

  1. Masukkan nilai ROC terbesar sepanjang sejarah, maka dinamika ROC saat ini lebih besar dari ROC terbesar sepanjang sejarah, dan akan mendapatkan nilai relatif momentum.
  2. Proses yang halus terhadap nilai relatif momentum, menghasilkan sinyal.
  3. Menambahkan sinyal beli dan jual.

Dengan metode optimasi ini, banyak sinyal yang tidak efektif dapat disaring, sehingga strategi lebih stabil dan dapat diandalkan.

Prinsip Strategi

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.

Analisis Keunggulan

Strategi ini memiliki beberapa keunggulan dibandingkan dengan strategi ROC asli, yaitu:

  1. Dengan memperkenalkan perbandingan nilai maksimum ROC historis, dapat dengan baik mengukur tinggi relatif dari indikator momentum, dan memfilter sinyal tidak valid yang tidak memiliki nilai absolut yang tinggi.
  2. Proses pemfilteran suara yang halus membuat sinyal lebih stabil dan andal.
  3. Menetapkan nilai jual terendah untuk mengurangi transaksi yang tidak valid.

Secara keseluruhan, strategi ini telah melakukan pengolahan kedua yang efektif pada indikator ROC, membuatnya lebih cocok untuk perdagangan di bursa saham.

Analisis risiko

Strategi ini memiliki risiko utama sebagai berikut:

  1. Indikator ROC tidak dapat menentukan tren pasar, ada beberapa kesalahan. Strategi ini mungkin gagal jika mengalami periode bullish-bearish.
  2. Threshold yang terlalu tinggi atau terlalu rendah akan mempengaruhi kinerja strategi.
  3. Pengaturan parameter SMA yang tidak tepat juga dapat mempengaruhi efek strategi.

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.

Arah optimasi

Strategi ini dapat dioptimalkan dengan cara:

  1. Dengan menggunakan indikator tren, Anda dapat menilai pergerakan pasar secara keseluruhan dan menghindari kegagalan saat bullish/bearish.
  2. Uji berbagai parameter panjang ROC dan parameter harga jual beli untuk mencari kombinasi parameter optimal.
  3. Optimalkan parameter smoothing SMA untuk menemukan parameter optimal.
  4. Meningkatkan mekanisme penghentian kerugian.

Meringkaskan

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.

Kode Sumber Strategi
/*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")