Strategi Perdagangan Ehlers Berdasarkan Transformasi Fisher


Tarikh penciptaan: 2024-01-08 16:51:10 Akhirnya diubah suai: 2024-01-08 16:51:10
Salin: 1 Bilangan klik: 1062
1
fokus pada
1664
Pengikut

Strategi Perdagangan Ehlers Berdasarkan Transformasi Fisher

Gambaran keseluruhan

Strategi ini adalah berdasarkan kepada penunjuk penukaran Fisher yang direka oleh pakar analisis teknikal John Ehlers, untuk mengenal pasti titik-titik perubahan trend harga secara automatik, melakukan perdagangan automatik untuk kedudukan panjang dan pendek. Kelebihannya yang terbesar adalah ketepatan dan ketepatan masa untuk mengenal pasti perubahan harga.

Prinsip Strategi

Strategi ini menggunakan formula pertukaran Fischer untuk menstandardkan harga, menghasilkan urutan harga yang berkisar kepada pengedaran Gaussian. Formula pertukaran Fischer adalah: y = 0.5 * ln (((1+x) / ((1-x))). Dengan penukaran ini, nilai teratas harga boleh ditukar kepada peristiwa yang agak jarang berlaku.

Secara khusus, langkah-langkah strategi adalah seperti berikut:

  1. HL2 adalah nilai purata.
  2. Hitung xMaxH dan xMinL dalam tempoh Length;
  3. Hitung harga standard nValue1 = ((xHL2 - xMinL) / (xMaxH - xMinL) - 0.5;
  4. Proseskan nValue1 secara halus untuk mendapatkan nValue2 dan mengelakkan pengambilan nilai ekstrem;
  5. Menggunakan formula penukaran Fisher kepada nValue2 dan mendapat penunjuk penukaran Fisher nFish;
  6. Bandingkan nFish dengan nilai tempoh sebelumnya untuk melihat sama ada terdapat perubahan dan menetapkan arah perdagangan pos;
  7. Isyarat perdagangan berdasarkan arah pos yang ditetapkan untuk kedudukan kosong.

Analisis kelebihan

Kelebihan terbesar strategi ini adalah ketepatan dan ketepatan masa isyarat dagangan. Oleh kerana urutan harga yang dihasilkan oleh penukaran Fischer hampir sesuai dengan pengedaran Gaussian, penunjuk penukaran Fischer dapat dengan cepat mengiktiraf dan bertindak balas dengan sewajarnya apabila harga berbalik.

Analisis risiko

Risiko terbesar dalam strategi ini adalah bahawa urutan harga selepas penukaran Fisher tidak semestinya sesuai dengan pengedaran Gaussian yang rasional. Apabila pasaran mengalami turun naik yang tidak normal, seperti keretakan, lompatan, dan lain-lain, ia boleh menyebabkan indikator penukaran Fisher menghantar isyarat yang salah. Pada masa ini, jika masih perdagangan mekanikal, ia mungkin menyebabkan kerugian yang lebih besar.

Untuk mengurangkan risiko ini, anda boleh mempertimbangkan untuk memfilter isyarat perdagangan dalam kombinasi dengan petunjuk lain, untuk mengelakkan perdagangan ketika pasaran tidak normal. Atau anda boleh menyesuaikan parameter dengan sewajarnya, mengurangkan frekuensi perdagangan dan skala kerugian tunggal.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Mengoptimumkan parameter Length untuk mencari kombinasi parameter yang optimum dalam keadaan pasaran yang berbeza;
  2. Meningkatkan mekanisme penangguhan kerugian untuk mengehadkan kerugian tunggal;
  3. Menambah penapisan transaksi untuk mengelakkan kesalahan dalam pasaran yang tidak normal;
  4. Strategi gabungan dalam kombinasi dengan penunjuk lain untuk meningkatkan ketepatan isyarat.

ringkaskan

Strategi ini berdasarkan kepada penunjuk penukaran Fisher yang direka oleh Ehlers, yang dapat mengenal pasti dengan cepat dan tepat titik-titik perubahan harga, sehingga dapat menangkap peluang perdagangan tepat pada masanya. Kelebihannya yang terbesar adalah ketepatan dan ketepatan isyarat perdagangan.

Kod sumber strategi
/*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")