Artikel ini memperkenalkan strategi untuk melacak tren saham berdasarkan indikator Stochastics Momentum Index (SMI). Strategi ini disebut
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.
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.
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.
Strategi ini dapat ditingkatkan lagi dari aspek berikut:
Menggabungkan indikator lain untuk membentuk sistem sindikat. Ini membantu meningkatkan keandalan sinyal dan profitabilitas. Faktor-faktor dasar dan ukuran volatilitas dapat ditambahkan.
Menggunakan pembelajaran mesin untuk secara otomatis mengoptimalkan parameter SMI berdasarkan data historis besar.
Menambahkan mekanisme stop loss. Stop loss yang wajar sangat mengurangi kerugian perdagangan tunggal dan menghindari risiko.
Menggabungkan aturan skrining stok kuantitatif untuk meningkatkan kualitas keseluruhan kumpulan stok.
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)