Strategi perdagangan terbalik berdasarkan perbedaan harga yang tumpang tindih

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

img

Gambaran umum

Ide utama dari strategi ini adalah menggunakan perbedaan harga yang tumpang tindih untuk menilai tren pasar. Ini panjang ketika perbedaan berbalik dari negatif menjadi positif, dan pendek ketika perbedaan berbalik dari positif menjadi negatif.

Prinsip

Strategi ini pertama kali menghitung perbedaan harga tumpang tindih (Close-Close[1]), yang merupakan harga tutup hari ini dikurangi harga tutup kemarin, dan kemudian menghitung jumlah perbedaan selama 30 hari terakhir.

Secara khusus, strategi ini mempertahankan tiga indikator:

  1. ff: Jumlah perbedaan harga selama 30 hari terakhir
  2. dd1: rata-rata bergerak tertimbang 15 hari ff
  3. dd2: rata-rata bergerak tertimbang 30 hari ff

Ini menghasilkan sinyal panjang ketika ff berubah dari negatif menjadi positif, yaitu dari kurang dari 0 menjadi lebih dari 0, dan dd1 juga berubah dari negatif menjadi positif.

Ini menghasilkan sinyal pendek ketika ff berubah dari positif menjadi negatif, yaitu dari lebih besar dari 0 menjadi kurang dari 0, dan dd1 juga berubah dari positif menjadi negatif.

Setelah pergi panjang atau pendek, mengambil keuntungan dan stop loss baris akan ditetapkan.

Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Logikanya jelas dan mudah dimengerti dan diterapkan.
  2. Ini menangkap waktu masuk yang baik pada titik balik pasar dengan memanfaatkan fitur pembalikan harga.
  3. Kebocoran palsu dapat disaring dengan mekanisme konfirmasi ganda.
  4. Parameter yang dapat disesuaikan beradaptasi dengan lingkungan pasar yang berbeda.

Risiko

Ada juga beberapa risiko untuk strategi:

  1. Kemungkinan tinggi kegagalan pembalikan, kemungkinan akan dihentikan di pasar yang terikat rentang.
  2. Pengaturan parameter yang tidak benar dapat menyebabkan perdagangan yang sering dan peningkatan biaya transaksi.
  3. Indikator lain harus dimasukkan untuk menyaring entri, menghindari mengejar bagian atas dan bawah.

Solusi yang sesuai adalah:

  1. Atur persentase stop loss yang tepat untuk mengendalikan kerugian tunggal.
  2. Mengoptimalkan parameter untuk menemukan kombinasi terbaik.
  3. Tambahkan kondisi penyaringan untuk menghindari entri yang tidak perlu.

Arahan Optimasi

Strategi dapat dioptimalkan dalam aspek berikut:

  1. Tambahkan volume filter, membutuhkan volume yang diperbesar pada breakout.
  2. Masukkan indikator tren untuk menghindari operasi kontra-tren.
  3. Mengatur parameter secara dinamis untuk menyesuaikan diri dengan perubahan kondisi pasar.
  4. Mengoptimalkan mekanisme stop loss, seperti trailing stop loss.

Ringkasan

Strategi ini menilai titik balik pasar dengan menghitung pembalikan perbedaan harga. Ini adalah strategi perdagangan terbalik yang khas. Logika jelas dan mudah diterapkan dengan beberapa nilai praktis. Tetapi ada juga risiko yang perlu dioptimalkan lebih lanjut untuk beradaptasi dengan perubahan pasar. Secara keseluruhan, strategi memberikan kerangka dasar untuk perdagangan kuantitatif, yang dapat dibangun dan diperluas.


/*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 banyak