Strategi perdagangan IGKEIT multi-waktu berdasarkan amplitudo rata-rata lintasan


Tanggal Pembuatan: 2023-11-24 17:29:39 Akhirnya memodifikasi: 2023-11-24 17:29:39
menyalin: 2 Jumlah klik: 586
1
fokus pada
1617
Pengikut

Strategi perdagangan IGKEIT multi-waktu berdasarkan amplitudo rata-rata lintasan

Ringkasan

Strategi ini diberi nama strategi perdagangan berjangka waktu berjangka waktu berdasarkan amplitudo rata-rata lintasan. Gagasan utamanya adalah untuk membangun sinyal perdagangan berdasarkan amplitudo rata-rata antara partikel dan harga dengan memperkenalkan partikel yang sesuai dengan lintasan harga.

Prinsip Strategi

Strategi ini pertama-tama mendefinisikan sebuah partikel yang sesuai dengan orbit harga. Partikel ini dipengaruhi oleh gravitasi dan inersia, dan jalur geraknya berputar di sekitar harga. Kemudian menghitung jarak rata-rata deviasi antara partikel dan harga, dan dengan demikian membangun orbit ke atas ke bawah.

Secara khusus, rumus posisi partikel yang didefinisikan dalam strategi adalah:

pos:=if pos<close 
     nz(pos[1])+grav+traj  
else 
     nz(pos[1])-(grav)+traj

Di sini.gravIni adalah titik gravitasi yang membawa partikel ke arah harga.trajTanda ini mewakili elemen inersia, yang memungkinkan partikel untuk mempertahankan tren gerak. Kedua kombinasi ini memungkinkan partikel bergoyang di sekitar harga.

Dan kemudian menghitung rata-rata jarak dari harga ke partikel.avgdistDan dengan ini membangun lintasan atas dan bawah:

bbl=pos-sma(avgdist,varb) 
bbh=pos+sma(avgdist,varb)

Akhirnya, jika harga lebih besar dari naik, maka lebih banyak, dan jika harga lebih kecil dari turun, maka lebih sedikit.

Keunggulan Strategis

Strategi ini memiliki beberapa keuntungan dibandingkan dengan strategi rata-rata bergerak tradisional:

  1. Dengan menggunakan lintasan partikel untuk lebih baik mensimulasikan pergerakan harga.
  2. Orbit atas dan bawah dapat disesuaikan berdasarkan amplitudo rata-rata historis, yang membantu menangkap terobosan;
  3. Desain multi-frame yang memungkinkan Anda untuk beralih antara frame waktu yang tinggi dan rendah untuk menangkap lebih banyak peluang perdagangan.

Risiko Strategis

Strategi ini juga memiliki beberapa risiko:

  1. pengaturan parameter gerak partikel yang tidak tepat dapat menyebabkan sinyal palsu atau sinyal yang hilang;
  2. Ada kemungkinan sinyal bertentangan saat beralih dari satu frame waktu ke frame waktu lainnya.
  3. Menembus sinyal orbit atas dan bawah dapat meningkatkan risiko kerusakan.

Langkah-langkah manajemen risiko yang sesuai meliputi: optimasi parameter untuk mengurangi sinyal palsu, mendefinisikan aturan waktu yang jelas dalam kerangka waktu, mengatur posisi stop loss yang tepat, dan sebagainya.

Arah optimasi strategi

Kebijakan ini dapat dioptimalkan dalam beberapa hal:

  1. Optimalkan parameter yang terkait dengan pergerakan partikel untuk menyesuaikan dengan lintasan harga;
  2. Peningkatan jumlah lapisan dalam kerangka waktu untuk mengkonfirmasi sinyal pada kerangka waktu yang lebih tinggi;
  3. Menambahkan penilaian indikator volatilitas untuk menghindari sinyal ketika pasar bergejolak;
  4. Optimalkan strategi stop loss untuk mengurangi single stop loss.

Meringkaskan

Strategi ini meningkatkan strategi moving average dengan memperkenalkan adaptasi trajectory harga, dengan karakteristik seperti parameter adaptasi, multi-time frame, dan optimasi stop loss. Kuncinya adalah menemukan persamaan gerak partikel yang tepat untuk mensimulasikan harga. Meskipun masih perlu pengujian dan pengoptimalan lebih lanjut, gagasan dasar ini layak dan layak untuk diteliti lebih lanjut.

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

//@version=4
//2 revert
strategy("Jomy's Gyroscopic Bands",precision=8,commission_value=.03,overlay=true,initial_capital =10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100,  pyramiding=0)//,calc_on_order_fills= true, calc_on_every_tick=false) 
leverage=input(1,"leverage")
a=0
a:= if volume > -1
    nz(a[1])+1
else
    nz(a)
    
vara=input(4.0,"variable a (10 to the power of __ ",step=.5)
vara:=pow(10,vara)
varb=input(12,"variable b")
pos=0.0
pos:=if a<=5
    close
else
    nz(pos[1])
grav=1/sqrt((close*close))*vara
traj=0.0
traj:=(nz(close[1])-nz(close[2])+nz(traj[1])*varb)/(varb+1)
pos:=if pos<close
    nz(pos[1])+grav+traj
else
    nz(pos[1])-(grav)+traj

plot(pos,color=color.white)
plot(close)

avgdist=abs(close-pos)
bbl=pos-sma(avgdist,varb)
bbh=pos+sma(avgdist,varb)

plbbh=plot(bbh,color=color.red)
plbbl=plot(bbl,color=color.red)

long = close>pos
short = close<pos

fill(plbbh,plbbl,color=long?color.lime:color.red)
//bgcolor(close>bbh?color.lime:close<bbl?color.red:na,transp=90)

strategy.entry("Long1",strategy.long,when=long,qty=(strategy.equity*leverage/open)) 
strategy.close("Long1",when=not long)
strategy.entry("Short1",strategy.short,when=short,qty=(strategy.equity*leverage/open)) 
strategy.close("Short1",when=not short)


//plot(strategy.equity,color=color.lime,linewidth=4)