Strategi pengekstrakan aliran penapisan jalur jalur


Tarikh penciptaan: 2024-01-03 15:22:49 Akhirnya diubah suai: 2024-01-03 15:22:49
Salin: 0 Bilangan klik: 641
1
fokus pada
1621
Pengikut

Strategi pengekstrakan aliran penapisan jalur jalur

Gambaran keseluruhan

Strategi penarikan trend trend yang dipandu oleh penyaring yang dipandu adalah strategi untuk mengesan trend saham berdasarkan penyaring yang dipandu. Strategi ini menggunakan purata bergerak bertimbangan indeks dan penyaring yang dipandu untuk memproses urutan harga, mengekstrak komponen trend dalam harga, dan menggunakan parameter tertentu sebagai isyarat untuk meletakkan kedudukan dan kedudukan.

Prinsip Strategi

Strategi ini mula-mula membina purata bergerak bertimbangan indeks dua kali ganda, mengawal panjang masa dan slippage purata bergerak dengan menyesuaikan parameter Length dan Delta. Kemudian menggunakan satu set transformasi matematik, mengekstrak komponen trend dalam urutan harga, disimpan dalam pembolehubah xBandpassFilter. Akhirnya, kira purata bergerak sederhana xMean dari xBandpassFilter sebagai penunjuk untuk membina kedudukan dan kedudukan.

Apabila xMean melakukan overhead ketika melewati parameter Trigger yang ditetapkan, lakukan overhead kosong ketika melewati. Anda boleh mengawal sensitiviti gudang dan gudang dengan menyesuaikan tahap Trigger.

Analisis kelebihan

  1. Menggunakan purata bergerak bertimbangan indeks dua kali ganda secara berkesan menghapuskan sebahagian bunyi dalam urutan harga, menjadikan strategi lebih stabil.
  2. Penapis berpasangan hanya mengambil komponen trend dalam urutan harga, mengelakkan salah faham oleh pergerakan goyah, menjadikan strategi lebih stabil dan boleh dipercayai.
  3. Lebih sedikit parameter strategi, lebih mudah untuk menyesuaikan dan mengawal risiko.

Analisis risiko

  1. Strategi ini mempunyai kelewatan masa dan mungkin terlepas peluang untuk menukar harga dengan cepat.
  2. Rata-rata bergerak bertimbangan indeks dua kali ganda dan penapis pita mempunyai kesan penapisan rendah, menapis isyarat frekuensi tinggi dan mengurangkan kepekaan strategi.
  3. Jika parameter tidak ditetapkan dengan betul, penapisan terlalu kuat dan peluang untuk trend yang lebih kuat mungkin terlepas.

Masalah ketinggalan boleh diperbaiki dengan memendekkan parameter Length dengan betul, menyesuaikan kepekaan strategi kawalan tahap pemicu.

Arah pengoptimuman

  1. Anda boleh pertimbangkan untuk memasukkan strategi Hentikan Kerosakan untuk mengawal kerugian tunggal.
  2. Kestabilan strategi boleh dipertingkatkan melalui sistem dua hala dalam jangka pendek dan jangka panjang.
  3. Anda boleh menilai isyarat pembalikan dengan menggabungkannya dengan petunjuk lain seperti jumlah dagangan pasaran, dan mengelakkan diri anda daripada terjebak dalam keadaan yang bergolak.
  4. Parameter pengoptimuman pembelajaran mesin atau algoritma genetik boleh digunakan untuk menjadikan strategi lebih stabil dan dipercayai.

ringkaskan

Strategi ini secara keseluruhan lebih stabil dan lebih baik dalam pasaran trend yang kuat. Ia boleh dioptimumkan dengan pelbagai cara untuk mengekalkan keuntungan yang stabil dalam keadaan pasaran yang lebih banyak.

Kod 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")