Idea utama strategi ini adalah untuk menggunakan perbezaan harga yang bertindih untuk menilai trend pasaran. Ia menjadi panjang apabila perbezaan berbalik dari negatif ke positif, dan menjadi pendek apabila perbezaan berbalik dari positif ke negatif.
Strategi ini mula-mula mengira perbezaan harga yang bertindih (Close-Close [1]), yang merupakan harga penutupan hari ini dikurangkan harga penutupan semalam, dan kemudian mengira jumlah perbezaan selama 30 hari yang lalu.
Secara khusus, strategi ini mengekalkan tiga penunjuk:
Ia menghasilkan isyarat panjang apabila ff berubah dari negatif kepada positif, iaitu dari kurang daripada 0 kepada lebih daripada 0, dan dd1 juga berubah dari negatif kepada positif.
Ia menghasilkan isyarat pendek apabila ff berubah dari positif kepada negatif, iaitu dari lebih besar daripada 0 kepada kurang daripada 0, dan dd1 juga berubah dari positif kepada negatif.
Selepas pergi panjang atau pendek, mengambil keuntungan dan berhenti kehilangan baris akan ditetapkan.
Strategi ini mempunyai kelebihan berikut:
Terdapat juga beberapa risiko untuk strategi:
Penyelesaian yang sepadan adalah:
Strategi ini boleh dioptimumkan dalam aspek berikut:
Strategi ini menilai titik perubahan pasaran dengan mengira pembalikan perbezaan harga. Ini adalah strategi perdagangan terbalik biasa. Logiknya jelas dan mudah dilaksanakan dengan beberapa nilai praktikal. Tetapi terdapat juga risiko yang perlu dioptimumkan lagi untuk menyesuaikan diri dengan perubahan pasaran. Secara keseluruhan, strategi ini menyediakan rangka kerja asas untuk perdagangan kuantitatif, yang boleh dibina dan diperluaskan.
/*backtest start: 2023-12-07 00:00:00 end: 2023-12-14 00:00:00 period: 10m basePeriod: 1m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Fst",currency="USD",initial_capital=100000) //Length0 = input(30, title="fastperiod", minval=1) Length = input(30, title="SUMM") Length1 = input(15, title="Signalperiod", minval=1) Length2= input(30, title="Info", minval=1) profit=input(95, title="profit", minval=1) loss=input(95, title="loss", minval=1) //f=iff(close>open,close-open,iff(close>open[1],close[1]-open[1],0)) f=0.0 dd1=0.0 dd2=0.0 ff=0.0 ff0=0.0 f:=close-close[1] ff:=sum(f,Length) //ff0:=sum(f,Length0) dd1:=wma(ff,Length1) dd2:=wma(ff,Length2) bull=ff<0 and dd1<0 and ff[1]<dd1 and ff>dd1 and abs(ff)>20 bear=ff>0 and dd1>0 and ff[1]>dd1 and ff<dd1 and abs(ff)>20 if(bull) strategy.entry("long", strategy.long) strategy.exit("exit", "long", profit = close*profit/1000, loss=close*loss/1000) strategy.close("long", when = bear) plotchar(bull,size=size.small,location=location.bottom) plot(ff,color=black,linewidth=2) plot(ff0,color=green,linewidth=2) plot(wma(ff,Length1),color=red,linewidth=2) plot(wma(ff,Length2),color=blue,linewidth=2) plot(wma(ff,Length1)-wma(ff,Length2),color=green,style=columns) plot(0,linewidth=1,color=black) plot(500,linewidth=1,color=red) plot(-500,linewidth=1,color=red)