Strategi perdagangan kuantitatif berdasarkan purata bergerak eksponen penyesuaian


Tarikh penciptaan: 2023-12-18 10:34:55 Akhirnya diubah suai: 2023-12-18 10:34:55
Salin: 0 Bilangan klik: 392
1
fokus pada
1166
Pengikut

Strategi perdagangan kuantitatif berdasarkan purata bergerak eksponen penyesuaian

Gambaran keseluruhan

Artikel ini akan mengkaji strategi perdagangan kuantitatif yang berdasarkan pada purata bergerak eksponensial adaptif (AEMA). Strategi ini menggunakan bentuk pergerakan tanpa akhir Indeks Momentum Stochastic (SMI), yang menggabungkan isyarat purata bergerak indeks sebagai garis, menetapkan had overbought dan oversold yang boleh disesuaikan untuk meningkatkan kebarangkalian pelaksanaan perdagangan.

Prinsip Strategi

Strategi ini menggunakan dua jenis panjang SMI yang berbeza, iaitu satu panjang pendek dan satu panjang panjang, perbezaan antara kedua-dua jarak dapat menghasilkan isyarat perdagangan. Selain itu, strategi ini juga menggunakan purata bergerak indeks sebagai garis isyarat. Untuk menghapuskan isyarat palsu, isyarat masuk ganda hanya berlaku apabila SMI berada di bawah garis jual-beli dan garis isyarat juga berada di bawah garis jual-beli; isyarat kosong memerlukan SMI lebih tinggi daripada garis beli-beli dan garis isyarat juga lebih tinggi daripada garis beli.

Kelebihan Strategik

Kelebihan terbesar strategi ini adalah kesesuaian. Strategi ini menggunakan kriteria overbought dan oversold yang boleh disesuaikan untuk menyesuaikan secara dinamik untuk melakukan banyak shorting. Mekanisme ini membolehkan parameter strategi disesuaikan dan dioptimumkan mengikut keadaan pasaran yang berbeza, untuk menyesuaikan diri dengan jenis situasi yang lebih luas.

Risiko Strategik

Risiko terbesar strategi ini terletak pada ketergantungan pada parameter yang ditetapkan. Jika parameter yang ditetapkan tidak betul, ia mudah menghasilkan banyak isyarat perdagangan yang tidak sah. Selain itu, SMI sebagai satu petunjuk impuls, tidak sesuai untuk pasaran yang bergolak secara rawak.

Arah pengoptimuman strategi

Strategi ini masih mempunyai beberapa arah yang boleh dioptimumkan. Pertama, anda boleh menguji kombinasi panjang SMA yang berbeza untuk mencari pasangan parameter terbaik. Kedua, anda boleh mempertimbangkan untuk menetapkan stop loss berhampiran titik masuk untuk mengawal kerugian tunggal. Ketiga, anda boleh menggabungkan indikator lain seperti RSI, Bollinger Bands dan lain-lain untuk menetapkan garis overbought dan oversold yang dinamik.

ringkaskan

Artikel ini menguraikan prinsip, kelebihan, risiko dan arah pengoptimuman strategi perdagangan tanpa had SMI yang beradaptasi. Strategi ini menggunakan penapisan isyarat yang beradaptasi dengan nilai terendah dan purata bergerak indeks, yang dapat memanfaatkan peluang garis pendek pasaran dengan berkesan. Walaupun terdapat ketergantungan parameter tertentu, tetapi dengan kawalan risiko yang ketat dan pengoptimuman pelbagai aspek, strategi ini masih mempunyai nilai praktikal yang cukup.

Kod sumber strategi
/*backtest
start: 2023-12-10 00:00:00
end: 2023-12-17 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// © DraftVenture

//@version=5
strategy(title="Adaptive SMI Ergodic Strategy", shorttitle="Adaptive SMI Strategy", overlay = false)
longlen = input.int(12, minval=1, title="Long Length")
shortlen = input.int(5, minval=1, title="Short Length")
siglen = input.int(5, minval=1, title="Signal Line Length")
overS = input.float(-0.4, title = "Oversold", step = 0.01)
overB = input.float(0.4, title = "Overbought", step = 0.01)
erg = ta.tsi(close, shortlen, longlen)
sig = ta.ema(erg, siglen)
plot(erg, color = color.yellow, title = "SMI")
plot(sig, color = color.purple, title="Signal")
hline(0, title = "Zero", color = color.gray, linestyle = hline.style_dotted)
h0 = hline(overB, color = color.gray, title = "Overbought Threshold")
h1 = hline(overS, color = color.gray, title = "Oversold Threshold")
fill(h0, h1, color=color.rgb(25, 117, 192, 90), title = "Background")

longEntry = ta.crossover(erg, sig) and erg > overS and sig < overS
shortEntry = ta.crossunder(erg, sig) and erg < overB and sig > overB

if longEntry
    strategy.entry("Long", strategy.long)

if shortEntry
    strategy.entry("Short", strategy.short)

// ______ _________ 
// ___  //_/__  __ \
// __  ,<  __  /_/ /
// _  /| | _  ____/ 
// /_/ |_| /_/