Strategi Momentum Surfer Berdasarkan Indeks Momentum Stochastics

Penulis:ChaoZhang, Tanggal: 2024-02-27 14:32:46
Tag:

img

Gambaran umum

Artikel ini memperkenalkan strategi untuk melacak tren saham berdasarkan indikator Stochastics Momentum Index (SMI). Strategi ini disebut Momentum Surfer Strategy.

Logika Strategi

Indikator SMI digunakan untuk mengidentifikasi zona overbought dan oversold. Nilai di area merah menunjukkan saham terlalu laris sementara area hijau berarti kondisi overbought. Sinyal perdagangan dihasilkan dari persilangan antara SMI dan garis EMA.

Secara khusus, sinyal panjang dipicu ketika SMI melintasi di atas EMA dan SMI berada di bawah -40 tingkat oversold. sinyal pendek dipicu ketika SMI melintasi di bawah EMA dan SMI berada di atas 40 tingkat overbought.

Dengan demikian, strategi dapat menangkap pembalikan harga dan menerapkan beli rendah jual tinggi.

Analisis Keuntungan

Keuntungan terbesarnya terletak pada kemampuannya untuk mengikuti tren. karena ia memanfaatkan SMI untuk menentukan titik masuk dan keluar, sinyal sejajar sempurna dengan pembalikan harga.

Selain itu, SMI sendiri memiliki karakteristik penyelarasan harga. Dibandingkan dengan rata-rata bergerak sederhana, ia merespons lebih stabil terhadap perubahan harga. Sinyal perdagangan lebih dapat diandalkan tanpa mudah terpengaruh oleh kebisingan pasar.

Singkatnya, strategi ini berhasil memanfaatkan kekuatan SMI untuk secara efektif melacak tren saham.

Analisis Risiko

Strategi ini sangat bergantung pada indikator SMI, sehingga menghadapi beberapa risiko terkait.

Pertama, SMI sensitif terhadap penyesuaian parameter. parameter yang salah dapat secara signifikan merusak kualitas sinyal. pengujian ekstensif diperlukan untuk menemukan yang optimal.

Selain itu, tidak ada indikator yang kebal terhadap sinyal palsu, termasuk SMI. Whipsaws dapat terjadi selama volatilitas tinggi yang menyebabkan kerugian yang tidak perlu.

Akhirnya, hal ini tidak mengurangi risiko pasar sistemik. kerugian yang parah tidak dapat dihindari jika seluruh pasar terjun ke dalam keadaan beruang.

Peningkatan

Strategi ini dapat ditingkatkan lagi dari aspek berikut:

  1. Menggabungkan indikator lain untuk membentuk sistem sindikat. Ini membantu meningkatkan keandalan sinyal dan profitabilitas. Faktor-faktor dasar dan ukuran volatilitas dapat ditambahkan.

  2. Menggunakan pembelajaran mesin untuk secara otomatis mengoptimalkan parameter SMI berdasarkan data historis besar.

  3. Menambahkan mekanisme stop loss. Stop loss yang wajar sangat mengurangi kerugian perdagangan tunggal dan menghindari risiko.

  4. Menggabungkan aturan skrining stok kuantitatif untuk meningkatkan kualitas keseluruhan kumpulan stok.

Kesimpulan

Dalam artikel ini, kami memperkenalkan strategi Momentum Surfer yang melacak tren dengan indikator SMI. Kekuatannya terbesar terletak pada menangkap pembalikan dan dengan lancar mengikuti tren. Beberapa risiko seperti sensitivitas parameter dan kualitas sinyal hadir. Kami menyarankan beberapa cara untuk meningkatkannya. Secara keseluruhan, strategi ini menarik untuk perdagangan algo dan layak verifikasi perdagangan nyata.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Stochastics Momentum Index Strategy", shorttitle="Stoch_MTM_Doan", overlay=true)

// Input parameters
a = input.int(10, "Percent K Length")
b = input.int(3, "Percent D Length")
ob = input.int(40, "Overbought")
os = input.int(-40, "Oversold")

// Range Calculation
ll = ta.lowest(low, a)
hh = ta.highest(high, a)
diff = hh - ll
rdiff = close - (hh+ll)/2

avgrel = ta.ema(ta.ema(rdiff,b),b)
avgdiff = ta.ema(ta.ema(diff,b),b)

// SMI calculations
SMI = avgdiff != 0 ? (avgrel/(avgdiff/2)*100) : 0
SMIsignal = ta.ema(SMI,b)
emasignal = ta.ema(SMI, 10)

// Color Definition for Stochastic Line
col = SMI >= ob ? color.green : SMI <= os ? color.red : color.white

plot(SMIsignal, title="Stochastic", color=color.white)

plot(emasignal, title="EMA", color=color.yellow)

level_40 = ob
level_40smi = SMIsignal > level_40 ? SMIsignal : level_40

level_m40 = os
level_m40smi = SMIsignal < level_m40 ? SMIsignal : level_m40

plot(level_40, "Level ob", color=color.red)
plot(level_40smi, "Level ob SMI", color=color.red, style=plot.style_line)

plot(level_m40, "Level os", color=color.green)
plot(level_m40smi, "Level os SMI", color=color.green, style=plot.style_line)

//fill(level_40, level_40smi, color=color.red, transp=ob, title="OverSold")
//fill(level_m40, level_m40smi, color=color.green, transp=ob, title="OverBought")

// Strategy Tester
longCondition = ta.crossover(SMIsignal, emasignal) and (SMI < os)
if (longCondition)
    strategy.entry("Buy", strategy.long)

shortCondition = ta.crossunder(SMIsignal, emasignal) and (SMI > ob)
if (shortCondition)
    strategy.entry("Sell", strategy.short)


Lebih banyak