Strategi perdagangan kuantitatif berdasarkan SMA dan EMA


Tarikh penciptaan: 2023-12-12 12:31:25 Akhirnya diubah suai: 2023-12-12 12:31:25
Salin: 0 Bilangan klik: 669
1
fokus pada
1621
Pengikut

Strategi perdagangan kuantitatif berdasarkan SMA dan EMA

I. Gambaran Strategik

Strategi ini dinamakan sebagai strategi perdagangan kuantitatif berdasarkan SMA, EMA, dan idea utamanya adalah menggabungkan parameter yang berbeza dari rata-rata SMA dan rata-rata EMA untuk membina isyarat perdagangan.

2. Prinsip Strategi

  1. Hitung garis rata-rata SMA9, SMA50, SMA180, dan EMA20 pada harga tutup.

  2. Berdasarkan hubungan harga penutupan dengan sokongan dan rintangan res, tentukan isyarat beli dan isyarat jual. Apabila menutup menembusi sup, ia menghasilkan isyarat beli. Apabila menutup menembusi res, ia menghasilkan isyarat jual.

  3. Melakukan strategi bukaan posisi berganda apabila membeli pemicu isyarat; menebus kedudukan berganda apabila menjual pemicu isyarat.

  4. Melakukan strategi bukaan kosong apabila menjual isyarat yang mencetuskan; menebus kedudukan kosong apabila membeli isyarat yang mencetuskan.

Ketiga, Analisis Keunggulan Strategi

  1. Gabungan pelbagai garis rata untuk membentuk isyarat dagangan, meningkatkan ketepatan dan kestabilan isyarat.

  2. Ia adalah satu kaedah yang boleh digunakan untuk membuat tanda dagangan yang lebih kukuh.

  3. Garis purata turun naik rendah dan tinggi digunakan, memberi tumpuan kepada penilaian trend jangka panjang dan mempertimbangkan perlanggaran jangka pendek untuk meningkatkan peluang strategi untuk memperoleh kadar keuntungan.

  4. Sokongan untuk melakukan lebih banyak dagangan dua hala dalam bentuk forex, yang boleh menghasilkan keuntungan dalam keadaan trend dan juga dalam keadaan goncangan.

Analisis Risiko Strategi

  1. Garis rata-rata SMA mempunyai kelewatan, yang boleh menyebabkan isyarat beli dan jual ditangguhkan, yang akan menjejaskan keberkesanan strategi.

  2. Tanpa mekanisme hentian kerugian, kerugian pegangan mungkin meningkat.

  3. Data pengesanan tidak mencukupi, parameter dalam cakera tetap perlu diselaraskan mengikut pasaran.

  4. Bergantung kepada petunjuk teknikal untuk membentuk isyarat dagangan, ia tidak dapat menanggung kesan daripada peristiwa Black Swan yang besar.

Penyelesaian untuk menghadapi risiko:

  1. Pengesuaian kitaran rata-rata SMA;
  2. Menetapkan kedudukan stop loss yang munasabah;
  3. Meningkatkan jumlah sampel yang diambil dan menyesuaikan parameter.
  4. Sistem kawalan angin perlu diperbaiki.

Lima, Strategi Untuk Mengoptimumkan

  1. Menambah mekanisme penangguhan berdasarkan kadar turun naik untuk mengawal kerugian tunggal.

  2. Menambah model pembelajaran mesin untuk menilai trend pasaran, membantu membentuk isyarat perdagangan.

  3. Menambah modul analisis harga kunci untuk meningkatkan ketepatan penilaian sokongan rintangan.

  4. Uji kombinasi parameter penunjuk rata-rata yang berbeza untuk mencari parameter yang lebih baik.

6. Ringkasan Strategi

Strategi ini menggunakan indikator teknikal rata-rata SMA dan rata-rata EMA untuk membina isyarat perdagangan, dan mengira tahap rintangan sokongan yang dinamik, untuk membentuk logik strategi jual beli yang lebih lengkap. Strategi logik mempunyai kelebihan parameter indikator yang fleksibel, perdagangan dua hala, dan menyesuaikan diri dengan pelbagai keadaan, tetapi juga menghadapi masalah seperti ketinggalan rata-rata, penghentian kerugian yang tidak sempurna.

]

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

//@version=4
strategy(title="StrategySMA 9/50/180 | EMA 20 | BUY/SELL", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

//SMA and EMA code
smaInput1 = input(9, title="SMA1")
smaInput2 = input(50, title="SMA2")
smaInput3 = input(180, title="SMA3")
emaInput1 = input(20, title="EMA1")
sma1 = sma(close, smaInput1)
sma2 = sma(close, smaInput2)
sma3 = sma(close, smaInput3)
EMA1 = ema(close, emaInput1)
plot(sma1, color= color.red , title="SMA1")
plot(sma2, color = color.blue, title="SMA2")
plot(sma3, color= color.white, title="SMA3")
plot(EMA1, color = color.yellow, title="EMA1")

no=input(3,title="BUY/SELL Swing")
Barcolor=input(false,title="BUY/SELL Bar Color")
Bgcolor=input(false,title="BUY/SELL Background Color")
res=highest(high,no)
sup=lowest(low,no)
avd=iff(close>res[1],1,iff(close<sup[1],-1,0))
avn=valuewhen(avd!=0,avd,0)
tsl=iff(avn==1,sup,res)

// Buy/sell signals
BuySignal = crossover(close, tsl)
SellSignal = crossunder(close, tsl)

// Enter long position
strategy.entry("Buy", strategy.long, when=BuySignal)

// Exit long position
strategy.exit("Sell", "Buy", when=SellSignal)

// Enter short position
strategy.entry("Sell", strategy.short, when=SellSignal)

// Exit short position
strategy.exit("Buy", "Sell", when=BuySignal)

colr = close>=tsl ? color.green : close<=tsl ? color.red : na
plot(tsl, color=colr)