Chiến lược kiểm tra ngược chỉ báo Fisher Transform


Ngày tạo: 2023-12-04 13:43:05 sửa đổi lần cuối: 2023-12-04 13:43:05
sao chép: 2 Số nhấp chuột: 937
1
tập trung vào
1619
Người theo dõi

Chiến lược kiểm tra ngược chỉ báo Fisher Transform

Tổng quan

Phương pháp đo đạc chỉ số biến đổi Fisher bằng cách tính toán biến đổi Fisher của giá, indentify điểm biến đổi giá và theo đó tạo ra tín hiệu giao dịch. Chiến lược này sử dụng công thức biến đổi Fisher để xử lý giá, loại bỏ các đặc điểm phân bố không Gaussian của giá, để tạo ra một chỉ số tiêu chuẩn hóa có phân bố Gaussian gần gũi.

Nguyên tắc chiến lược

Cốt lõi của chiến lược này là sử dụng công thức biến đổi Fisher để xử lý giá, loại bỏ các đặc điểm không theo Gauss của sự phân bố tự nhiên của giá. Công thức biến đổi Fisher như sau:

y = 0.5 * ln((1+x)/(1-x))

Ở đây, x là giá được xử lý, tìm ra giá cao nhất và giá thấp nhất trong chu kỳ Length gần đây nhất bằng hàm highest and lowest, sau đó chuẩn hóa, với công thức sau:

x = (price - giá tối thiểu) / (maximum - giá tối thiểu) - 0.5

Sau khi xử lý như vậy, giá gần như phù hợp với phân bố Gaussian. Sau đó, đặt nó vào công thức biến đổi Fisher, để có được đường cong biến đổi Fisher. Điểm biến đổi của đường cong biến đổi Fisher là tín hiệu biến đổi giá.

Khi đường cong biến đổi Fisher chuyển từ tích cực sang âm, nó tạo ra tín hiệu bán; khi chuyển từ âm sang tích cực, nó tạo ra tín hiệu mua.

Phân tích lợi thế

  1. Chỉ số biến đổi Fisher loại bỏ các đặc điểm phân phối không Gaussian của giá, làm cho giá trở nên chuẩn mực hơn và giảm tín hiệu giả

  2. Các nhà đầu tư khác cũng đang tìm kiếm những giải pháp khác để giảm giá.

  3. Tính linh hoạt điều chỉnh tham số, có thể điều chỉnh độ nhạy đảo ngược

  4. Định hướng tùy chỉnh cho nhiều môi trường thị trường

  5. Chiến lược logic đơn giản, dễ hiểu và dễ thực hiện

Phân tích rủi ro

  1. Thiết lập tham số không đúng có thể bỏ lỡ điểm đảo chiều giá hoặc tạo ra tín hiệu sai

  2. Đĩa cứng dễ bị ảnh hưởng bởi điểm trượt, có thể không thực hiện tín hiệu hoàn hảo

  3. Khi giá cả biến động mạnh, đường cong Fisher khó có thể định vị được điểm đảo ngược

  4. Cần xác nhận quay trở lại sau khi nhập cảnh, điều hành đĩa cứng rất khó khăn

Giải pháp:

  1. Điều chỉnh kích thước của tham số Length, tham số tối ưu hóa

  2. Điều kiện nhập cảnh được nới lỏng một cách thích hợp để đảm bảo có thể thực hiện tín hiệu

  3. Kết hợp các chỉ số khác để lọc các tín hiệu giả

  4. Theo dõi chặt chẽ các quy tắc chiến lược và kiểm soát rủi ro

Hướng tối ưu hóa

  1. Tối ưu hóa kích thước của tham số Length để tìm các tham số kết hợp tốt nhất

  2. Tăng các điều kiện lọc để tránh các tín hiệu sai, chẳng hạn như kết hợp đường trung bình, chỉ số dao động

  3. Tăng cơ chế ngăn chặn tổn thất, kiểm soát tổn thất đơn lẻ

  4. Tham gia cơ chế tái nhập học để theo dõi xu hướng tiếp tục

Tóm tắt

Chiến lược đo đạc chỉ số biến đổi Fisher là một chiến lược giá trị dễ thực hiện bằng cách loại bỏ các đặc điểm không cao của giá để tìm ra điểm đảo ngược giá. Ưu điểm của chiến lược này là điều chỉnh các tham số linh hoạt, dễ dàng bắt được sự đảo ngược; nhược điểm là hoạt động trên thực tế rất khó khăn và cần tuân thủ nghiêm ngặt các quy tắc đầu vào.

Mã nguồn chiến lược
/*backtest
start: 2023-11-26 00:00:00
end: 2023-12-03 00:00:00
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(0, color=blue)
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")