Ehlers Fisher Transform Strategi Dagangan

Penulis:ChaoZhang, Tarikh: 2024-01-08 16:51:10
Tag:

img

Ringkasan

Strategi ini berdasarkan penunjuk Fisher Transform yang direka oleh pakar analisis teknikal John Ehlers untuk mengenal pasti secara automatik titik pembalikan trend harga untuk perdagangan panjang / pendek.

Logika Strategi

Strategi ini menggunakan formula transformasi Fisher untuk standardkan harga dan menghasilkan urutan harga pengedaran hampir Gaussian. Formula transformasi Fisher adalah: y = 0.5 * ln ((((1 + x) / (((1-x)). Melalui transformasi ini, harga melampau ditukar kepada peristiwa yang agak jarang berlaku. Apabila nilai transformasi Fisher terbaru lebih tinggi / lebih rendah daripada tempoh sebelumnya, ia menunjukkan kemungkinan pembalikan harga. Strategi menghasilkan isyarat perdagangan berdasarkan titik perubahan penunjuk ini.

Secara khusus, langkah strategi adalah seperti berikut:

  1. Mengira harga pertengahan HL2;
  2. Mengira harga tertinggi xMaxH dan harga terendah xMinL dalam tempoh Length;
  3. Mengira harga standard nValue1=(xHL2 - xMinL) / (xMaxH - xMinL) - 0.5;
  4. Lurus nValue1 untuk mendapatkan nValue2, mengelakkan melampau;
  5. Mempakai formula transformasi Fisher pada nValue2 untuk mendapatkan penunjuk Fisher nFish;
  6. Bandingkan nFish dengan nilai sebelumnya untuk menentukan sama ada giliran telah berlaku, dan tetapkan pos arah perdagangan;
  7. Tetapkan kedudukan panjang/pendek berdasarkan pos untuk menjana isyarat perdagangan.

Analisis Kelebihan

Kelebihan terbesar strategi ini adalah ketepatan dan ketepatan masa isyarat dagangnya. Kerana urutan harga yang diubahsuai Fisher mendekati pengedaran Gaussian, pembalikan harga dapat dengan cepat dikenal pasti dan bertindak balas oleh penunjuk Fisher. Ini memastikan menangkap peluang pembalikan tepat pada masanya. Di samping itu, transformasi Ehlers Fisher sendiri juga telah disahkan secara meluas untuk isyarat pembalikan yang sangat boleh dipercayai.

Analisis Risiko

Risiko terbesar dari strategi ini adalah bahawa urutan harga Fisher yang diubahsuai mungkin tidak sesuai dengan pengagihan Gaussian teoretis. turun naik pasaran yang tidak normal seperti jurang boleh menyebabkan penunjuk Fisher menghasilkan isyarat yang salah. Perdagangan buta pada isyarat tersebut boleh menyebabkan kerugian besar.

Untuk mengurangkan risiko ini, kita boleh mempertimbangkan menggabungkan penapis isyarat lain, mengelakkan perdagangan semasa pasaran yang tidak normal.

Arahan pengoptimuman

Strategi ini boleh dioptimumkan dalam aspek berikut:

  1. Mengoptimumkan parameter Panjang untuk mencari kombinasi terbaik untuk keadaan pasaran yang berbeza;
  2. Tambahkan mekanisme stop loss untuk mengehadkan penurunan;
  3. Tambah penapis perdagangan untuk mengelakkan perdagangan yang salah di pasaran yang tidak normal;
  4. Gabungkan dengan penunjuk lain untuk meningkatkan ketepatan isyarat.

Kesimpulan

Strategi ini memanfaatkan penunjuk Ehlers Fisher Transform untuk dengan cepat dan tepat mengenal pasti titik pembalikan harga untuk kemasukan perdagangan tepat pada masanya. Kekuatannya yang terbesar terletak pada ketepatan dan ketepatan masa isyarat perdagangan. Terdapat juga risiko yang memerlukan penyesuaian parameter dan pengoptimuman peraturan perdagangan untuk mengurangkan. Secara keseluruhan strategi ini memerlukan penyelidikan dan aplikasi lanjut.


/*backtest
start: 2023-12-08 00:00:00
end: 2024-01-07 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 15/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. 
//
// 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")
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 > nz(nFish[1]), 1,
	   iff(nFish < nz(nFish[1]), -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")

Lebih lanjut