Tài nguyên đang được tải lên... tải...

Chiến lược đẩy kép

Tác giả:ChaoZhang, Ngày: 2023-09-19 16:27:12
Tags:

Tổng quan

Chiến lược đẩy kép thiết lập các dải trên và dưới dựa trên giá mở cửa và phạm vi ngày trước, đi dài trên các đột phá tăng và ngắn trên các đột phá giảm.

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

  1. Tính toán HH cao nhất và LL thấp nhất trên các thanh N gần đây.

  2. Tính toán HC gần nhất cao nhất và LC gần nhất thấp nhất của ngày trước.

  3. Phạm vi ngày trước Phạm vi là lớn hơn của HH-LC và HC-LL.

  4. Dải trên BuyLine là giá mở cửa cộng với k1 * Range.

  5. Phạm vi dưới SellLine là giá mở trừ k2 * Range.

  6. Đi dài khi đóng phá vỡ trên BuyLine. Đi ngắn khi đóng phá vỡ dưới SellLine.

Phân tích lợi thế

Ưu điểm chính của chiến lược này:

  1. Nhận được xu hướng được hình thành bởi sự đột phá xung quanh giá mở cửa.

  2. Các dải được thiết lập tự động dựa trên biến động lịch sử, tránh chủ quan.

  3. Các giá trị k có thể tùy chỉnh phù hợp với các sản phẩm có độ biến động khác nhau.

  4. Các tín hiệu đột phá có chất lượng tương đối cao.

  5. Thời gian giữ linh hoạt để nắm bắt xu hướng trong các khung thời gian khác nhau.

Phân tích rủi ro

Rủi ro chính của chiến lược này:

  1. Khó khăn trong việc xác định phạm vi hợp lý cho các dải, rủi ro quá phù hợp.

  2. Sự đột phá có thể là tín hiệu sai, cần dừng lỗ.

  3. Thời gian giữ cố định không thể thích nghi năng động với thị trường.

  4. Dữ liệu backtest không đủ dẫn đến điều chỉnh đường cong.

  5. Khó khăn trong việc thực hiện giao dịch dài và ngắn cùng nhau.

Giải pháp:

  1. Tối ưu hóa giá trị k trên bộ dữ liệu lớn hơn để tránh quá phù hợp.

  2. Thiết lập stop loss thích hợp để giới hạn lỗ cho mỗi giao dịch.

  3. Thêm bộ lọc xu hướng để tránh giao dịch ngược xu hướng.

  4. Xem xét việc giảm thời gian giữ thành nội ngày.

  5. Xác thực trực tiếp với kích thước vị trí dần dần.

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

Một số cách để cải thiện chiến lược:

  1. Điều chỉnh động các giá trị k cho các dải.

  2. Thêm bộ lọc âm lượng để xác nhận tín hiệu đột phá.

  3. Sử dụng stop loss để bảo vệ lợi nhuận.

  4. Đánh giá sức mạnh phá vỡ cho kích thước vị trí.

  5. Phân biệt giữa xu hướng và phạm vi để phân hủy chiến lược.

Tóm lại

Chiến lược đẩy kép có thể nắm bắt các cơ hội giao dịch xu hướng xung quanh giá mở cửa. Nhưng cài đặt tham số và tối ưu hóa thời gian giữ có nhiều chỗ để cải thiện xem xét kiểm soát rủi ro. Đối với giao dịch trực tiếp, bắt đầu với các tham số bảo thủ và tăng kích thước vị trí dần dần.


/*backtest
start: 2023-09-11 00:00:00
end: 2023-09-18 00:00:00
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Dual Thrust Strategy",overlay=true,initial_capital=1000)
k1=input(0.67,type=float,step=0.01)
k2=input(0.62,type=float,step=0.01)
TimeFrame=input('240')
len=input(20)
HH=security(syminfo.tickerid,TimeFrame,highest(high,len),barmerge.lookahead_off)
LC=security(syminfo.tickerid,TimeFrame,lowest(close,len),barmerge.lookahead_off)
HC=security(syminfo.tickerid,TimeFrame,highest(close,len),barmerge.lookahead_off)
LL=security(syminfo.tickerid,TimeFrame,lowest(low,len),barmerge.lookahead_off)
Range=max(HH-LC,HC-LL)
BuyLine=security(syminfo.tickerid,"D",open,barmerge.lookahead_off)+k1*Range
SellLine=security(syminfo.tickerid,"D",open,barmerge.lookahead_off)-k2*Range
plot(BuyLine,color=blue,linewidth=2,offset=1,transp=70)
plot(SellLine,color=red,linewidth=2,offset=1,transp=70)


LongCondition=crossover(close,BuyLine)
ShortCondition=crossunder(close,SellLine)
strategy.entry("enter long",true,1,when=LongCondition)
strategy.entry("enter short",false,1,when=ShortCondition)
plotshape(LongCondition and strategy.position_size<0?low:na,style=shape.labelup,location=location.absolute,color=blue,text="Long",textcolor=white,size=size.small)
plotshape(ShortCondition and strategy.position_size>0?high:na,style=shape.labeldown,location=location.absolute,color=red,text="Short",textcolor=white,size=size.small)
alertcondition(LongCondition and strategy.position_size<0,title='Long_DT')
alertcondition(ShortCondition and strategy.position_size>0,title='Short_DT')

Thêm nữa