Chiến lược này dựa trên chỉ số Fisher Transform được thiết kế bởi chuyên gia phân tích kỹ thuật John Ehlers để tự động xác định các điểm đảo ngược xu hướng giá cho giao dịch dài / ngắn.
Chiến lược này sử dụng công thức biến đổi Fisher để tiêu chuẩn hóa giá và tạo ra một chuỗi giá phân bố gần Gauss. Công thức biến đổi Fisher là: y = 0.5 * ln ((((1 + x) / ((1-x)). Thông qua biến đổi này, giá cực đoan được chuyển đổi thành các sự kiện tương đối hiếm. Khi giá biến đổi Fisher mới nhất cao hơn / thấp hơn so với giai đoạn trước, nó chỉ ra một sự đảo ngược giá có thể xảy ra. Chiến lược tạo ra các tín hiệu giao dịch dựa trên các bước ngoặt của chỉ số này.
Cụ thể, các bước chiến lược là như sau:
Lợi thế lớn nhất của chiến lược này là độ chính xác và kịp thời của các tín hiệu giao dịch. Bởi vì chuỗi giá biến đổi Fisher gần như phân bố Gauss, sự đảo ngược giá có thể được xác định và phản ứng nhanh chóng bởi chỉ số Fisher. Điều này đảm bảo nắm bắt kịp thời các cơ hội đảo ngược. Ngoài ra, biến đổi Ehlers Fisher cũng đã được xác nhận rộng rãi cho các tín hiệu đảo ngược rất đáng tin cậy.
Rủi ro lớn nhất của chiến lược này là chuỗi giá biến đổi của Fisher có thể không hoàn toàn phù hợp với phân bố Gauss lý thuyết. Sự biến động thị trường bất thường như khoảng cách có thể khiến chỉ số Fisher tạo ra các tín hiệu không chính xác. Giao dịch mù quáng trên các tín hiệu đó có thể dẫn đến tổn thất lớn.
Để giảm thiểu rủi ro này, chúng ta có thể xem xét kết hợp các chỉ số khác để lọc tín hiệu, tránh giao dịch trong thị trường bất thường.
Chiến lược này có thể được tối ưu hóa trong các khía cạnh sau:
Chiến lược này tận dụng chỉ số biến đổi Ehlers
/*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")