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


Ngày tạo: 2024-01-25 14:22:36 sửa đổi lần cuối: 2024-01-25 14:22:36
sao chép: 0 Số nhấp chuột: 772
1
tập trung vào
1617
Người theo dõi

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

Tổng quan

Chiến lược này dựa trên phương pháp đo đạc của chỉ số biến đổi Fisher. Công thức biến đổi Fisher có thể chuyển dữ liệu giá thành phân bố chính xác, được sử dụng để xác định điểm giá cực và điểm biến đổi. Chiến lược này kết hợp với chỉ số biến đổi Fisher để xác định xu hướng giá, để thực hiện giao dịch tự động.

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

  1. Tính toán chỉ số HL2
  2. Tính xMaxH và xMinL của HL2 trong chu kỳ Length gần đây nhất
  3. Tính toán chỉ số biến đổi Fisher:
    • nValue1 là 0.33 × ((HL2 tiêu chuẩn) + 0.67 × nValue1
    • nValue2 giới hạn nValue1 từ -0.99 đến 0.99
    • Chuyển nFish thành hàm đối số của nValue2
  4. Xác định nFish là dương hoặc âm, xác định hướng vị trí
  5. Tín hiệu vị trí Possig, nếu thiết lập giao dịch ngược, vị trí sẽ bị thu hồi
  6. Tham gia: Possig = 1 làm nhiều, possig = - 1 làm trống

Phân tích lợi thế chiến lược

  1. Chỉ số biến đổi Fisher có thể xác định các điểm cực và điểm biến giá để xác định xu hướng chính xác
  2. Kết hợp các chỉ số HL2 với sự rung chuyển của bộ lọc, tăng tỷ lệ chiến thắng
  3. Có thể thiết lập giao dịch ngược để thích ứng với các môi trường thị trường khác nhau
  4. Tự động hóa giao dịch, giảm chi phí giao dịch

Phân tích rủi ro

  1. Chỉ số chuyển đổi Fisher bị tụt hậu, có thể bỏ lỡ sự thay đổi giá đường ngắn
  2. Mối đe dọa của động đất
  3. Thiết lập giao dịch ngược không đúng cách có thể dẫn đến giao dịch sai lệch có hệ thống
  4. Không tính đến xác minh theo chu kỳ thời gian, có một số rủi ro dương tính giả

Giải quyết rủi ro:

  1. Điều chỉnh các tham số để giảm độ trễ
  2. Tăng mức dừng lỗ, kiểm soát lỗ đơn
  3. Tối ưu hóa lọc ngược giao dịch kết hợp với các chỉ số khác
  4. Thêm nhiều xác thực như xu hướng, mức giá, và dải sóng

Hướng tối ưu hóa chiến lược

  1. Kết hợp với bộ lọc chỉ số xu hướng để đảm bảo sự thống nhất của xu hướng lớn
  2. Tăng các chỉ số băng tần, tăng độ chính xác trong việc xác định biến đổi giá
  3. Kiểm tra nhiều chu kỳ thời gian để tránh dương tính giả
  4. Động thái điều chỉnh mức dừng lỗ
  5. Các tham số tối ưu hóa, tối đa hóa tỷ lệ chiến thắng và các yếu tố lợi nhuận

Các chiến lược tối ưu hóa trên có thể làm tăng thêm chiến lược chiến thắng, khóa lợi nhuận, kiểm soát rủi ro, để có được kết quả giao dịch ổn định và hiệu quả hơn.

Tóm tắt

Phương pháp đo đạc chỉ số chuyển đổi của Fisher tích hợp các chỉ số chuyển đổi của Fisher để xác định điểm biến đổi giá và hướng xu hướng. Phương pháp này là chính xác, có mức độ tự động hóa cao, có thể đạt được kết quả giao dịch ổn định và hiệu quả thông qua tối ưu hóa tham số. Tuy nhiên, cũng có một số rủi ro như chậm trễ, dương tính giả, cần phải giới thiệu cơ chế xác minh nhiều lần và cách điều chỉnh động để tối ưu hóa hơn nữa, làm cho chiến lược có tính linh hoạt và thô lỗ.

Mã nguồn chiến lược
/*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")