Strategi Pelayar Momentum Berdasarkan Indeks Momentum Stochastics

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

img

Ringkasan

Artikel ini memperkenalkan strategi untuk mengesan trend saham berdasarkan indikator Indeks Momentum Stochastics (SMI). Strategi ini dipanggil Momentum Surfer Strategy. Ia mengenal pasti kawasan overbought dan oversold dengan SMI dan masuk panjang / pendek untuk mendapat keuntungan daripada pembalikan trend.

Logika Strategi

Indikator SMI digunakan untuk mengenal pasti zon overbought dan oversold. Nilai di kawasan merah menunjukkan stok terlalu dijual sementara kawasan hijau bermaksud keadaan overbought. Isyarat perdagangan dihasilkan dari persilangan antara SMI dan garis EMA.

Secara khusus, isyarat panjang diaktifkan apabila SMI melintasi di atas EMA dan SMI di bawah tahap oversold -40 Isyarat pendek diaktifkan apabila SMI melintasi di bawah EMA dan SMI di atas tahap overbought 40.

Dengan berbuat demikian, strategi ini dapat menangkap pembalikan harga dan melaksanakan beli rendah jual tinggi.

Analisis Kelebihan

Kelebihan terbesarnya terletak pada keupayaannya untuk mengikuti trend. kerana ia menggunakan SMI untuk menentukan titik masuk dan keluar, isyarat sejajar dengan sempurna dengan pembalikan harga.

Selain itu, SMI sendiri mempunyai ciri penyelarasan harga. Berbanding dengan purata bergerak mudah, ia bertindak balas dengan lebih mantap terhadap perubahan harga. Isyarat perdagangan lebih boleh dipercayai tanpa mudah dipengaruhi oleh bunyi bising pasaran.

Ringkasnya, strategi ini berjaya memanfaatkan kekuatan SMI untuk menjejaki trend saham dengan berkesan.

Analisis Risiko

Strategi ini sangat bergantung pada penunjuk SMI, oleh itu menghadapi beberapa risiko yang berkaitan.

Pertama, SMI sensitif terhadap penyesuaian parameter. Parameter yang tidak betul boleh menjejaskan kualiti isyarat dengan ketara. Ujian yang luas diperlukan untuk mencari yang optimum.

Selain itu, tiada penunjuk yang kebal terhadap isyarat palsu, termasuk SMI. Whipsaws boleh berlaku semasa turun naik yang tinggi yang menyebabkan kerugian yang tidak perlu.

Akhirnya, ia tidak mengurangkan risiko pasaran sistemik. Kerugian yang teruk tidak dapat dielakkan jika seluruh pasaran terjun ke keadaan beruang.

Peningkatan

Strategi ini boleh ditingkatkan lagi dari aspek berikut:

  1. Menggabungkan penunjuk lain untuk membentuk sistem sindikat. Ia membantu meningkatkan kebolehpercayaan isyarat dan keuntungan. Faktor asas dan ukuran turun naik boleh ditambah.

  2. Menggunakan pembelajaran mesin untuk mengoptimumkan parameter SMI secara automatik berdasarkan data sejarah yang besar.

  3. Tambah mekanisme stop loss. Stop loss yang munasabah sangat mengurangkan kerugian perdagangan tunggal dan mengelakkan risiko.

  4. Menggabungkan peraturan skrin stok kuantitatif untuk meningkatkan kualiti keseluruhan kumpulan stok.

Kesimpulan

Dalam artikel ini, kami memperkenalkan strategi Momentum Surfer yang mengesan trend dengan penunjuk SMI. Kekuatannya yang terbesar terletak pada menangkap pembalikan dan mengikuti trend dengan lancar. Beberapa risiko seperti sensitiviti parameter dan kualiti isyarat hadir. Kami mencadangkan beberapa cara untuk meningkatkannya. Secara keseluruhan, strategi ini menarik untuk perdagangan algo dan bernilai pengesahan perdagangan sebenar.


/*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 lanjut