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

Tác giả:ChaoZhang, Ngày: 2024-03-01 12:16:45
Tags:

img

Tổng quan

Chiến lược này thực hiện giao dịch định lượng thông qua việc tính toán trung bình chuyển động Hull và các băng tần phần trăm của nó để đưa ra quyết định nhập và dừng lỗ. Những lợi thế của nó bao gồm các tham số có thể điều chỉnh, thực hiện đơn giản và dừng lỗ nghiêm ngặt.

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

  1. Tính toán trung bình động của thân tàu với chiều dài.

  2. Phân đoạn tỷ lệ phần trăm xL1, xL3, xL2, xL4 dựa trên thân tàu.

  3. Long khi kết thúc vượt quá xL2 hoặc xL4, close long khi kết thúc vượt quá xL1, xL2 hoặc xL3.

Phân tích lợi thế

Những lợi thế bao gồm:

  1. HullMA nhạy cảm với sự thay đổi giá và theo dõi xu hướng tốt.

  2. Phạm vi tỷ lệ phần trăm có thể điều chỉnh cao cho các sản phẩm khác nhau.

  3. Chiến lược hai băng tần lọc ra các tín hiệu sai hiệu quả.

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

Phân tích rủi ro

Một số rủi ro:

  1. Chạy theo những đỉnh và giết chết những người ngã xuống.

  2. Trượt từ giao dịch thường xuyên.

  3. Điều chỉnh tham số không đúng dẫn đến quá mức giao dịch.

  4. Vị trí dừng lỗ cần tối ưu hóa lặp lại.

Hướng dẫn tối ưu hóa

Một số hướng tối ưu hóa:

  1. Tối ưu hóa tham số chiều dài hullMA cho các sản phẩm khác nhau.

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

  3. Thêm các hoạt động ngắn hạn để có đượ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 độ bền trên các sản phẩm khác nhau.

Kết luận

Chiến lược này xây dựng một hệ thống giao dịch đột phá tương đối đơn giản bằng cách sử dụng HullMA và dải tỷ lệ phần trăm. Với ưu và nhược điểm rõ ràng, và tối ưu hóa thêm các thông số và chức năng, nó có thể trở thành một chiến lược lượng rất thực tế.


/*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)
    


Thêm nữa