Fisher Transform Indicator Backtesting Strategy


Tarikh penciptaan: 2023-12-04 13:43:05 Akhirnya diubah suai: 2023-12-04 13:43:05
Salin: 2 Bilangan klik: 939
1
fokus pada
1621
Pengikut

Fisher Transform Indicator Backtesting Strategy

Gambaran keseluruhan

Strategi pengukuran kembali indikator Fisher transformasi dengan mengira perubahan Fisher harga, indentify titik perubahan harga, dan dengan itu menghasilkan isyarat perdagangan. Strategi ini menggunakan formula perubahan Fisher untuk memproses harga, menghilangkan ciri-ciri non-Gaussian harga, dan menghasilkan indikator standard yang bercirikan Gaussian. Strategi menilai perubahan harga berdasarkan titik perubahan kurva Fisher transformasi, menghasilkan isyarat beli dan jual.

Prinsip Strategi

Inti strategi ini adalah menggunakan formula Fisher transformasi untuk menangani harga, menghilangkan ciri-ciri non-Gost dari harga yang diedarkan secara semula jadi. Formula Fisher transformasi adalah seperti berikut:

y = 0.5 * ln((1+x)/(1-x))

Di sini x adalah harga yang telah diproses, terlebih dahulu dengan fungsi tertinggi dan terendah untuk mencari harga tertinggi dan terendah dalam tempoh Length terkini, dan kemudian distandardkan, dengan formula sebagai berikut:

x = (harga - harga minimum) / (harga maksimum - harga minimum) - 0.5

Harga yang diproses sedemikian hampir sesuai dengan pengedaran Gaussian. Ia kemudiannya diimplementasikan ke dalam formula transformasi Fisher, yang menghasilkan kurva transformasi Fisher.

Apabila keluk perubahan Fisher berubah dari positif ke negatif, ia menghasilkan isyarat jual; apabila berubah dari negatif ke positif, ia menghasilkan isyarat beli.

Analisis kelebihan

  1. Indeks penyesuaian Fisher menghilangkan ciri-ciri pengedaran bukan Gaussian harga, menjadikan harga lebih normatif dan mengurangkan isyarat palsu

  2. Menangkap titik perubahan harga dan mengelakkan kenaikan dan penurunan

  3. Fleksibiliti penyesuaian parameter, boleh disesuaikan dengan sensitiviti pembalikan

  4. Arah yang boleh disesuaikan untuk pelbagai keadaan pasaran

  5. Logik strategi mudah difahami, pelaksanaan mudah difahami

Analisis risiko

  1. Tetapan parameter yang tidak betul mungkin terlepas titik perubahan harga atau menghasilkan isyarat palsu

  2. Disket pepejal mudah terjejas oleh titik licin dan mungkin tidak dapat melaksanakan isyarat dengan sempurna

  3. Kurva Fisher sukar untuk menentukan titik balik apabila harga turun naik

  4. Perlu mengesahkan pembalikan dan masuk semula, operasi cakera keras sukar

Penyelesaian:

  1. Menyesuaikan saiz parameter Length, optimumkan parameter

  2. Mempermudahkan syarat kemasukan yang sesuai untuk memastikan isyarat boleh dilaksanakan

  3. Menapis isyarat palsu dalam kombinasi dengan petunjuk lain

  4. Mengekalkan peraturan yang ketat dan mengawal risiko

Arah pengoptimuman

  1. Optimumkan saiz parameter Length untuk mencari kombinasi parameter yang terbaik

  2. Menambah syarat penapisan untuk mengelakkan isyarat palsu, seperti gabungan garis rata-rata, indikator kadar turun naik dan sebagainya

  3. Meningkatkan mekanisme penangguhan kerugian dan mengawal kerugian tunggal

  4. Bergabung dengan mekanisme kemasukan semula untuk menjejaki trend yang berterusan

ringkaskan

Strategi pengesanan kembali indikator perubahan Fisher adalah strategi nilai yang mudah dilaksanakan dengan menghilangkan ciri-ciri non-Goster harga dan mencari titik-titik perubahan harga. Kelebihan strategi ini adalah bahawa parameter disesuaikan dengan fleksibel dan mudah menangkap perubahan; Kelemahannya adalah bahawa operasi di tempat nyata sangat sukar dan perlu mematuhi peraturan masuk dengan ketat.

Kod sumber strategi
/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-03 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v2.0 22/12/2016
// 	Market prices do not have a Gaussian probability density function
// 	as many traders think. Their probability curve is not bell-shaped.
// 	But trader can create a nearly Gaussian PDF for prices by normalizing
// 	them or creating a normalized indicator such as the relative strength
// 	index and applying the Fisher transform. Such a transformed output 
// 	creates the peak swings as relatively rare events.
// 	Fisher transform formula is: y = 0.5 * ln ((1+x)/(1-x))
// 	The sharp turning points of these peak swings clearly and unambiguously
// 	identify price reversals in a timely manner. 
//
//  For signal used zero. 
// 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="Fisher Transform Indicator by Ehlers Backtest", shorttitle="Fisher Transform Indicator by Ehlers")
Length = input(10, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=blue)
xHL2 = hl2
xMaxH = highest(xHL2, Length)
xMinL = lowest(xHL2,Length)
nValue1 = 0.33 * 2 * ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5) + 0.67 * nz(nValue1[1])
nValue2 =   iff(nValue1 > .99,  .999,
	         iff(nValue1 < -.99, -.999, nValue1))
nFish = 0.5 * log((1 + nValue2) / (1 - nValue2)) + 0.5 * nz(nFish[1])
pos = iff(nFish > 0, 1,
	   iff(nFish < 0, -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(nFish, color=green, title="Fisher")
plot(nz(nFish[1]), color=red, title="Trigger")