Hệ thống theo dõi xu hướng hộp kép

Tác giả:ChaoZhang, Ngày: 2023-11-02 17:19:22
Tags:

Tổng quan

Hệ thống theo dõi xu hướng là một chiến lược theo dõi xu hướng dựa trên hệ thống hộp kép. Nó sử dụng một hộp dài hạn để xác định hướng xu hướng tổng thể và lấy tín hiệu phù hợp với xu hướng chính khi hộp ngắn hạn được kích hoạt. Chiến lược này theo xu hướng trong khi quản lý rủi ro.

Chiến lược logic

Chiến lược sử dụng hai hộp để xác định xu hướng. Hộp dài hạn sử dụng một khoảng thời gian dài hơn để đánh giá hướng xu hướng chính, và hộp ngắn hạn sử dụng một khoảng thời gian ngắn hơn để tạo ra tín hiệu giao dịch.

Đầu tiên, chiến lược tính toán giá cao nhất và thấp nhất của hộp dài hạn để xác định hướng xu hướng chính.

  • Nếu giá cao nhất vượt qua giá cao nhất của thanh trước, nó được định nghĩa là xu hướng tăng, được gán giá trị 1
  • Nếu giá thấp nhất vượt qua dưới giá thấp nhất của thanh trước, nó được định nghĩa là xu hướng giảm, được gán giá trị -1
  • Nếu không, duy trì hướng xu hướng ban đầu

Sau khi xác định xu hướng chính, chiến lược bắt đầu có vị trí dựa trên các tín hiệu hộp ngắn hạn.

  • Khi xu hướng chính là lên và giá thấp nhất của hộp ngắn hạn bằng với giá thấp nhất của thanh trước và thấp hơn giá thấp nhất của hộp ngắn hạn hiện tại, đi dài.
  • Khi xu hướng chính giảm và giá cao nhất của hộp ngắn hạn bằng giá cao nhất của thanh trước và cao hơn giá cao nhất của hộp ngắn hạn hiện tại, hãy bán ngắn.

Ngoài ra, dừng lỗ và lấy lợi nhuận được cấu hình:

  • Stop loss dài là giá thấp nhất của hộp dài hạn, stop loss ngắn là giá cao nhất của hộp dài hạn
  • Lợi nhuận dài là giá cao nhất của hộp ngắn hạn, lợi nhuận ngắn là giá thấp nhất của hộp ngắn hạn

Khi xu hướng chính đảo ngược, đóng tất cả các vị trí.

Phân tích lợi thế

Những lợi thế của chiến lược này bao gồm:

  1. Hệ thống hộp kép xác định hiệu quả các hướng xu hướng và giảm các giao dịch không chính xác
  2. Chỉ nhận tín hiệu đảo ngược phù hợp với xu hướng chính để tránh bị đánh lừa bởi tiếng ồn thị trường ngắn hạn
  3. Sự kết hợp giữa các khoảng thời gian dài và ngắn đảm bảo nắm bắt các xu hướng chính trong khi duy trì tính linh hoạt điều chỉnh vị trí
  4. Kiểm soát rủi ro điểm dừng lỗ và lấy lợi nhuận hợp lý trong khi theo dõi xu hướng
  5. Nhanh chóng làm phẳng tất cả các vị trí khi xu hướng chính đảo ngược giảm thiểu tổn thất

Phân tích rủi ro

Những rủi ro của chiến lược này bao gồm:

  1. Các thiết lập dài và ngắn hạn không chính xác có thể gây ra quá mức giao dịch hoặc bỏ lỡ cơ hội
  2. Sự đảo ngược ngắn hạn có thể không đại diện cho những thay đổi xu hướng dài hạn, vẫn gây ra rủi ro mất mát
  3. Stop loss quá gần có thể bị dừng ra sớm
  4. Lấy lợi nhuận quá lỏng lẻo có thể không tối đa hóa lợi nhuận
  5. Phản định sai về xu hướng chính dẫn đến tổn thất
  6. Các giải pháp bao gồm điều chỉnh thời gian, tối ưu hóa các điểm dừng / mục tiêu, thêm các bộ lọc vv.

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

Chiến lược có thể được cải thiện bằng cách:

  1. Thêm các bộ lọc để tránh các sự đột phá sai
  2. Tối ưu hóa thời gian dài và ngắn cho các sản phẩm khác nhau
  3. Điều chỉnh động mức dừng lỗ và lấy lợi nhuận
  4. Tích hợp các quy tắc về kích cỡ vị trí
  5. Sử dụng khối lượng v.v. để đánh giá độ tin cậy của các thay đổi xu hướng
  6. Sử dụng máy học để tự động tối ưu hóa các thông số và bộ lọc

Tóm lại

Hệ thống theo dõi xu hướng là một chiến lược giao dịch xu hướng thực tế kết hợp xác định xu hướng và điều chỉnh ngắn hạn. Với tối ưu hóa liên tục, nó có thể trở thành một hệ thống tự động mạnh mẽ theo dõi xu hướng trong khi kiểm soát rủi ro. Nó chứa các triết lý cốt lõi của giao dịch xu hướng và đáng để nghiên cứu sâu.

[/trans]


/*backtest
start: 2023-10-25 00:00:00
end: 2023-10-26 07:00:00
period: 5m
basePeriod: 1m
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/
// © LonesomeTheBlue

//@version=4
strategy("Grab Trading System", overlay = true)
flb = input(defval = 80, title = "Longterm Period", minval = 1)
slb = input(defval = 21, title = "Shortterm Period", minval = 1)
showtarget = input(defval = true, title = "Show Target")
showtrend = input(defval = true, title = "Show Trend")

major_resistance = highest(flb)
major_support = lowest(flb)
minor_resistance = highest(slb)
minor_support = lowest(slb)

var int trend = 0
trend := high > major_resistance[1] ? 1 : low < major_support[1] ? -1 : trend
strategy.entry("Buy", true, when = trend == 1 and low[1] == minor_support[1] and low > minor_support)
strategy.entry("Sell", false, when = trend == -1 and high[1] == minor_resistance[1] and high < minor_resistance)

if strategy.position_size > 0
    strategy.exit("Buy", stop = major_support, comment = "Stop Buy")
    if high[1] == minor_resistance[1] and high < minor_resistance
        strategy.close("Buy", comment ="Close Buy")
    
if strategy.position_size < 0
    strategy.exit("Sell", stop = major_resistance, comment = "Stop Sell")
    if low[1] == minor_support[1] and low > minor_support
        strategy.close("Sell", comment ="Close Sell")

if strategy.position_size != 0 and change(trend)
    strategy.close_all()
    
majr = plot(major_resistance, color = showtrend and trend == -1 and trend[1] == -1 ? color.red : na)
majs = plot(major_support, color = showtrend and trend == 1 and trend[1] == 1 ? color.lime : na)
minr = plot(minor_resistance, color = showtarget and trend == 1 and strategy.position_size > 0 ? color.yellow : na, style = plot.style_circles)
mins = plot(minor_support, color = showtarget and trend == -1 and strategy.position_size < 0 ? color.yellow : na, style = plot.style_circles)

fill(majs, mins, color = showtrend and trend == 1 and trend[1] == 1 ? color.lime : na, transp = 85)
fill(majr, minr, color = showtrend and trend == -1 and trend[1] == -1 ? color.red : na, transp = 85)


Thêm nữa