Strategi ekstraksi tren penyaringan bandpass


Tanggal Pembuatan: 2024-01-03 15:22:49 Akhirnya memodifikasi: 2024-01-03 15:22:49
menyalin: 0 Jumlah klik: 641
1
fokus pada
1621
Pengikut

Strategi ekstraksi tren penyaringan bandpass

Ringkasan

Strategi ekstraksi tren bergelombang bergelombang adalah strategi pelacakan tren saham berdasarkan filter bergelombang. Strategi ini menggunakan indeks yang ditimbang rata-rata bergerak dan bergelombang bergelombang untuk memproses urutan harga, mengekstrak komponen tren dalam harga, dan menggunakan parameter tertentu sebagai sinyal untuk membangun posisi aman.

Prinsip Strategi

Strategi ini pertama-tama membangun sebuah moving average berimbang dengan indeks ganda, mengontrol durasi dan slippage dari moving average dengan mengatur parameter Length dan Delta. Kemudian menggunakan satu set transformasi matematis, ekstrak komponen tren dari urutan harga, disimpan dalam variabel xBandpassFilter.

Ketika xMean melakukan overhead saat melewati parameter Trigger yang ditetapkan, lakukan overhead kosong saat melewati. Anda dapat mengontrol sensitivitas gudang dan gudang dengan mengatur tingkat Trigger.

Analisis Keunggulan

  1. Penggunaan rata-rata bergerak dengan bobot indeks ganda secara efektif menghilangkan sebagian dari kebisingan dalam urutan harga, membuat strategi lebih stabil.
  2. Filter banding hanya mengekstrak komponen tren dalam urutan harga, menghindari kesalahan oleh tren getaran, membuat strategi lebih stabil dan dapat diandalkan.
  3. Lebih sedikit parameter strategi, lebih mudah untuk menyesuaikan dan mengontrol risiko.

Analisis risiko

  1. Strategi ini memiliki keterlambatan waktu dan kemungkinan kehilangan kesempatan untuk membalikkan harga dengan cepat.
  2. Rata-rata bergerak dengan bobot indeks ganda dan filter bandwidth memiliki efek penyaringan rendah, memfilter sinyal frekuensi tinggi dan mengurangi sensitivitas strategi.
  3. Jika parameter tidak diatur dengan benar, efek penyaringan terlalu kuat dan kemungkinan kehilangan peluang tren yang lebih kuat.

Dengan mempersingkat parameter Length yang sesuai, Anda dapat memperbaiki masalah keterlambatan dan menyesuaikan sensitivitas strategi pengendalian tingkat pemicu.

Arah optimasi

  1. Anda dapat mempertimbangkan untuk memasukkan strategi stop loss untuk mengendalikan kerugian tunggal.
  2. Stabilitas strategi dapat ditingkatkan melalui sistem dua garis lurus jangka pendek dan jangka panjang.
  3. Anda dapat mengevaluasi sinyal reversal dengan mengkombinasikannya dengan indikator lain seperti volume transaksi pasar, untuk menghindari terjebak dalam situasi yang bergejolak.
  4. Parameter yang dapat dioptimalkan menggunakan pembelajaran mesin atau algoritma genetik dapat membuat strategi lebih stabil dan dapat diandalkan.

Meringkaskan

Strategi ini secara keseluruhan lebih stabil dan berkinerja lebih baik di pasar tren yang kuat. Strategi ini dapat dioptimalkan lebih lanjut dengan berbagai cara, sehingga dapat mempertahankan profitabilitas yang stabil di lebih banyak lingkungan pasar. Strategi ini layak untuk diteliti dan diterapkan lebih lanjut.

Kode Sumber Strategi
/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/12/2016
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Extracting The Trend Strategy Backtest")
Length = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=blue, linestyle=line)
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
pos = iff(xMean > Trigger, 1,
	   iff(xMean < Trigger, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xMean, color=red, title="ExTrend")