Strategi perdagangan kuantitatif berdasarkan SMA dan EMA


Tanggal Pembuatan: 2023-12-12 12:31:25 Akhirnya memodifikasi: 2023-12-12 12:31:25
menyalin: 0 Jumlah klik: 401
1
fokus pada
1212
Pengikut

Strategi perdagangan kuantitatif berdasarkan SMA dan EMA

1. Gambaran Umum Strategi

Strategi ini disebut dengan strategi perdagangan kuantitatif berdasarkan SMA, EMA, dan ide utamanya adalah menggabungkan parameter yang berbeda dari rata-rata SMA dan rata-rata EMA untuk membangun sinyal perdagangan.

2. Prinsip Strategi

  1. Perhitungan harga close pada SMA9, SMA50, SMA180 dan EMA20

  2. Berdasarkan hubungan harga penutupan dekat dengan titik support sup dan titik resistance res, menentukan sinyal beli dan sinyal jual. Ketika dekat menerobos sup menghasilkan sinyal beli BuySignal, ketika dekat menembus res menghasilkan sinyal jual SellSignal

  3. Melakukan strategi membuka posisi multipel saat membeli pemicu sinyal; meratakan posisi multipel saat menjual pemicu sinyal.

  4. Saat menjual sinyal trigger, lakukan strategi buka posisi kosong; saat membeli sinyal trigger, hapus posisi kosong.

Ketiga, analisis kekuatan strategi.

  1. Kombinasi dari beberapa garis rata-rata untuk membentuk sinyal perdagangan, meningkatkan akurasi dan stabilitas sinyal.

  2. Perhitungan resistansi dukungan yang dinamis, membuat sinyal perdagangan lebih kuat.

  3. Garis rata-rata berfluktuasi tinggi dan rendah digunakan, yang berfokus pada penilaian tren jangka panjang dan mempertimbangkan terobosan jangka pendek untuk meningkatkan peluang strategi untuk mendapatkan tingkat keuntungan.

  4. Dukungan untuk melakukan lebih banyak perdagangan dua arah dalam kondisi tren dan goncangan.

Keempat, analisis risiko strategis

  1. SMA rata-rata memiliki keterlambatan, yang dapat menyebabkan sinyal beli dan jual tertunda, sehingga mempengaruhi efektivitas strategi.

  2. Jika tidak ada mekanisme stop loss, maka kerugian yang didapatkan bisa bertambah.

  3. Data retrospektif tidak memadai, parameter dalam hard disk perlu disesuaikan dengan pasar.

  4. Ini adalah indikator teknis yang digunakan untuk membentuk sinyal perdagangan, yang tidak dapat menanggapi dampak dari peristiwa Black Swan yang signifikan.

Solusi untuk menghadapi risiko:

  1. Siklus rata-rata SMA yang disesuaikan;
  2. Menetapkan Stop Loss yang wajar;
  3. Meningkatkan jumlah sampel yang ditinjau kembali dan menyesuaikan parameternya;
  4. Sistem pengendalian angin membutuhkan perbaikan lebih lanjut.

Kelima, optimalisasi strategi

  1. Meningkatkan mekanisme stop loss berdasarkan volatilitas untuk mengendalikan kerugian tunggal.

  2. Menambahkan model pembelajaran mesin untuk menilai tren pasar, membantu membentuk sinyal perdagangan.

  3. Menambahkan modul analisis titik harga kunci untuk meningkatkan akurasi penilaian dukungan resistensi.

  4. Uji kombinasi parameter indikator rata-rata yang berbeda untuk mencari parameter yang lebih baik.

Keenam, Kesimpulan Strategi

Strategi ini menggunakan indikator teknis SMA rata-rata dan EMA rata-rata untuk membangun sinyal perdagangan, dan juga menghitung resistance level dukungan yang dinamis, membentuk logika strategi jual beli yang lebih lengkap. Strategi logis memiliki parameter indikator yang fleksibel, perdagangan dua arah, dan beradaptasi dengan berbagai situasi, tetapi juga menghadapi masalah seperti keterlambatan rata-rata, stop loss yang tidak sempurna.

]

Kode 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)