Chiến lược giao dịch định lượng đơn giản dựa trên hướng nến

Tác giả:ChaoZhang, Ngày: 2023-09-15 11:45:01
Tags:

Bài viết này giải thích chi tiết một chiến lược giao dịch định lượng đơn giản chỉ dựa trên hướng nến. Nó tạo ra các tín hiệu dài / ngắn trực tiếp theo mối quan hệ giá đóng.

I. Chiến lược logic

Chiến lược hoàn toàn đánh giá hướng dựa trên việc đóng nến, với logic là:

  1. Đi dài khi gần hơn mở.

  2. Đi ngắn khi gần là ít hơn mở.

  3. Cỡ vị trí có thể được cấu hình.

  4. Phạm vi ngày kiểm tra ngược có thể được thiết lập.

Bằng cách đơn giản xác định nến đóng cửa lên hoặc xuống, xu hướng cơ bản nhất sau tín hiệu được hình thành.

II. Lợi thế của Chiến lược

Ưu điểm lớn nhất là sự đơn giản và trực giác cực kỳ, chỉ đánh giá dựa trên hướng nến mà không có chỉ số.

Một lợi thế khác là khả năng kiểm soát rủi ro thông qua kích thước vị trí.

Cuối cùng, phạm vi thời gian backtest có thể được thiết lập để kiểm tra các khoảng thời gian khác nhau.

III. Các rủi ro tiềm ẩn

Tuy nhiên, một số vấn đề vẫn tồn tại:

Thứ nhất, chỉ hướng nến là không đủ để đánh giá thị trường chính xác, dẫn đến chất lượng tín hiệu kém.

Thứ hai, việc thiếu dừng lỗ và lấy lợi nhuận không kiểm soát rủi ro thương mại.

Cuối cùng, sự vắng mặt của các tham số điều chỉnh dẫn đến sự bất ổn.

IV. Tóm tắt

Tóm lại, bài viết này đã giải thích một chiến lược giao dịch định lượng đơn giản dựa hoàn toàn trên hướng nến. Nó tạo thành một hệ thống hoàn chỉnh thông qua phân tích mối quan hệ giá cơ bản nhất. Nhưng cần cải tiến như tối ưu hóa tham số và thêm dừng. Nhìn chung nó cung cấp một khái niệm chiến lược rất đơn giản và nguyên thủy.


/*backtest
start: 2023-08-15 00:00:00
end: 2023-09-02 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("BarUpDn time limited", overlay=true, pyramiding=1, default_qty_type = strategy.fixed, default_qty_value = 1 )

//input boxes for the limit date
yearLimit = input(2016,title="year") 
monthLimit = input(9, title="month")
dayLimit = input(1, title="day")

//function that checks if the current date is more recent than the limit
dateOk(yl,ml,dl) =>
    ok = timestamp(yl,ml,dl,0,1) < time
    
checkDate = dateOk(yearLimit,monthLimit,dayLimit)
conditionUp = close > open ? true : false
conditionDown = close < open ? true : false
if ( checkDate  )
    strategy.entry("BarUp", strategy.long, when = conditionUp)
    strategy.entry("BarDn", strategy.short, when = conditionDown)





Thêm nữa