Chiến lược giao dịch ngưỡng phán đoán kết hợp Double HullMA


Ngày tạo: 2023-09-13 13:48:30 sửa đổi lần cuối: 2023-09-13 13:48:30
sao chép: 1 Số nhấp chuột: 585
1
tập trung vào
1617
Người theo dõi

Chiến lược này giao dịch bằng cách kết hợp sử dụng trung bình di chuyển đôi Hull và so sánh đường K, thiết lập giá trị phán quyết giá trị thấp. Ngoài ra, thiết lập giá dừng lỗ để quản lý rủi ro.

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

  1. Tính toán trung bình di chuyển của hai Hull và so sánh giá trị hiện tại với quy mô của chu kỳ trước.

  2. Tính toán tỷ lệ biến đổi giá đóng cửa hàng ngày K, thiết lập ngưỡng phán quyết trống.

  3. Khi đường nhanh đi qua đường chậm và tỷ lệ biến đổi ngày vượt ngưỡng, hãy làm nhiều hơn. Khi đường nhanh đi qua đường chậm và tỷ lệ biến đổi ngày dưới ngưỡng, hãy làm trống.

  4. Thiết lập giá dừng lỗ cố định. Cắt giá khi giá chạm vào giá dừng lỗ.

  5. Bạn có thể đặt số lượng mở cửa tối đa.

Những lợi thế của chiến lược này:

  1. HullMA đôi có thể cải thiện độ chính xác phán đoán.

  2. Thiết lập giá trị hạn chế để tránh bị ảnh hưởng bởi giá giảm ngược.

  3. Căn chặn lỗ sẽ giúp khóa lợi nhuận và kiểm soát rủi ro.

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

  1. Thiết lập ngưỡng quá cao quá thấp sẽ làm mất cơ hội giao dịch.

  2. Giá dừng lỗ cố định không thể được điều chỉnh linh hoạt, có nguy cơ thiết lập không hợp lý.

  3. HullMA và tỷ lệ biến đổi ngày đều có vấn đề về sự chậm trễ.

Tóm lại, chiến lược này có thể cải thiện sự ổn định ở một mức độ nào đó thông qua phán quyết hai chỉ số và các biện pháp quản lý rủi ro. Tuy nhiên, vẫn cần chú ý đến vấn đề tối ưu hóa tham số để tìm kiếm cấu hình tốt nhất.

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

//@version=2
//                                                        Hull_MA_cross & Daily_Candle_cross combination with TP$ & SL$ setting
//                                                              (new script reducing effect of repaint on results)
//
strategy("Decision Threshold", shorttitle="DT", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=720, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
keh=input(title="Double HullMA",defval=14, minval=1)
dt = input(defval=0.0010, title="Decision Threshold",  step=0.0001)
SL = input(defval=-50000.00, title="Stop Loss in $",  step=1)
TP = input(defval=100000.00, title="Target Point in $", step=1)
p=input(ohlc4)
ot=1
n2ma=2*wma(p,round(keh/2))
nma=wma(p,keh)
diff=n2ma-nma
sqn=round(sqrt(keh))
n2ma1=2*wma(p[1],round(keh/2))
nma1=wma(p[1],keh)
diff1=n2ma1-nma1
sqn1=round(sqrt(keh))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
b=n1>n2?lime:red
c=n1>n2?green:red
d=n1>n2?red:green
a1=plot(n1,color=c)
a2=plot(n2,color=c)
plot(cross(n1, n2) ? n1 : na, style = circles, color=b, linewidth = 4)
plot(cross(n1, n2) ? n1 : na, style = line, color=d, linewidth = 4)
confidence=(security(syminfo.tickerid, 'D', p)-security(syminfo.tickerid, 'D', p[1]))/security(syminfo.tickerid, 'D', p[1])
closelong = n1<n2 and p<n2 and confidence<dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closelong)
    strategy.close("Long")
closeshort = n1>n2 and p>n2 and confidence>dt or strategy.openprofit<SL or strategy.openprofit>TP
if (closeshort)
    strategy.close("Short")
longCondition = n1>n2 and strategy.opentrades<ot and confidence>dt and p>n2
if (longCondition)
    strategy.entry("Long",strategy.long)
shortCondition = n1<n2 and strategy.opentrades<ot and confidence<dt and p<n2 
if (shortCondition)
    strategy.entry("Short",strategy.short)