Strategi perdagangan kuantitatif berdasarkan operasi rata-rata pergerakan bulanan


Tanggal Pembuatan: 2023-12-15 11:49:06 Akhirnya memodifikasi: 2023-12-15 11:49:06
menyalin: 2 Jumlah klik: 656
1
fokus pada
1621
Pengikut

Strategi perdagangan kuantitatif berdasarkan operasi rata-rata pergerakan bulanan

Ringkasan

Strategi ini terutama didasarkan pada garis rata dari garis bulan dan garis kuartal untuk operasi, khususnya adalah garis 20 sebagai garis bulan, garis 60 sebagai garis kuartal, sumber sinyal strategi adalah dua garis rata dari garpu emas dan garpu mati. Ketika melewati garis bulan di garis bulan, longing, membentuk sinyal multihead; ketika melewati garis bulan di bawah garis kuartal, melakukan pencairan posisi kosong.

Prinsip Strategi

Strategi ini menggunakan 20 hari rata-rata bergerak sederhana sebagai indikator garis bulan, 60 hari rata-rata bergerak sederhana sebagai indikator garis quarter. Logika pembuatan sinyal perdagangan spesifik adalah sebagai berikut:

  1. Ketika 20th Line melewati 60th Line, yaitu saat terjadi Gold Fork, buatlah tambahan entri.
  2. Jika harga saham lebih dari 10% mundur dari titik tertinggi dalam 10 hari, posisi kosong akan berhenti.
  3. Ketika 20 di bawah garis melewati 60 di bawah garis, maka terjadi dead fork.
  4. Ketika kerugian mencapai 10%, stop loss berangkat.

Untuk menilai tren garis panjang menengah dengan persilangan rata-rata garis bulan dan garis kuartal, garpu emas menunjukkan masuk ke pasar banteng garis panjang menengah, garpu mati menunjukkan masuk ke pasar beruang garis panjang menengah. Dalam kombinasi dengan strategi stop loss untuk mengendalikan risiko.

Keunggulan Strategis

  1. Menggunakan garis rata-rata bulanan, memfilter kebisingan pasar, dan menangkap tren garis tengah dan panjang.
  2. Parameter kebijakan sederhana dan mudah diterapkan.
  3. Pengaturan parameter Stop Loss, pengendalian risiko

Analisis risiko

  1. Tidak dapat menentukan titik baliknya, ada risiko kerugian.
  2. Garis bulan dan garis rata-rata bulan terlambat, mungkin kehilangan kesempatan untuk garis pendek.
  3. Anda harus memilih titik tolak yang tepat, agar tidak terlalu radikal.

Solusi:

  1. Menggunakan mobile stop loss tracking, stop loss tepat waktu.
  2. Ini juga dapat digunakan untuk memfilter sinyal dan menentukan tren.
  3. Adaptasi parameter garis rata-rata, strategi optimasi.

Arah optimasi strategi

  1. Tambahkan filter untuk indikator lain, seperti indikator KD, untuk menghindari false breakout.
  2. Optimalkan parameter garis rata untuk mencari kombinasi periode garis rata yang optimal.
  3. Tambahkan strategi stop-loss, seperti stop-loss bergerak, untuk mendapatkan lebih banyak keuntungan.

Meringkaskan

Strategi ini Overall XXXXX sistematically memanfaatkan keunggulan garis rata-rata bulan-kuartal, dengan garis rata-rata mata uang emas untuk menilai arah tren garis panjang. Pada saat yang sama, konfigurasi yang masuk akal mekanisme pengendalian risiko penghentian kerugian. Strategi ruang optimasi masih besar, layak untuk tes lebih lanjut optimasi.

Kode Sumber Strategi
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("均線操作-月季", overlay=true, initial_capital = 100000, default_qty_type = strategy.percent_of_equity, default_qty_value = 30)
sma20 = sma(close, 20)
sma60 = sma(close, 60)

plot(sma20, title="月線", color=color.purple,linewidth=2)
plot(sma60, title="季線", color=color.yellow,linewidth=2)

backtest_year = input(title="backtest_year",type=input.integer,defval=2020)
backtest_month = input(title="backtest_month",type=input.integer,defval=10)
backtest_date = input(title="backtest_date",type=input.integer,defval=1)
backtest_start_time = timestamp(backtest_year,backtest_month,backtest_date,0,0,0)

to_long = sma20 > sma60  and close > highest(10)*0.9 // 黃金交叉
to_close = sma20 < sma60 // 死亡交叉
to_exit = close < highest(10)*0.9 //股價嚴重回檔
to_stop = close < 0.9*strategy.position_avg_price 

// to_long = crossover(sma20, sma60)   // 黃金交叉
// to_close = crossunder(sma20, sma60) // 死亡交叉

//plotchar(to_long, char="B", text="買", color=color.red, location=location.belowbar)
//plotchar(to_close, char="S", text="賣", color=color.green, location=location.abovebar)
//strategy.close("open long",when = tslide, comment="多單滑價7%出場")
if true
    strategy.entry("golden", strategy.long,  when=to_long,comment="多單入場")
    strategy.close("golden",  when=to_exit,comment="多單滑價7%出場")
    strategy.close("golden",  when=to_close,comment="月線季線死亡交叉")
    strategy.close("golden",  when=to_stop,comment="虧損10%強迫停損")