Strategi Perdagangan Terbalik Berdasarkan Perbezaan Harga yang Terdiri

Penulis:ChaoZhang, Tarikh: 2023-12-15 15:47:23
Tag:

img

Ringkasan

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.

Prinsip

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:

  1. ff: Jumlah perbezaan harga dalam tempoh 30 hari yang lalu
  2. dd1: purata bergerak bertingkat 15 hari ff
  3. dd2: purata bergerak bertingkat 30 hari ff

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.

Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Logiknya jelas dan mudah difahami dan dilaksanakan.
  2. Ia menangkap masa kemasukan yang baik pada titik perubahan pasaran dengan menggunakan ciri pembalikan harga.
  3. Pelarian palsu boleh disaring dengan mekanisme pengesahan berganda.
  4. Parameter yang boleh disesuaikan menyesuaikan diri dengan persekitaran pasaran yang berbeza.

Risiko

Terdapat juga beberapa risiko untuk strategi:

  1. Kemungkinan tinggi kegagalan pembalikan, mungkin akan dihentikan di pasaran terhad.
  2. Tetapan parameter yang tidak betul boleh membawa kepada perdagangan yang kerap dan peningkatan kos transaksi.
  3. Penunjuk lain harus dimasukkan untuk menapis entri, mengelakkan mengejar bahagian atas dan bawah.

Penyelesaian yang sepadan adalah:

  1. Tetapkan peratusan stop loss yang betul untuk mengawal kerugian tunggal.
  2. Mengoptimumkan parameter untuk mencari kombinasi yang terbaik.
  3. Tambah keadaan penapisan untuk mengelakkan entri yang tidak perlu.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Tambah penapis kelantangan, memerlukan kelantangan yang lebih besar pada penyemburan.
  2. Memasukkan penunjuk trend untuk mengelakkan operasi kontra-trend.
  3. Sesuaikan parameter secara dinamik untuk menyesuaikan diri dengan keadaan pasaran yang berubah.
  4. Mengoptimumkan mekanisme stop loss, seperti trailing stop loss.

Ringkasan

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)


Lebih lanjut