Strategi Ujian Kembali Berdasarkan Penunjuk Transform Fisher

Penulis:ChaoZhang, Tarikh: 2024-01-25 14:22:36
Tag:

img

Ringkasan

Strategi ini adalah strategi backtesting berdasarkan penunjuk transformasi Fisher. Rumus transformasi Fisher boleh menukar data harga menjadi pengagihan normal untuk mengenal pasti harga yang melampau dan titik balik. Strategi ini menggabungkan penunjuk transformasi Fisher untuk menentukan trend harga dan mencapai perdagangan automatik.

Prinsip Strategi

  1. Mengira penunjuk HL2
  2. Mengira maksimum xMaxH dan minimum xMinL HL2 dalam tempoh panjang yang paling baru-baru ini
  3. Mengira penunjuk transformasi Fisher:
    • nValue1 ialah 0.33×(standar HL2) + 0.67×nValue1 dari tempoh sebelumnya
    • nFish adalah transformasi logaritma nValue2
  4. Tentukan sama ada nFish adalah positif atau negatif untuk menentukan arah kedudukan
  5. Posisi isyarat possig, jika perdagangan terbalik ditetapkan, mengambil kedudukan yang bertentangan
  6. Isyarat masuk: possig=1 untuk panjang, possig=-1 untuk pendek

Analisis Kelebihan

  1. Penunjuk transformasi Fisher boleh mengenal pasti harga melampau dan titik perubahan untuk menentukan dengan tepat trend
  2. Menapis turun naik dengan menggabungkan penunjuk HL2 meningkatkan kadar kemenangan
  3. Perdagangan terbalik boleh ditetapkan untuk menyesuaikan diri dengan persekitaran pasaran yang berbeza
  4. Perdagangan automatik tanpa penilaian manual mengurangkan kos perdagangan

Analisis Risiko

  1. Penunjuk transformasi Fisher mempunyai lag dan mungkin terlepas perubahan harga jangka pendek
  2. Risiko stop loss yang tinggi dalam trend yang tidak menentu
  3. Tetapan perdagangan terbalik yang tidak betul boleh membawa kepada perdagangan yang salah sistemik
  4. Kekurangan pengesahan kitaran silang, terdapat risiko positif palsu tertentu

Penyelesaian Risiko:

  1. Sesuaikan parameter dengan sewajarnya untuk memendekkan kelewatan
  2. Meningkatkan julat stop loss untuk mengawal kerugian transaksi tunggal
  3. Mengoptimumkan perdagangan terbalik digabungkan dengan penunjuk lain untuk penapisan
  4. Meningkatkan mekanisme pengesahan pelbagai trend, paras harga, kitaran dan lain-lain

Arahan Pengoptimuman Strategi

  1. Gabungkan penunjuk trend untuk memastikan trend utama konsisten
  2. Meningkatkan penunjuk kitaran untuk meningkatkan ketepatan penilaian pembalikan harga
  3. Pengesahan pelbagai jangka masa untuk mengelakkan positif palsu
  4. Sesuaikan julat stop loss secara dinamik
  5. Mengoptimumkan parameter untuk memaksimumkan kadar kemenangan dan faktor keuntungan

Pengoptimuman di atas dapat meningkatkan lagi kadar kemenangan strategi, mengunci keuntungan, mengawal risiko, dan mendapatkan hasil perdagangan yang lebih stabil dan cekap.

Ringkasan

Strategi pengujian balik penunjuk transformasi Fisher mengintegrasikan penunjuk transformasi Fisher untuk menentukan titik pembalikan harga dan arah trend. Strategi ini mempunyai penilaian yang tepat dan tahap automasi yang tinggi. Melalui pengoptimuman parameter, hasil perdagangan yang stabil dan cekap dapat diperoleh. Tetapi terdapat juga risiko tertentu seperti lag dan positif palsu. Pengoptimuman lanjut diperlukan dengan memperkenalkan pelbagai mekanisme pengesahan dan kaedah penyesuaian dinamik untuk menjadikan strategi lebih fleksibel dan mantap.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
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(1, color=white)
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")

Lebih lanjut