Linear Regression Channel – Chỉ báo TradingView | Code2Trade

Chỉ báo Linear Regression Channel trên TradingView

Vẽ kênh hồi quy tuyến tính gồm đường xu hướng giữa và 2 lớp biên quanh 100 nến gần nhất · chỉ báo đọc xu hướng, không có tín hiệu mua/bán hay alert

Tóm tắt nhanh: Chỉ báo Linear Regression Channel (kênh hồi quy tuyến tính) trên TradingView vẽ một kênh quanh 100 nến gần nhất: một đường xu hướng ở giữa cùng hai lớp biên cách đều, tô xanh lá phía trên và đỏ phía dưới. Chỉ báo không có tín hiệu vào lệnh và không có alert, nên đây là công cụ đọc xu hướng và vùng giá lệch xa đường trung bình; bài này chưa có số liệu backtest cho chỉ báo (xem phần Câu hỏi thường gặp).

Chỉ báo Linear Regression Channel là gì? Ý tưởng đằng sau chỉ báo

Giá đóng cửa của 100 nến liên tiếp nhìn như một đám chấm rải rác, nhưng thường có hướng đi chung: lên, xuống hoặc đi ngang. Hồi quy tuyến tính là phép tìm một đường thẳng duy nhất đi gần tất cả các chấm nhất (tổng bình phương khoảng cách nhỏ nhất). Đường này coi như "giá trị công bằng theo xu hướng" của cửa sổ đó: độ dốc cho biết thị trường đang lên hay xuống và nhanh cỡ nào.

Chỉ báo dựa trên hai giả định. Thứ nhất, trong một xu hướng đủ ổn định, giá hay bị kéo trở lại về đường xu hướng sau khi lệch xa. Thứ hai, độ lệch càng xa (tính theo đơn vị độ biến động của chính thị trường đó) thì càng bất thường và càng đáng chú ý, bất kể thị trường là vàng, forex hay coin. Hai lớp biên ± không dự đoán giá; chúng đóng vai thước đo "giá đang lệch khỏi xu hướng bao nhiêu lần độ biến động".

Nếu bạn đang so sánh các cách đọc kênh giá và xu hướng, hãy xem thêm các chỉ báo khác trong kho chỉ báo TradingView miễn phí của Code2Trade.

Kênh hồi quy hiển thị những gì trên chart

Kẻ vẽ hiển thị

  • 5 đường kẻ màu đen: một đường giữa nét liền (đường hồi quy), hai đường nét đứt ở mức ±1 và hai đường nét liền ở mức ±2 (một trên, một dưới đường giữa). Màu đen và độ dày là cố định, không có ô chỉnh.
  • Vùng tô phía trên: từ đường giữa lên tới đường +2, màu xanh lá nhạt (#4CAF4F, mờ khoảng 27%).
  • Vùng tô phía dưới: từ đường giữa xuống tới đường −2, màu đỏ nhạt (#FF5252, mờ khoảng 17%).
  • Chỉ có một kênh duy nhất hiện trên chart, ứng với 100 nến mới nhất. Kênh chạy từ nến cách đây 100 nến tới nến hiện tại, và có thể kéo dài sang trái, sang phải hoặc cả hai bên.

Cảnh báo (alert)

  • Chỉ báo không có lệnh alertcondition() hay alert() nào. Muốn được báo khi giá chạm một đường kênh, bạn phải tự cài cảnh báo theo giá trên TradingView hoặc nhờ bổ sung code.

Cách giao dịch với kênh hồi quy tuyến tính

Chỉ báo không phát tín hiệu, nên các kịch bản dưới đây là cách đọc kênh để tự ra quyết định, không phải luật của tác giả. Các con số là ví dụ giả định để dễ hình dung, không phải kết quả trên chart thật.

Kịch bản mua (long)

Chọn lúc đường giữa dốc lên (ví dụ đầu trái 2.640, đầu phải 2.668). Chờ giá hồi xuống đường −1 (2.656) hoặc −2 (2.644), rồi mua khi nến đóng cửa quay lên trên đường vừa chạm. Stop Loss đặt dưới đường −2 một khoảng đệm; mục tiêu đầu tiên là đường giữa (2.668), mục tiêu xa hơn là đường +1 (2.680). Với giá vào 2.658 và SL 2.642, mục tiêu +1 cho lãi/lỗ khoảng 22/16.

Kịch bản bán (short)

Đối xứng: đường giữa dốc xuống, giá hồi lên đường +1 hoặc +2, bán khi nến đóng cửa quay xuống dưới đường đó; SL trên đường +2, mục tiêu về đường giữa rồi đường −1.

Khi nào KHÔNG nên dùng

  • Đừng backtest bằng mắt trên chart. Chỉ kênh mới nhất còn lại, các kênh của những nến trước đã bị xoá. Chuyện "giá từng chạm biên rồi quay đầu" bạn thấy ở quá khứ không phải là thứ chỉ báo đã hiển thị lúc đó.
  • Khi giá chạy một mạch theo xu hướng mạnh, giá thường bám sát đường giữa và hiếm khi chạm biên; chờ "chạm biên rồi bật lại" ở đó có thể không bao giờ có điểm vào.
  • Khi cửa sổ vừa trượt qua một nến lớn, độ dốc và vị trí kênh có thể thay đổi đột ngột chỉ vì nến đó rời khỏi 100 nến gần nhất.
  • Khi đang chọn khung lớn hơn chart, nến khung lớn chưa đóng làm kênh còn dịch chuyển theo giá hiện tại; đừng vào lệnh dựa trên một đường chưa chốt.

Vì kênh chỉ cho bối cảnh, nhiều trader ghép nó với một chỉ báo xác nhận (động lượng hoặc khối lượng); bạn có thể gộp nhiều chỉ báo TradingView thành một mà không cần biết code.

Để AI đọc chart và hỗ trợ kẻ vẽ, xem cách kết nối AI với TradingView chỉ bằng 1 click.

Cách hoạt động của kênh hồi quy: từ cài đặt đến 5 đường kẻ

Đầu ra trước: chỉ còn một kênh vì mỗi nến vẽ mới rồi xoá cũ

  • Ở mỗi nến, hàm ChannelDrawing tạo 5 đường (RL, RL_T1, RL_T2, RL_B1, RL_B2) và 2 vùng tô, rồi lập tức xoá bản của nến trước bằng line.delete(RL[1]). Kết quả: lịch sử chart chạy xong chỉ còn đúng một kênh ở cửa sổ mới nhất. Mỗi đường nối thời điểm T_X0 (nến cách đây n nến) với T_X1 (nến hiện tại) (Tầng 6–7 trên sơ đồ).
  • Đường giữa lấy từ Y_0 → Y_1. Các đường trên/dưới cộng hoặc trừ Level_1 và Level_2 vào cả hai đầu, nên song song với đường giữa. Ví dụ: Y_1 = 2.668, Level_1 = 12,0, Level_2 = 24,0 → các đường ở 2.680 / 2.692 (trên) và 2.656 / 2.644 (dưới) (Tầng 5–6 trên sơ đồ).

Đầu vào và vai trò từng tham số

  • n ("Data Window Period", số nguyên, mặc định 100): số nến của cửa sổ hồi quy. Giảm xuống 50 → đường giữa bám giá sát hơn, độ dốc đổi hướng nhanh, kênh ngắn. Tăng lên 200 → kênh dài, mượt, chậm đổi hướng. Ô này không có giá trị tối thiểu, nên đặt quá thấp (1–2) khiến phép hồi quy vô nghĩa. (Tầng 1 trên sơ đồ)
  • TF_Choise ("Time Frame", ô tick, mặc định tắt) và TF (chọn khung, mặc định 60): tắt → tính trên khung của chart; bật → tính toàn bộ trên khung TF qua request.security. Chart M15, bật TF = 60 → kênh là hồi quy của 100 nến H1 (khoảng 4 ngày giao dịch liên tục) vẽ lên chart M15. Ô TF không có nhãn riêng, nằm cạnh ô tick. (Tầng 2 trên sơ đồ)
  • RT ("Regression Type", "Standard" / "Advance", mặc định Standard): chọn nhánh nào cấp hai đầu đường giữa. "Standard" dùng hàm có sẵn ta.linreg, "Advance" tự tính độ dốc B1 và điểm cắt B0 bằng công thức bình phương tối thiểu. Hai nhánh tính cùng một đường nên theo công thức trong code chúng khác nhau tối đa ở sai số làm tròn (mình chưa đối chiếu từng giá trị trên chart). (Tầng 3–4 trên sơ đồ)
  • ST ("Scaling Type", "Standard Deviation" / "ATR", mặc định Standard Deviation): đơn vị đo độ rộng kênh. Standard Deviation → độ lệch chuẩn của giá đóng cửa trong n nến. ATR → biên độ dao động trung bình của một nến, tính với cùng chu kỳ n (100), không phải 14 quen thuộc, nên khá mượt. (Tầng 3–4 trên sơ đồ)
  • Lvl_1 (mặc định 1) và Lvl_2 (mặc định 2), đều là số nguyên: nhân với đơn vị độ rộng để ra khoảng cách tới cặp đường nét đứt và cặp đường ngoài cùng. Đặt Lvl_2 = 3 → đường ngoài cùng xa hơn 1,5 lần (12,0 × 3 = 36,0 thay vì 24,0), vùng tô giãn theo. Vì là số nguyên nên không đặt được 1,5 hay 2,5. (Tầng 5 trên sơ đồ)
  • ExtenD ("Extend Channel", mặc định "Extend None"): "Extend Right" kéo cả 5 đường sang phải để chiếu xu hướng về phía trước; "Extend Left" kéo sang trái; "Extend Both" kéo cả hai bên. Chỉ ảnh hưởng độ dài đường vẽ, không đổi số liệu. (Tầng 2 trên sơ đồ)

Các khối tính toán chính

  • Hồi quy trên 100 nến (Tầng 3): trục ngang là số thứ tự nến, trục dọc là giá đóng cửa. Ví dụ đầu trái 2.640, đầu phải 2.668 → độ dốc B1 = (2.668 − 2.640) / 100 = 0,28 giá mỗi nến.
  • Độ rộng đo quanh giá trung bình, không đo quanh đường hồi quy (Tầng 3–4): STDEV = ta.stdev(close, n) là độ lệch chuẩn của giá đóng cửa so với mức trung bình của cả cửa sổ, nên bao gồm cả phần giá trôi theo xu hướng. Ví dụ: giá đi thẳng từ 2.600 lên 2.700 trong 100 nến thì STDEV ≈ 28,9 → đường ±2 cách đường giữa khoảng 57,7, trong khi giá gần như nằm sát đường giữa. Khi thị trường đi ngang thì hai đại lượng gần bằng nhau và kênh ôm giá hợp lý hơn nhiều.
  • Chọn đơn vị rộng (Tầng 4–5): Scaling = ATR nếu ST chọn ATR, ngược lại là STDEV. Level_1 = Scaling × Lvl_1, Level_2 = Scaling × Lvl_2.
  • Khung lớn (nếu bật): toàn bộ khối trên chạy trên khung TF; thời điểm hai đầu đường là giờ mở nến của khung đó, nên đường có thể kết thúc sớm hơn nến hiện tại của chart.

Đầu ra: kẻ vẽ, vào lệnh, alert

  • Chỉ báo chỉ có kẻ vẽ: 5 đường và 2 vùng tô. Màu vùng tô cố định theo vị trí (xanh lá phía trên, đỏ phía dưới), không đổi theo độ dốc kênh, nên màu không báo hiệu tăng hay giảm. Chỉ báo không có lệnh vào và không có alert. (Tầng cuối trên sơ đồ)

Sơ đồ hoạt động (flowchart theo tầng) của kênh hồi quy

Sơ đồ 7 tầng chỉ báo Linear Regression Channel: cài đặt, tính hồi quy n nến, độ rộng ±1 ±2, rồi 5 đường kênh và 2 vùng tô
Flowchart đọc từ trên xuống: 8 cài đặt → hồi quy trong cửa sổ n nến → 5 đường kênh và 2 vùng tô màu.

Giải thích sơ đồ theo từng tầng

Đọc sơ đồ từ trên xuống dưới: mỗi tầng chỉ dùng kết quả của tầng phía trên; tầng cuối là kênh hồi quy bạn nhìn thấy trên chart.

  1. Tầng 1 — Đầu vào: Cài đặt người dùng nhập.
    • TF_Choise — Ô tick · mặc định tắt; Tắt = dùng khung của chart → dẫn tới: tfUsed
    • TF — Chọn khung · mặc định 60; Chỉ có tác dụng khi TF_Choise bật → dẫn tới: tfUsed
    • n (Data Window Period) — Số nguyên · mặc định 100; Số nến của cửa sổ hồi quy → dẫn tới: Y_Std_X0 · Y_Std_X1, Y_Adv_X0 · Y_Adv_X1, STDEV, ATR, T_X0 · T_X1
    • RT (Regression Type) — Chọn 1 trong 2 · mặc định Standard; Standard / Advance → dẫn tới: Y_0 · Y_1
    • ST (Scaling Type) — Chọn 1 trong 2 · mặc định Standard Deviation; Hoặc ATR → dẫn tới: Scaling
    • Lvl_1 — Số nguyên · mặc định 1; Hệ số cho cặp đường nét đứt → dẫn tới: Level_1
    • Lvl_2 — Số nguyên · mặc định 2; Hệ số cho cặp đường ngoài cùng → dẫn tới: Level_2
    • ExtenD (Extend Channel) — Chọn 1 trong 4 · mặc định Extend None; Không / Trái / Phải / Cả hai → dẫn tới: extend
  2. Tầng 2 — Tính toán: Chọn khung dữ liệu và kiểu kéo dài.
    • tfUsed — khung này là khung mà mọi phép tính hồi quy bên dưới chạy trong request.security; chart M15 mà chọn 60 thì kênh được tính trên 100 nến H1. → dẫn tới: Y_Std_X0 · Y_Std_X1, Y_Adv_X0 · Y_Adv_X1, STDEV, ATR, T_X0 · T_X1
    • extend — Đổi chữ chọn thành kiểu kéo dài; VD: Extend Right → kéo sang phải → dẫn tới: 5 đường kênh (màu đen)
  3. Tầng 3 — Tính toán: Tính hồi quy trong cửa sổ n nến.
    • Y_Std_X0 · Y_Std_X1 — hai đầu của đường hồi quy dựng bằng hàm có sẵn của TradingView: đầu trái ở n nến trước, đầu phải ở nến hiện tại. → dẫn tới: Y_0 · Y_1
    • Y_Adv_X0 · Y_Adv_X1 — cùng một đường hồi quy bình phương tối thiểu như nhánh Standard nhưng viết thành công thức tay; chỉ khác nhau ở sai số làm tròn. → dẫn tới: Y_0 · Y_1
    • STDEV — ta.stdev(close, n); VD: 12,0 (độ lệch chuẩn giá đóng cửa) → dẫn tới: Scaling
    • ATR — ta.atr(n) — dùng cùng số n, không phải 14; VD: 6,5 → dẫn tới: Scaling
    • T_X0 · T_X1 — Thời gian nến cách n nến và nến hiện tại; Hai đầu theo trục thời gian → dẫn tới: 5 đường kênh (màu đen)
  4. Tầng 4 — Tính toán: Chọn đường giữa và đơn vị độ rộng.
    • Y_0 · Y_1 — hai giá của đường giữa tại đầu trái và đầu phải; vì hai nhánh cho cùng một đường nên đổi RT hầu như không đổi hình. → dẫn tới: RL_T1 · RL_T2, RL_B1 · RL_B2, 5 đường kênh (màu đen), 2 vùng tô màu
    • Scaling — ST = ATR → lấy ATR; Khác → lấy STDEV (VD: 12,0) → dẫn tới: Level_1, Level_2
  5. Tầng 5 — Tính toán: Độ rộng của 2 lớp kênh.
    • Level_1 — Scaling × Lvl_1; VD: 12,0 × 1 = 12,0 → dẫn tới: RL_T1 · RL_T2, RL_B1 · RL_B2
    • Level_2 — Scaling × Lvl_2; VD: 12,0 × 2 = 24,0 → dẫn tới: RL_T1 · RL_T2, RL_B1 · RL_B2
  6. Tầng 6 — Tính toán: Toạ độ đường phía trên, phía dưới và bộ nhớ kênh cũ.
    • RL_T1 · RL_T2 — Đường giữa + Level_1 và + Level_2; VD: 2.668 → 2.680 và 2.692 → dẫn tới: 5 đường kênh (màu đen), 2 vùng tô màu
    • RL_B1 · RL_B2 — Đường giữa − Level_1 và − Level_2; VD: 2.668 → 2.656 và 2.644 → dẫn tới: 5 đường kênh (màu đen), 2 vùng tô màu
    • RL[1] … — var: 5 đường + 2 vùng tô của nến trước; Để xoá đi khi vẽ bản mới → dẫn tới: 5 đường kênh (màu đen) (xoá bản cũ), 2 vùng tô màu (xoá bản cũ)
  7. Tầng 7 — Đầu ra: Thứ bạn thấy trên chart.
    • 5 đường kênh (màu đen) — mỗi nến chỉ báo vẽ lại cả 5 đường và xoá bản của nến trước, nên cuối cùng chỉ còn một kênh duy nhất ở cửa sổ mới nhất. ↺ quay lại cập nhật (nét đứt): RL[1] … (lưu lại)
    • 2 vùng tô màu — Giữa → +2: xanh lá nhạt · giữa → −2: đỏ nhạt

Toàn bộ sơ đồ và phân tích này được dựng bằng AI theo quy trình của khoá Zero2Hero: tạo chỉ báo và bot trade bằng AI không cần code.

Câu hỏi thường gặp về kênh hồi quy Linear Regression Channel

Chỉ báo này dùng cho forex, vàng hay coin được không?

Công thức chỉ dùng giá đóng cửa nên về kỹ thuật vẽ được trên mọi thị trường có chart trên TradingView. Tuy nhiên bài này chưa kiểm chứng riêng thị trường nào, nên mình không khẳng định hiệu quả ở forex, vàng hay coin.

Chỉ báo có hiệu quả không?

Chỉ báo không có điểm vào/ra nên không có tỷ lệ thắng để nêu. Một bản strategy dựng trên kênh này có thể kiểm bằng backtest riêng; số liệu đó chưa được công bố trong bài này.

Vì sao chart chỉ có một kênh, kênh ở quá khứ đâu rồi?

Do thiết kế: mỗi nến chỉ báo xoá kênh của nến trước và vẽ kênh mới. Chart chạy xong chỉ giữ kênh của 100 nến cuối. Muốn xem kênh theo thời gian, bạn cần một bản chỉ báo hoặc strategy lưu lại các giá trị đường qua từng nến.

Chọn Standard hay Advance thì khác nhau thế nào?

Theo công thức trong code, cả hai là cùng một đường hồi quy bình phương tối thiểu, chỉ viết theo hai cách. Cứ để mặc định Standard; điều chỉnh độ rộng bằng "Scaling Type" và hệ số Lvl_1, Lvl_2 mới có tác dụng thấy được.

Có bản bot tự động trên MT5 hoặc OKX không?

Bài này mới có chỉ báo TradingView. Bạn có thể cho AI kết nối với MetaTrader 5 (MT5) hoặc kết nối với sàn OKX để chạy một chiến lược dựng trên kênh này.

Tôi muốn sửa chỉ báo theo ý mình thì làm thế nào?

Code2Trade nhận dịch vụ code chỉ báo và bot trade theo yêu cầu (TradingView, MT5); gửi yêu cầu qua trang liên hệ Code2Trade.

Nội dung chỉ nhằm mục đích giáo dục, không phải lời khuyên đầu tư. Giao dịch có rủi ro mất vốn.

Zoom/Pan Layered Image
Sơ đồ logic chỉ báo Auto-Length Moving Average + Trend Signals
− +

Chỉ báo trên vừa hoá thành BOT TRADE — chỉ 1 click AI

📊Chỉ báo gốc
→
🤖AI convert 1-click
→
⚙️Bot tự trade 24/7