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.
Penyelesaian Risiko:
Pengoptimuman di atas dapat meningkatkan lagi kadar kemenangan strategi, mengunci keuntungan, mengawal risiko, dan mendapatkan hasil perdagangan yang lebih stabil dan cekap.
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")