Chiến lược theo dõi xu hướng trung bình động kép

Tác giả:ChaoZhang, Ngày: 2023-12-19 14:49:52
Tags:

img

Tổng quan

Chiến lược theo dõi xu hướng trung bình động kép là một chiến lược giao dịch định lượng sử dụng hai trung bình động với các giai đoạn khác nhau để xác định hướng xu hướng của thị trường. Nó sử dụng trạng thái dài / ngắn của trung bình động nhanh và chậm để xác định xu hướng và thực hiện giao dịch theo hướng xu hướng.

Nguyên tắc

Chiến lược sử dụng hai đường trung bình động, bao gồm đường trung bình động nhanh (ví dụ 10 giai đoạn) và đường trung bình động chậm (ví dụ 30 giai đoạn). Nếu cả hai đường trung bình động đều hướng lên, nó chỉ ra xu hướng tăng. Nếu cả hai đường trung bình động đều hướng xuống, nó chỉ ra xu hướng giảm.

Cụ thể, chiến lược đầu tiên tính toán các đường trung bình di chuyển nhanh và chậm. Sau đó nó so sánh đường trung bình di chuyển nhanh hiện tại với giai đoạn trước để xem liệu đường trung bình di chuyển nhanh hiện tại có lớn hơn đường trung bình di chuyển trước không. Nếu có, gán giá trị 1 cho xu hướng tăng. Nếu không, gán -1 cho xu hướng giảm. Làm tương tự cho đường trung bình di chuyển chậm.

Cuối cùng, xác định xu hướng bằng các giá trị của hai đường trung bình động. Nếu cả hai giá trị là 1, quyết định cuối cùng là 1, cho thấy xu hướng tăng. Nếu cả hai là -1, quyết định cuối cùng là -1, cho thấy xu hướng giảm. Nếu các giá trị khác nhau, duy trì quyết định xu hướng trước đó.

Sau khi xác định hướng xu hướng, chiến lược sẽ dài ở xu hướng tăng và ngắn ở xu hướng giảm.

Ưu điểm

Chiến lược này có các cạnh sau:

  1. Lý thuyết đơn giản và dễ hiểu và thực hiện.
  2. Các đường trung bình động kép giúp lọc tiếng ồn thị trường và xác định xu hướng.
  3. Các thông số của đường trung bình động có thể được điều chỉnh cho các sản phẩm và khung thời gian khác nhau.
  4. Không cần thiết lập stop loss hoặc lấy lợi nhuận, làm giảm tần suất giao dịch và giúp theo xu hướng.
  5. Có thể linh hoạt chỉ đi dài hoặc ngắn chỉ dựa trên sở thích.

Rủi ro

Ngoài ra còn có một số rủi ro của chiến lược:

  1. Mức trung bình động có thể bị chậm trễ trong quá trình thay đổi giá mạnh, gây ra sự thiếu thời gian nhập khẩu tốt nhất.
  2. Sự đột phá giả và giao dịch chéo không chính xác có thể xảy ra, dẫn đến các tín hiệu giao dịch sai.
  3. Không có mức dừng lỗ được thiết lập, không thể hạn chế hiệu quả lỗ giao dịch duy nhất.
  4. Vị trí đầy đủ mặc định mang lại rủi ro lớn hơn, cần hoạt động cẩn thận.

Để giảm rủi ro, các tham số của đường trung bình động có thể được thiết lập hợp lý hơn, các chỉ số khác có thể được giới thiệu, dừng lỗ và lấy lợi nhuận có thể được thiết lập và kích thước vị trí có thể được điều chỉnh phù hợp.

Tối ưu hóa

Chiến lược có thể được tối ưu hóa thêm trong các khía cạnh sau:

  1. Thêm nhiều loại đường trung bình động như SMA và EMA để sử dụng nhiều công cụ biểu đồ hơn.
  2. Đưa ra các chỉ số hỗ trợ khác như MACD và BOLL để cải thiện độ chính xác.
  3. Thêm đường xu hướng và phân tích hỗ trợ / kháng cự cho các tín hiệu giao dịch chính xác hơn.
  4. Thiết lập dừng lỗ và lấy lợi nhuận để kiểm soát lỗ giao dịch duy nhất.
  5. Tối ưu hóa kích thước vị trí dựa trên việc sử dụng quỹ, tỷ lệ lợi nhuận v.v.

Kết luận

Chiến lược theo dõi xu hướng trung bình di chuyển kép có logic rõ ràng sử dụng trung bình di chuyển kép để lọc tiếng ồn và xác định xu hướng, và giao dịch theo hướng xu hướng. Đây là một chiến lược theo xu hướng điển hình. Các nhà giao dịch có thể chọn chỉ dài hoặc ngắn chỉ dựa trên sở thích.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © noro
// 2020

//@version=4
strategy(title = "Noro's TrendMA Strategy", shorttitle = "TrendMA str", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, commission_value = 0.1)

//Settings
needlong = input(true, title = "Long")
needshort = input(true, title = "Short")
fast = input(10, minval = 1, title = "MA Fast (red)")
slow = input(30, minval = 2, title = "MA Slow (blue)")
type = input(defval = "SMA", options = ["SMA", "EMA"], title = "MA Type")
src = input(ohlc4, title = "MA Source")
showma = input(true, title = "Show MAs")
showbg = input(false, title = "Show Background")

//MAs
fastma = type == "EMA" ? ema(src, fast) : sma(src, fast)
slowma = type == "EMA" ? ema(src, slow) : sma(src, slow)

//Lines
colorfast = showma ? color.red : na
colorslow = showma ? color.blue : na
plot(fastma, color = colorfast, title = "MA Fast")
plot(slowma, color = colorslow, title = "MA Slow")

//Trend
trend1 = fastma > fastma[1] ? 1 : -1
trend2 = slowma > slowma[1] ? 1 : -1
trend = 0
trend := trend1 == 1 and trend2 == 1 ? 1 : trend1 == -1 and trend2 == -1 ? -1 : trend[1]

//Backgrouns
colbg = showbg == false ? na : trend == 1 ? color.lime : trend == -1 ? color.red : na
bgcolor(colbg, transp = 80)

//Trading
if trend == 1
    if needlong
        strategy.entry("Long", strategy.long)
    if needlong == false
        strategy.close_all()

if trend == -1
    if needshort
        strategy.entry("Short", strategy.short)
    if needshort == false
        strategy.close_all()
    

Thêm nữa