Chiến lược dừng lỗ trung bình di chuyển kép

Tác giả:ChaoZhang, Ngày: 2023-11-15 15:44:48
Tags:

img

Tổng quan

Chiến lược này là một chiến lược dừng lỗ dựa trên đường trung bình động kép. Nó sử dụng hai đường trung bình động, một là đường trung bình động chính và một là đường dừng lỗ. Khi giá vượt trên đường trung bình động chính, mua mua. Khi giá dưới đường dừng lỗ, đóng vị trí dài. Khi giá dưới đường trung bình động chính, mua ngắn. Khi giá vượt qua đường dừng lỗ, đóng vị trí ngắn. Nó đạt được mức dừng lỗ và lấy lợi nhuận bằng cách điều chỉnh năng động giá dài và ngắn.

Chiến lược logic

Chiến lược này sử dụng hàm sma để tính toán trung bình động đơn giản của chiều dài len như đường trung bình động chính ma. Sau đó theo dữ liệu nhập của người dùng, nó tính toán đường stop loss dài el và đường stop loss ngắn es.

el = ma + (ma * elpercent / 100) es = ma + (ma * espercent / 100)

Trong đó elpercent và espercent đại diện cho tỷ lệ phần trăm dịch chuyển từ đường trung bình động chính.

Điều này cho chúng ta ba đường: trung bình di chuyển chính ma, đường dừng lỗ dài el, và đường dừng lỗ ngắn es.

Logic giao dịch của chiến lược là:

Nếu giá đóng là trên đường dừng lỗ dài el, mở một vị trí dài. Nếu giá đóng là dưới đường dừng lỗ ngắn es, đóng vị trí dài.

Nếu giá đóng là dưới đường dừng lỗ ngắn es, mở một vị trí ngắn. Nếu giá đóng là trên đường dừng lỗ dài el, đóng vị trí ngắn.

Ưu điểm của Chiến lược

  1. Sử dụng trung bình động kép để đặt điểm dừng lỗ và lấy lợi nhuận có thể kiểm soát rủi ro một cách hiệu quả.

  2. Chiều dài của trung bình động chính len và tỷ lệ phần trăm elpercent và espercent có thể được tùy chỉnh, có thể được điều chỉnh cho các thị trường khác nhau và thích nghi tốt.

  3. Cơ chế dừng lỗ có thể cắt giảm tổn thất theo thời gian và tránh thêm tổn thất.

  4. Logic chiến lược đơn giản và rõ ràng, dễ hiểu và thực hiện, phù hợp với người mới bắt đầu.

  5. Nó có thể đi cả dài và ngắn để tận dụng lợi thế của thị trường hai chiều.

Rủi ro và giải pháp

  1. Rủi ro quá phù hợp với backtest. Các chiến lược trung bình động có xu hướng quá phù hợp với dữ liệu backtest. Hiệu suất thực tế có thể khác nhau. Giải pháp là xác minh trong các thị trường trực tiếp phức tạp và điều chỉnh các thông số phù hợp.

  2. Rủi ro stop loss quá gần. Nếu stop loss quá gần trung bình động chính, nó có thể được kích hoạt bởi biến động giá ngắn hạn. Tăng khoảng cách stop loss để tránh điều này.

  3. Áp lực vốn từ giao dịch hai hướng. Đi cả dài và ngắn đòi hỏi đủ biên giới. Giảm kích thước vị trí để kiểm soát áp lực vốn.

  4. Rủi ro tối ưu hóa tham số. Các tham số tối ưu khác nhau rất nhiều trong các điều kiện thị trường khác nhau. Thời gian cần thiết để tối ưu hóa các tham số. Có thể sử dụng máy học để hỗ trợ tối ưu hóa tham số.

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

  1. Xem xét thêm các chỉ số để xác định xu hướng thị trường và cải thiện quyết định, ví dụ như chỉ số giá khối lượng, chỉ số biến động.

  2. Nghiên cứu tự động tối ưu hóa chiều dài trung bình di chuyển và các tham số dừng lỗ dựa trên những thay đổi của thị trường.

  3. Thêm lọc trên các công cụ giao dịch, chỉ giao dịch xu hướng rõ ràng.

  4. Xem xét việc dừng lỗ thay vì dừng lỗ cố định, điều chỉnh dừng dựa trên giá thời gian thực.

  5. Xây dựng hệ thống đánh giá cho tối ưu hóa tham số để tự động tìm các tập hợp tham số tối ưu thông qua kết quả backtest.

Kết luận

Chiến lược này sử dụng trung bình di chuyển kép để dừng lỗ và có thể kiểm soát rủi ro một cách hiệu quả. Chiến lược có những lợi thế như các tham số có thể tùy chỉnh và khả năng thích nghi nhưng cũng có những rủi ro như quá mức kiểm tra lại và thiết lập khoảng cách dừng lỗ cần chú ý. Với tối ưu hóa hơn nữa, chiến lược này có thể trở thành một chiến lược dừng lỗ hiệu quả khả thi cho giao dịch trực tiếp. Nó phù hợp như một điểm khởi đầu cho người mới bắt đầu giao dịch thuật toán và có thể được cải thiện liên tục thông qua thực hành để cuối cùng hình thành một hệ thống giao dịch độc đáo.


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2019

//@version=4
strategy(title = "Robot WhiteBox StopMA", shorttitle = "Robot WhiteBox StopMA", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(false, defval = false, title = "Short")
len = input(50)
src = input(ohlc4)
elpercent = input(5.0, minval = 0, maxval = 100, title = "Shift long, %")
espercent = input(-5.0, minval = -100, maxval = 0, title = "Shift short, %")
showlines = input(true, defval = true, title = "Show lines")
showbg = input(true, defval = true, title = "Show background")

//Levels
ma = sma(src, len)
el = ma + ((ma / 100) * elpercent)
es = ma + ((ma / 100) * espercent)

//Lines
colel = showlines ? color.lime : na
colma = showlines ? color.blue : na
coles = showlines ? color.red : na
plot(el, color = colel, offset = 1)
plot(ma, color = colma, offset = 1)
plot(es, color = coles, offset = 1)

//Background
trend = 0
trend := high > el[1] ? 1 : low < es[1] ? -1 : trend[1]
colbg = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na
bgcolor(colbg, transp = 80)

//Trading
if ma > 0
    strategy.entry("Long", strategy.long, needlong ? na : 0, stop = el)
    strategy.entry("Short", strategy.short, needshort ? na : 0, stop = es)

Thêm nữa