Chiến lược giao dịch ngưỡng phán đoán MA của Dual Hull

Tác giả:ChaoZhang, Ngày: 2023-09-13 13:48:30
Tags:

Chiến lược này giao dịch dựa trên sự kết hợp của hai trung bình động Hull và so sánh nến hàng ngày, với ngưỡng đánh giá cho các điều kiện dài / ngắn. Nó cũng sử dụng dừng lỗ cố định / lấy lợi nhuận để quản lý rủi ro.

Chiến lược logic:

  1. Tính toán hai MAs Hull và so sánh giá trị hiện tại so với giai đoạn trước.

  2. Tính toán tỷ lệ thay đổi gần hàng ngày và thiết lập ngưỡng đánh giá dài / ngắn.

  3. Đi dài khi MA nhanh vượt qua MA chậm, và thay đổi hàng ngày vượt quá ngưỡng.

  4. Sử dụng giá dừng lỗ cố định và lấy lợi nhuận.

  5. Cũng có thể thiết lập giới hạn vị trí mở tối đa.

Ưu điểm:

  1. HullMA đôi cải thiện độ chính xác, thay đổi hàng ngày xác nhận sự thiên vị.

  2. Các ngưỡng tránh bị ảnh hưởng bởi các động thái ngược xu hướng nhỏ.

  3. SL / TP giúp khóa lợi nhuận và kiểm soát rủi ro.

Rủi ro:

  1. Thiết lập ngưỡng xấu có thể làm bạn bỏ lỡ cơ hội.

  2. SL / TP cố định Không thể điều chỉnh linh hoạt, có nguy cơ cài đặt không phù hợp.

  3. Cả hai Hull MA và thay đổi hàng ngày chậm.

Tóm lại, hệ thống đánh giá hai chỉ số này với kiểm soát rủi ro có thể cải thiện sự ổn định ở một mức độ nào đó.


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

Thêm nữa