
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.
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.
Strategi ini memiliki beberapa keuntungan dibandingkan dengan strategi rata-rata bergerak tradisional:
Strategi ini juga memiliki beberapa risiko:
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.
Kebijakan ini dapat dioptimalkan dalam beberapa hal:
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.
/*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)