Strategi Kuantitatif Purata Pergerakan Berbilang dan Stochastic Oscillator Crossover

SMA MA
Tarikh penciptaan: 2024-12-12 17:23:02 Akhirnya diubah suai: 2024-12-12 17:23:02
Salin: 0 Bilangan klik: 414
1
fokus pada
1617
Pengikut

Strategi Kuantitatif Purata Pergerakan Berbilang dan Stochastic Oscillator Crossover

Gambaran keseluruhan

Strategi ini adalah strategi perdagangan kuantitatif yang berdasarkan pada pelbagai purata bergerak dan tanda-tanda penyambungan penunjuk goyah rawak. Strategi ini menggunakan purata bergerak jangka pendek, pertengahan dan jangka panjang secara komprehensif, menggabungkan ciri-ciri overbought dan oversold penunjuk goyah rawak, untuk menangkap titik-titik perubahan trend pasaran dan peluang perdagangan melalui pengesahan pelbagai isyarat.

Prinsip Strategi

Strategi ini menggunakan lima purata bergerak pada 3, 5, 6, 10 dan 80 hari, serta penunjuk goyah rawak (Stochastic Oscillator). Isyarat perdagangan dicetuskan berdasarkan syarat berikut:

  1. Sinyal beli: Dipicu apabila MA10 melintasi MA5 dan MA6, dan pada masa yang sama melintasi D pada garis K pada penunjuk getaran rawak.
  2. Sinyal jual: apabila MA5 melalui MA10 dan MA6 di bawah, dan apabila D-line di bawah penunjuk goyah rawak melalui K-line di bawah, ia akan mencetuskan. Strategi menggunakan nilai% K pada 15 kitaran dan nilai% D pada 9 kitaran untuk melonggarkan lagi isyarat dengan rata-rata meluncur.

Kelebihan Strategik

  1. Mekanisme pengesahan berbilang: pengesahan silang pelbagai purata bergerak dan penunjuk goyah rawak secara berkesan mengurangkan risiko penembusan palsu.
  2. Pengesanan trend digabungkan dengan kejutan: ia boleh menangkap trend dan mengenal pasti kawasan yang terlalu banyak dibeli dan dijual, meningkatkan ketepatan dagangan.
  3. Kestabilan isyarat: Pengesahan silang menggunakan purata bergerak berganda untuk menyaring kebisingan pasaran
  4. Adaptif: boleh digunakan dalam pelbagai keadaan pasaran dan tempoh masa.

Risiko Strategik

  1. Risiko keterlambatan: Rata-rata bergerak pada dasarnya adalah penunjuk keterlambatan, yang boleh menyebabkan sedikit kelewatan masa masuk dan keluar.
  2. Risiko pasaran tidak menentu: Isyarat palsu yang kerap mungkin berlaku dalam pasaran mendatar dan tidak menentu.
  3. Sensitiviti parameter: Tetapan parameter untuk pelbagai indikator perlu diuji dengan baik, dan mungkin perlu disesuaikan dengan keadaan pasaran yang berbeza.
  4. Isyarat bertentangan: pelbagai petunjuk mungkin menghasilkan isyarat yang bertentangan, dan mekanisme keutamaan yang jelas diperlukan.

Arah pengoptimuman strategi

  1. Penyesuaian parameter dinamik: Peralihan purata bergerak dan parameter oscillator rawak boleh disesuaikan secara automatik mengikut turun naik pasaran.
  2. Menambah penapis trend: memperkenalkan penunjuk trend seperti ADX, menyesuaikan parameter strategi semasa trend kuat.
  3. Optimumkan mekanisme hentian kerugian: tambah penggunaan gabungan hentian yang dikesan dan hentian yang tetap.
  4. Penambahan pengesahan kuantiti pertukaran: Gabungan penunjuk kuantiti pertukaran untuk pengesahan isyarat, meningkatkan kebolehpercayaan.
  5. Pengiktirafan keadaan pasaran: menambah modul penilaian keadaan pasaran, menggunakan parameter yang berbeza dalam keadaan pasaran yang berbeza.

ringkaskan

Strategi ini menggunakan kombinasi pelbagai purata bergerak dan indikator goyah rawak untuk mewujudkan sistem perdagangan yang agak sempurna. Kelebihan strategi ini adalah kebolehpercayaan isyarat dan kestabilan sistem, tetapi juga perlu berhati-hati untuk mengawal kos perdagangan dan kesesuaian dengan keadaan pasaran. Dengan pengoptimuman dan penyempurnaan yang berterusan, strategi ini dijangka menghasilkan keuntungan yang stabil dalam perdagangan sebenar.

Kod sumber strategi
/*backtest
start: 2019-12-23 08:00:00
end: 2024-12-10 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Moving Average and Stochastic Crossover Strategy", overlay=true)

// Calculate the moving averages
ma3 = ta.sma(close, 3)
ma5 = ta.sma(close, 5)
ma6 = ta.sma(close, 6)
ma10 = ta.sma(close, 10)
ma80 = ta.sma(close, 80)

// Stochastic Oscillator with settings %K(15), %D(9), and slowing 9
k = ta.stoch(close, high, low, 15)
d = ta.sma(k, 9)
slow_d = ta.sma(d, 9)

// Buy signal confirmation: MA10 crosses above MA5, MA6, and K line crosses above D line
buySignalConfirmation = ta.crossover(ma10, ma5) and ta.crossover(ma10, ma6) and ta.crossover(k, d)

// Sell signal confirmation: MA5 crosses above MA10, MA6, and D line crosses above K line
sellSignalConfirmation = ta.crossunder(ma5, ma10) and ta.crossunder(ma5, ma6) and ta.crossunder(d, k)

// Strategy logic
if (buySignalConfirmation)
    strategy.entry("Buy", strategy.long)
    
if (sellSignalConfirmation)
    strategy.entry("Sell", strategy.short)

// Plot the moving averages and Stochastic Oscillator for visualization
plot(ma3, color=color.orange, title="MA3", linewidth=2)
plot(ma5, color=color.blue, title="MA5", linewidth=2)
plot(ma6, color=color.purple, title="MA6", linewidth=2)
plot(ma10, color=color.green, title="MA10", linewidth=2)
plot(ma80, color=color.red, title="MA80", linewidth=2)

plot(k, color=color.blue, title="%K", linewidth=2)
plot(d, color=color.red, title="%D", linewidth=2)
plot(slow_d, color=color.purple, title="Slow %D", linewidth=2)