Chiến lược giao dịch chéo hàng ngày của HMA


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

Tổng quan

Chiến lược này được thực hiện thông qua tín hiệu chéo của đường trung bình HMA và đường mặt trời, và thiết lập logic dừng lỗ để quản lý vị trí. Chiến lược này kết hợp các chỉ số khác nhau về chu kỳ thời gian và phù hợp với giao dịch xu hướng đường dài và trung bình.

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

Chiến lược này chủ yếu đánh giá tín hiệu giao dịch thông qua các chỉ số và quy tắc sau:

  • Đường trung bình HMA: tính toán đường trung bình di chuyển của giá để xác định xu hướng của đường trung bình dài.

  • Giá đóng cửa đường ngày: Xác định xu hướng giá trong chu kỳ ngắn hơn.

  • Tín hiệu đầu vào: HMA trên giá đóng cửa hôm qua, và giá ngắn hạn cao hơn giá một ngày trước được coi là tín hiệu nhiều; ngược lại là dấu hiệu trống.

  • Stop Loss: thiết lập một điểm dừng cố định, khi giá chạm vào giá dừng hoặc giá dừng thì sẽ bị phá vỡ.

Lợi thế chiến lược

  • HMA có thể điều chỉnh thông số mịn và có khả năng thích ứng.

  • Cân nhắc các chỉ số chu kỳ thời gian khác nhau để cải thiện chất lượng tín hiệu.

  • Cài đặt logic dừng lỗ để kiểm soát rủi ro.

  • Quy tắc nhập cảnh rõ ràng và chiến lược quản lý vị trí.

  • Các tham số phản hồi có thể được tối ưu hóa để thích ứng với các môi trường thị trường khác nhau.

Phân tích rủi ro

  • HMA có thể đã bỏ lỡ thời điểm tốt nhất để tham gia.

  • Các tham số dừng lỗ cố định có thể quá quyết liệt hoặc bảo thủ.

  • Không có xu hướng mạnh hoặc yếu, có thể là một bước ngoặt.

  • Các quy tắc giao dịch đơn giản có thể tạo ra các tín hiệu giả.

Các biện pháp sau đây có thể được xem xét để giảm nguy cơ:

  1. Tối ưu hóa tham số HMA để cân bằng sự chậm trễ.

  2. Thiết lập theo dõi dừng lỗ, điều chỉnh vị trí dừng lỗ trong thời gian thực.

  3. Xu hướng tăng giá chỉ số đánh giá mạnh mẽ.

  4. Thêm tín hiệu giao dịch xác nhận chỉ số MACD.

Hướng tối ưu hóa chiến lược

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

  1. Tối ưu hóa các tham số HMA để tìm ra sự kết hợp tốt nhất.

  2. Thêm các chỉ số xu hướng mạnh và yếu, tránh giao dịch ngược.

  3. Sử dụng động dừng lỗ, chứ không phải là cố định điểm.

  4. Tham gia thuật toán học máy để sử dụng dữ liệu lớn để tự động tối ưu hóa tham số.

  5. Thêm chức năng giao hàng mô phỏng, kiểm tra hiệu suất ổ cứng.

Tóm tắt

Chiến lược này có ý tưởng tổng thể rõ ràng, nhưng vẫn có không gian để tối ưu hóa. Thêm các chỉ số đánh giá xu hướng, dừng động, v.v. có thể làm tăng sự ổn định của chiến lược. Nhìn chung, khung chiến lược hợp lý, giúp nắm bắt xu hướng đường dài.

Mã nguồn chiến lược
/*backtest
start: 2023-08-22 00:00:00
end: 2023-09-21 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
// created by SeaSide420       Enters on crossovers, exits Basket when profit $ = TP
// strategy(title="HMA & D1 crossover", overlay=true, currency="BTC", initial_capital=1, default_qty_type=strategy.percent_of_equity, default_qty_value=1, commission_type=strategy.commission.percent,commission_value=0.25,slippage=1)
SL=input(defval=-0.05,title="StopLoss $",type=input.float,step=0.01, maxval=-0.01)
TP=input(defval=0.05,title="TargetPoint $",type=input.float,step=0.01, minval=0.01)
price=input(title="Source",type=input.source,defval=open)
Period=input(14, minval=1)
hma = wma(2*wma(price, Period/2)-wma(price, Period), round(sqrt(Period)))
s1=security(syminfo.tickerid, timeframe.period, price, barmerge.gaps_off, barmerge.lookahead_off)
s2=security(syminfo.tickerid, "D", price, barmerge.gaps_off, barmerge.lookahead_off)
cp=s2<price?color.lime:color.red
cp1=plot((s2),color=color.black,title="DailyCandle1",linewidth=2,transp=0)
cp2=plot((s2[1]),color=color.black,title="DailyCandle2",linewidth=2,transp=0)
cp3=plot(hma,title="HMA",color=color.black)
fill(cp1,cp2,color=cp,transp=1)
fill(cp1,cp3,color=cp,transp=75)
closeall=strategy.openprofit<SL or strategy.openprofit>TP
if closeall
    strategy.close_all(comment = "Close All")
if (hma>hma[1] and s1>s2 and s2[1]>s2[2] and s1>s2[1])
    strategy.order("Buy", strategy.long)
if (hma<hma[1] and s1<s2 and s2[1]<s2[2] and s1<s2[1])
    strategy.order("Sell", strategy.short)