Chiến lược giao dịch định lượng dựa trên dải phần trăm HullMA


Ngày tạo: 2024-03-01 12:16:45 sửa đổi lần cuối: 2024-03-01 12:16:45
sao chép: 1 Số nhấp chuột: 680
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch định lượng dựa trên dải phần trăm HullMA

Tổng quan

Chiến lược này có thể đạt được hiệu quả tốt hơn bằng cách tối ưu hóa chiến lược dừng lỗ, thêm các hoạt động ngắn hạn.

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

  1. Tính trung bình di chuyển của Hull với độ dài là hullma ≠

  2. Xác định xL1, xL3 và xL2, xL4 dựa trên phần trăm của thân tàu.

  3. Khi giá đóng cửa ở trên đi xuống đường ray, hãy làm nhiều hơn; khi giá đóng cửa ở dưới đi xuống đường ray, hãy đặt cược bằng phẳng.

Phân tích lợi thế

Chiến lược này có những ưu điểm sau:

  1. Chỉ số HullMA nhạy cảm với sự thay đổi giá và có thể theo dõi xu hướng hiệu quả.

  2. Tỷ lệ phần trăm có độ tự do cao, có thể điều chỉnh để phù hợp với các giống khác nhau.

  3. Chiến lược hai đường ray có thể lọc hiệu quả các tín hiệu sai.

  4. Chiến lược dừng lỗ có thể kiểm soát rủi ro hiệu quả.

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro:

  1. Có thể có những vụ giết chóc.

  2. Mất điểm trượt do mua bán thường xuyên.

  3. Thiết lập tham số không chính xác có thể dẫn đến giao dịch thường xuyên.

  4. Cài đặt vị trí hư hỏng cần được kiểm tra và tối ưu hóa nhiều lần.

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

Chiến lược này có thể được tối ưu hóa theo các hướng sau:

  1. Tối ưu hóa tham số chiều dài HullMA để phù hợp với các giống khác nhau.

  2. Tối ưu hóa tỷ lệ phần trăm và giảm giao dịch sai.

  3. Thêm các chiến lược hoạt động ngắn để thu được lợi nhuận nhiều hơn.

  4. Tối ưu hóa chiến lược dừng lỗ để đảm bảo hiệu quả.

  5. Kiểm tra sức mạnh của các tham số khác nhau.

Tóm tắt

Chiến lược này xây dựng một chiến lược giao dịch đột phá đơn giản và trực quan thông qua chỉ số HullMA và tỷ lệ phần trăm của nó. Các ưu điểm của chiến lược rõ ràng, mở rộng thông qua điều chỉnh tham số và tối ưu hóa chức năng, có thể trở thành một chiến lược định lượng rất thực tế.

Mã nguồn chiến lược
/*backtest
start: 2023-03-01 00:00:00
end: 2024-02-29 00:00:00
period: 5d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("hullma percentage lines", overlay=true)



length = input(9, minval=1)
src = input(close, title="Source")
hullma = wma(2*wma(src, length/2)-wma(src, length), round(sqrt(length)))
plot(hullma)



Uband1 = input(3, minval=1, step = .5)
Lband1 = input(3, minval=1, step = .5)
Uband2 = input(6, minval=1, step = .5)
Lband2 = input(6, minval=1, step = .5)


v1 = Uband1+100
v2 = 100 - Lband1
v3 = Uband2+100
v4 = 100 - Lband2


xL1 = (hullma / 100) * v1
xL2 = (hullma / 100) * v2 
xL3 = (hullma / 100) * v3
xL4 = (hullma / 100) * v4 


plot(xL1, color=yellow, title="H1")
plot(xL2, color=yellow, title="L1")
plot(xL3, color=yellow, title="H2")
plot(xL4, color=yellow, title="L2")




longCondition1 =  crossover(close, xL4) 
if (longCondition1)  
    strategy.entry("l1", strategy.long)

longCondition2 =  crossover(close, xL2) 
if (longCondition2)  
    strategy.entry("l1", strategy.long)


shortCondition1 = crossover(close, xL1)
if (shortCondition1) 
    strategy.close("l1", strategy.long)
    
shortCondition2 = crossover(close, xL2)
if (shortCondition2) 
    strategy.close("l1", strategy.long)
    
shortCondition3 = crossover(close, xL3)
if (shortCondition3) 
    strategy.close("l1", strategy.long)