
Strategi ini dinamakan strategi perdagangan berjangkit berjangkit berdasarkan pergerakan rata-rata pergerakan. Gagasan utamanya adalah untuk membina isyarat perdagangan berdasarkan pergerakan rata-rata antara pergerakan rata-rata pergerakan dan harga dengan memperkenalkan partikel yang sesuai dengan pergerakan harga.
Strategi ini mula-mula menentukan partikel yang sesuai dengan orbit harga. Partikel ini dipengaruhi oleh graviti dan inersia, dan pergerakan lintasan akan berayun di sekitar harga. Kemudian, jarak rata-rata penyimpangan antara partikel dan harga dikira, dan dengan itu membina orbit ke atas dan ke bawah.
Secara khusus, formula kedudukan zarah yang ditakrifkan dalam strategi adalah:
pos:=if pos<close
nz(pos[1])+grav+traj
else
nz(pos[1])-(grav)+traj
Di sini.gravIa mewakili titik graviti yang membawa zarah ke arah harga.trajNombor ini mewakili unsur inersia, yang membolehkan zarah-zarah itu bergerak. Kedua-dua unsur ini membolehkan zarah-zarah itu bergoyang di sekitar harga.
Dan kemudian kita mengira jarak rata-rata antara harga dan zarah.avgdistIa juga boleh digunakan untuk menjana pendapatan dan menjana pendapatan.
bbl=pos-sma(avgdist,varb)
bbh=pos+sma(avgdist,varb)
Akhirnya, apabila harga lebih besar daripada naik, lebih banyak, dan apabila harga lebih kecil daripada turun, lebih sedikit.
Strategi ini mempunyai kelebihan berbanding strategi purata bergerak tradisional:
Strategi ini juga mempunyai risiko:
Langkah-langkah pengurusan risiko yang sesuai termasuk: optimasi parameter untuk mengurangkan isyarat palsu, menentukan peraturan masa masa yang jelas dalam jangka masa, menetapkan kedudukan hentian yang sesuai, dan sebagainya.
Kaedah ini boleh dioptimumkan dalam beberapa aspek:
Strategi ini meningkatkan strategi purata bergerak dengan cara memperkenalkan penyesuaian trajektori harga, dengan ciri-ciri seperti penyesuaian parameter, pelbagai bingkai masa, pengoptimuman berhenti. Kuncinya adalah untuk mencari persamaan pergerakan zarah yang sesuai untuk mensimulasikan harga. Walaupun masih memerlukan ujian dan pengoptimuman lanjut, idea asasnya adalah boleh dilaksanakan dan patut diteliti lebih lanjut.
/*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)