Isolated Scroll Container

1. Mô tả Logarithmic Regression Channel-Trend Strategy

Một đường hồi quy thẳng khớp qua logarit của giá trong một cửa sổ nhìn lại, vẽ từ hôm nay lùi về một số nến do bạn chọn, kèm hai đường biên ngoài tô màu lệch nhau một bội số độ lệch chuẩn của chính giá, các dấu X báo cắt theo hướng ngắn hạn của đường, và một bảng nhỏ tóm tắt cả ba cách đọc cùng lúc.

1.1 Concept của chỉ báo

Một đường hồi quy tuyến tính thông thường khớp một đường thẳng qua giá thô. Chỉ báo này thay vào đó khớp đường thẳng qua logarit của giá, rồi đổi các giá trị đã khớp ngược lại thành giá bằng exp(). Kết quả là một đường thể hiện tốc độ tăng trưởng phần trăm không đổi thay vì tốc độ tăng cố định theo điểm mỗi nến — hữu ích trên các sản phẩm hoặc cửa sổ dài mà giá đã tăng theo bội số, nơi một đường thẳng trên giá thô sẽ lệch nặng ở phần đầu và cuối cửa sổ.

  • Một đường thẳng duy nhất, hai cách đọc. Phép hồi quy chỉ tạo ra đúng một đường, nhưng chỉ báo nhìn nó theo hai cách khác nhau: giá trị hiện tại của chính đường đã tăng hay giảm trong vài nến gần nhất (cách đọc ngắn hạn), và giá trị hôm nay có cao hơn hay thấp hơn giá trị của đường ở mép trái xa (cách đọc toàn cửa sổ). Hai cách đọc này có thể không khớp nhau, và mỗi cách tô màu cho một nhóm hình vẽ khác nhau — xem Flow 3.
  • Một kênh dựng từ chính độ biến động của giá. Hai đường biên chạy song song với đường hồi quy, lệch lên trên và xuống dưới một bội số của độ lệch chuẩn của giá đóng cửa thô (không phải log giá) trong cùng cửa sổ — một vỏ bọc biến động quấn quanh một đường xu hướng tăng trưởng log.
  • Chỉ một viền mỏng của kênh đó thực sự được tô màu. Dù trông như một chỉ báo "kênh", vùng tô màu chỉ là một dải hẹp ôm sát đường biên ngoài — khoảng trống giữa đường trung tâm và đường biên đó bị bỏ trống. Xem Flow 4 và ghi chú kỹ thuật.
  • Tín hiệu dấu X theo động lượng của chính đường. Một dấu X xuất hiện khi giá trị hiện tại của đường hồi quy, vốn đã giảm trong 3 nến gần nhất, chuyển sang tăng (hoặc ngược lại) — một tín hiệu về bản thân đường xu hướng, không phải tín hiệu hành động giá.

Tóm lại: một đường xu hướng hồi quy trong không gian log kèm một kênh biến động quấn quanh nó, hai cách đọc tăng/giảm độc lập (ngắn hạn và toàn cửa sổ) dẫn dắt các màu khác nhau, các dấu đánh dấu khúc quanh động lượng trên chính đường, và một bảng thông tin gọn.

1.2 Chức năng của chỉ báo

  • Hiển thị:
    • Đường hồi quy chính (dày 2px), từ giá trị đã khớp của hôm nay lùi về mép trái, tô màu xanh ngọc (teal) hoặc hồng tuỳ theo hướng 3 nến của chính nó (màu trơn, không phải dải chuyển).
    • Một vùng tô mỏng dọc theo chính đường đó (tuỳ chọn, "Fill Band"), giữa đường đang chạy và một bản sao vô hình của nó 3 nến trước, với màu đậm nhạt theo độ mạnh của nhịp 3 nến gần nhất so với 200 nến gần nhất.
    • Đường trung tâm nét đứt (tuỳ chọn, "Mid Line") nối giá trị đã khớp của hôm nay với giá trị đã khớp ở mép trái của cửa sổ được vẽ, màu chữ mặc định của chart.
    • Hai đường biên ngoài dày (luôn hiện, không có công tắc tắt), lệch khỏi trung tâm Channel Width + 0.3 độ lệch chuẩn, tô màu xanh ngọc hoặc hồng theo hướng toàn cửa sổ của đường.
    • Một dải hẹp được tô màu ngay sát mỗi đường biên ngoài (trong suốt 70%, cùng màu) — từ Channel Width ra tới Channel Width + 0.3 độ lệch chuẩn. Khoảng không gian giữa đường trung tâm và chính mức Channel Width không được tô.
    • Một nhãn chữ ("UP" hoặc "DN") ở đầu trái của đường biên dưới, chữ màu xanh navy đậm trên nền xanh ngọc/hồng.
    • Các hình dấu X tại giá trị hiện tại của đường hồi quy, màu chữ trung tính của chart, mỗi khi động lượng 3 nến của chính đường đổi chiều.
    • Bảng thông tin 3 hàng (trên-phải): độ dốc tăng trưởng log, hướng kênh toàn cửa sổ, và hướng ngắn hạn của đường.
  • Alert: Chỉ báo KHÔNG có lệnh alertcondition() nào.

1.3 Cách dùng chỉ báo

  • Coi đường hồi quy như một ước lượng xu hướng tăng trưởng log, không phải đường trung bình động — đó là một đường thẳng duy nhất (trong không gian log) được khớp một lần mỗi nến trên toàn bộ cửa sổ nhìn lại, nên nó phản ứng theo hình dạng tổng thể của cửa sổ, không chỉ theo các nến gần đây.
  • Đọc màu của chính đường chính (xanh ngọc/hồng) như thước đo ngắn hạn "bản thân đường xu hướng đang tăng hay giảm ngay lúc này", còn màu của kênh ngoài là một thước đo riêng "giá đã tăng ròng hay giảm ròng trên toàn bộ cửa sổ được vẽ". Hãy chấp nhận chúng đôi khi không khớp nhau — VD một đường màu xanh ngọc (vừa quay đầu tăng) nằm trong một kênh màu hồng (ròng-giảm) mô tả một nhịp bật sớm bên trong một cửa sổ có độ dốc đi xuống lớn hơn.
  • Dùng các dấu X như dấu hiệu "động lượng của chính đường xu hướng vừa đảo chiều", không phải tín hiệu vào lệnh — chúng nổ ra một lần mỗi khúc quanh 3 nến trong giá trị của chính đường, chỉ chốt ở nến đã đóng nên không repaint ở nến đang chạy (dù bản thân đường và kênh vẫn dịch chuyển trong nến — xem ghi chú kỹ thuật).
  • Dùng đường biên ngoài + dải màu hẹp của nó như một cực biến động, không phải "mép của một kênh giao dịch". Vì chỉ một viền mỏng được tô, mốc tham chiếu hữu ích là chính đường biên (và chữ UP/DN của nhãn), không phải một vùng đầy để mua hoặc bán từ đó.
  • Giữ "Lookback Period" và "Channel Length" bằng nhau trừ khi bạn cố tình muốn đường trông bị kéo giãn hoặc nén lại. Phép tính hồi quy luôn chạy trên số nến của "Lookback Period", nhưng đường được vẽ trải trên số nến của "Channel Length" trên chart — nếu hai cái khác nhau, độ dốc nhìn thấy của đường sẽ không khớp với độ dốc hồi quy thật đã tính (xem ghi chú kỹ thuật).
  • Đọc giá trị "Slope" trong bảng như một tốc độ tăng trưởng %/nến xấp xỉ — đó là độ dốc hồi quy log nhân 100, không phải con số giá/nến.
  • Thận trọng khi tắt "Mid Line" — xem ghi chú kỹ thuật về một lỗi runtime có thể xảy ra; hãy tự kiểm tra trên chart của bạn trước khi dựa vào cài đặt này.

1.4 Cách hoạt động của chỉ báo

Đầu vào & vai trò

  • length ("Lookback Period", số nguyên, mặc định 100): số nến (hôm nay cộng 99 nến trước) mà đường hồi quy log được khớp toán học trên đó, đồng thời là cửa sổ dùng cho bề rộng kênh theo độ lệch chuẩn. Trước/sau: 50 → đường phản ứng theo một đoạn giá ngắn hơn, gần đây hơn; 200 → một đường khớp dài hơn, chậm hơn.
  • channel_width ("Channel Width", số thập phân, mặc định 1.5, step 0.1): mép trong (vô hình) của kênh nằm cách đường trung tâm bao nhiêu độ lệch chuẩn của giá đóng cửa thô. Mép ngoài hiện-được-tô-màu luôn nằm xa hơn mép này thêm 0.3 (cố định trong code, xem bên dưới). Ví dụ: ở 1.5, mép trong ở 1.5σ, mép ngoài ở 1.8σ; ở 2.5, mép trong 2.5σ, mép ngoài 2.8σ — kênh rộng hơn trên dữ liệu biến động mạnh hơn.
  • channel_len ("Channel Length", số nguyên, mặc định 100): số nến lùi về trên chart mà đầu trái của đường hồi quy và kênh được vẽ. Đây là một input riêng với "Lookback Period" — chúng chung mặc định (100) nhưng không liên kết với nhau. Xem ghi chú kỹ thuật về điều gì xảy ra nếu bạn đổi một cái mà không đổi cái kia.
  • mid_disp ("Mid Line", ô tick, mặc định bật, cùng hàng với "Fill Band"): hiện hoặc ẩn đường trung tâm nét đứt nối giá trị đã khớp ở mép trái và mép phải của đường hồi quy.
  • fill_band ("Fill Band", ô tick, mặc định bật, cùng hàng với "Mid Line"): dù tên gọi như vậy, nó không bật/tắt dải màu của kênh (dải đó luôn bật) — nó chỉ bật/tắt một vùng tô mỏng ngay dọc theo chính đường hồi quy, giữa đường đang chạy và giá trị của chính nó 3 nến trước.
  • col1 / col2 (hai ô màu, không có tên, cùng một hàng, mặc định xanh ngọc #21dfac và hồng #df216d): col1 dùng cho mọi cách đọc "tăng" (cả màu ngắn hạn của đường lẫn màu toàn cửa sổ của kênh), col2 cho mọi cách đọc "giảm". Chỉ đổi màu.

Hằng số cố định trong code (KHÔNG phải input)

  • Cửa sổ động lượng: cố định 3 nến. diff = end − end[3] dẫn dắt cả màu tô dải chuyển lẫn tín hiệu dấu X — không chỉnh được, và độc lập với "Lookback Period"/"Channel Length".
  • Độ lệch của mép ngoài: cố định +0.3 độ lệch chuẩn ngoài "Channel Width" — đây là thứ khiến đường biên hiện/được tô nằm xa hơn mép trong vô hình.
  • Khoảng dải chuyển màu: màu tô (độ đậm xanh ngọc/hồng dọc theo đường chính) được chia tỉ lệ theo nhịp 3 nến thấp nhất và cao nhất của 200 nến gần nhất — một cửa sổ 200 nến cố định, tách biệt với cả hai input chính.
  • Màu chữ của nhãn: luôn là xanh navy đậm (#070f23), bất kể theme của chart; nền của nhãn theo col1/col2.
  • Kích thước bảng: cấp phát 10 cột × 10 hàng, chỉ 3 ô của cột 0 thực sự được dùng.
  • Chỉ báo không khai báo giới hạn số plot/line/box/table riêng — nó dùng mặc định của TradingView.

Các khối logic chính

⏱️ Flow 0 — Thứ tự làm việc ở mỗi cây nến

  • ① khớp đường hồi quy log trên length nến gần nhất → ② đổi giá trị đã khớp ở hôm nay và ở mép xa trở lại thành giá thật (end, start) → ③ đo nhịp 3 nến của chính đường và độ biến động của giá → ④ quyết định hai cách đọc tăng/giảm riêng biệt và màu của chúng → ⑤ vẽ đường trung tâm, các đường biên kênh và dải tô → ⑥ vẽ tín hiệu dấu X → ⑦ cập nhật bảng thông tin.

📐 Flow 1 — Khớp đường hồi quy log

  • Với mỗi nến trong length nến gần nhất, script lấy log(close[i]) và ghép với một số vị trí per = i + 1 — nên per = 1 là hôm nay (giá đóng gần nhất) và per = length là nến cũ nhất trong cửa sổ. Cách đánh số này chạy ngược so với thứ tự lịch thông thường.
  • Một đường bình phương tối thiểu chuẩn sau đó được khớp qua các cặp (per, log-close) này — cùng công thức mà một hồi quy tuyến tính thông thường dùng, chỉ áp dụng cho logarit của giá thay vì chính giá. Việc này cho ra một slope và một giá trị tham chiếu mỗi nến.
  • Ví dụ cụ thể: nếu giá đã tăng trưởng với tốc độ phần trăm tương đối ổn định, đường log đã khớp gần như thẳng và slope là một giá trị log dương nhỏ (VD 0,0015, nghĩa là tăng trưởng trung bình khoảng +0,15% mỗi nến, kiểu lãi kép log).

📏 Flow 2 — Đổi phép khớp trở lại thành giá, và hai tín hiệu thô

  • end = exp(giá trị khớp tại per = 1) — giá trị trong không gian giá của đường hồi quy cho hôm nay, vẽ tại bar_index (mép phải).
  • start = exp(giá trị khớp tại per = length) — giá trị trong không gian giá của đường hồi quy tại nến cũ nhất thực sự nằm trong cửa sổ, vẽ tại bar_index[channel_len] (mép trái). Khi channel_len bằng length (mặc định chung, 100), điều này khớp chính xác với vị trí mà phép toán nói nó phải ở đó; nếu bạn đặt chúng khác nhau, đầu trái của đường vẽ không còn nằm đúng chỗ giá trị đã khớp thực sự được tính cho (xem ghi chú kỹ thuật).
  • diff = end − end[3]: giá trị "hôm nay" đã khớp của chính đường đã thay đổi bao nhiêu so với 3 nến trước. Ví dụ: end hiện tại 2.655,20, end[3] từng là 2.648,10 → diff = +7,10 (đường đã tăng trong 3 nến gần nhất).
  • deviation = stdev(close, length): độ lệch chuẩn của giá đóng cửa thô (không phải log giá) trong cùng cửa sổ length nến — đây là đơn vị đo bề rộng kênh.

🎨 Flow 3 — Hai cách đọc tăng/giảm độc lập

  • Cách đọc toàn cửa sổ — channel_col: end > start ? col1 : col2 — giá trị đã khớp hôm nay có cao hơn hay thấp hơn giá trị đã khớp ở mép trái xa của đường được vẽ? Điều này tô màu cho các đường biên kênh ngoài, dải tô của chúng, và nhãn "UP"/"DN", cộng với hàng "Log Regression Channel" trong bảng.
  • Cách đọc ngắn hạn — trend_col1 (trơn) và trend_col (dải chuyển): end > end[3] ? col1 : col2 — giá trị của chính đường đã tăng hay giảm trong 3 nến gần nhất? trend_col1 tô màu cho chính đường hồi quy và hàng "Logarithmic Regression" trong bảng; trend_col (một dải chuyển giữa na và col1/col2, chia theo vị trí của diff trong khoảng 200 nến của chính nó) tô màu cho vùng tô mỏng dọc theo đường ("Fill Band").
  • Hai cách đọc này có thể không khớp nhau. Một đường vừa quay đầu tăng trong 3 nến gần nhất (đường chính màu xanh ngọc) vẫn có thể nằm trong một kênh mà hướng tổng thể từ trái sang phải vẫn còn ròng-giảm (biên ngoài màu hồng) — và ngược lại.

📦 Flow 4 — Vẽ đường trung tâm, kênh, và những gì thực sự được tô màu

  • Năm đối tượng vẽ (base, up1, up, lw, lw1) và một nhãn được tạo một lần rồi định vị lại ở mọi nến sau đó — mẫu "tạo một lần, cập nhật sau" chuẩn.
  • base (đường trung tâm nét đứt, nếu mid_disp bật): từ (bar_index[channel_len], start) tới (bar_index, end), màu theo màu chữ mặc định của chart.
  • up1 / lw1 (các đường biên ngoài dày, hiển thị): lệch ±deviation × (channel_width + 0.3) so với đường trung tâm, tô màu bởi channel_col.
  • up / lw (mép trong mỏng): lệch ±deviation × channel_width, luôn vô hình (color = na sau nến đầu tiên) — chúng chỉ tồn tại để neo vùng tô.
  • linefill giữa up/up1 và giữa lw/lw1, trong suốt 70%, màu channel_col — việc này chỉ tô dải hẹp 0,3 độ lệch chuẩn giữa mép trong và mép ngoài. Khoảng không gian giữa đường trung tâm và mức channel_width hoàn toàn không được tô — không có vùng tô nào phủ "toàn bộ kênh".
  • Nhãn "UP"/"DN" nằm ở đầu trái của đường biên dưới, chữ #070f23 (xanh navy đậm cố định) trên nền channel_col, với phía neo đảo chiều tuỳ theo end < start để chữ không đè lên đường.

❌ Flow 5 — Tín hiệu dấu X

  • up_sig = crossover(diff, 0) and barstate.isconfirmed: nhịp 3 nến của chính đường, vốn đang âm, chuyển sang dương — và nến đã đóng hoàn toàn. dn_sig là hình đối xứng (crossunder).
  • Các dấu được vẽ tại giá end hiện tại, màu chữ trung tính của chart (không phải xanh ngọc/hồng).
  • Nhờ điều kiện barstate.isconfirmed, các dấu cụ thể này không repaint ở nến đang hình thành — chúng chỉ xuất hiện khi một nến đã xong. Tuy nhiên, vị trí của đường hồi quy và kênh vẫn dịch chuyển ở mọi lần giá nhảy của nến đang chạy, vì chúng được tính lại từ close sống (chưa đóng).

🗂️ Flow 6 — Bảng thông tin (trên-phải, chỉ ở nến cuối)

  • Hàng 0 — "Slope": slope × 100, màu chữ mặc định của chart. Một tốc độ tăng trưởng log xấp xỉ %/nến.
  • Hàng 1 — "Log Regression Channel: UP/DN": từ cách đọc toàn cửa sổ (end > start), chữ tô màu channel_col.
  • Hàng 2 — "Logarithmic Regression: UP/DN": từ cách đọc ngắn hạn (end > end[3]), chữ tô bằng màu dải chuyển (trend_col), nên sắc độ chính xác của nó có thể thay đổi theo độ mạnh của nhịp gần đây, không phải một màu xanh ngọc/hồng phẳng.

Đầu ra & vai trò trong sử dụng

  • Đường hồi quy: một ước lượng xu hướng tăng trưởng log trên cửa sổ đã chọn.
  • Biên kênh + nhãn: một vỏ bọc biến động và một cách đọc hướng toàn cửa sổ nhanh.
  • Dấu X: các khúc quanh động lượng trong giá trị của chính đường, chỉ xác nhận ở nến đã đóng.
  • Bảng: một bản tóm tắt gọn tốc độ tăng trưởng và cả hai cách đọc hướng, xem một lần là thấy.
💡 Ghi chú kỹ thuật quan trọng:
  • Tắt "Mid Line" nhiều khả năng làm hỏng script. Code chỉ tạo đối tượng đường base khi mid_disp đúng; nếu nó sai ngay ở nến đầu tiên, script rơi vào một nhánh gọi các hàm định vị trên một đối tượng đường vẫn còn chưa xác định (na), điều mà Pine thường báo lỗi runtime. Hãy tự kiểm tra cài đặt này trên chart của bạn trước khi dựa vào nó; nếu chỉ báo ngừng vẽ, gần như chắc chắn đây là lý do.
  • "Channel Length" và "Lookback Period" là hai input độc lập tình cờ chung một mặc định. Phép toán hồi quy luôn chạy trên số nến của Lookback Period; đường luôn được vẽ trải trên số nến của Channel Length trên chart. Nếu hai cái khác nhau, độ dốc nhìn thấy của đường vẽ không còn khớp với độ dốc đã khớp thật — VD Channel Length nhỏ hơn Lookback Period sẽ khiến đường trông dốc hơn trên chart so với thực tế hồi quy, còn lớn hơn sẽ khiến nó trông thoải hơn.
  • Vùng tô màu của kênh là một viền mỏng, không phải một dải đầy. Chỉ dải 0,3 độ lệch chuẩn ở sát mép ngoài cùng được tô màu; vùng giữa đường trung tâm và biên Channel Width để trống/không tô. "Fill Band" không đổi điều này — nó chỉ điều khiển một vùng tô mỏng, riêng biệt, dọc theo chính đường chính.
  • per = i + 1 chạy ngược theo thời gian (hôm nay = 1, cũ nhất trong cửa sổ = length), đó là lý do end (giá trị đã khớp của hôm nay) đến từ per = 1 và start (giá trị đã khớp cũ nhất của cửa sổ) đến từ per = length — ngược với những gì tên biến có thể gợi ý nếu đọc theo kiểu "đầu thời gian, cuối thời gian".
  • Bề rộng kênh được đo bằng độ lệch chuẩn của giá thô, không phải của log giá, dù bản thân đường trung tâm là một phép khớp trong không gian log — một lựa chọn thiết kế pha trộn hai miền (domain) đáng để ý, đặc biệt trên các sản phẩm mà giá đã tăng theo bội số lớn trong cửa sổ nhìn lại (độ biến động giá thô sẽ tỉ lệ theo mức giá, không theo tốc độ tăng trưởng log).
  • Đường và kênh không bị đóng băng trong nến. Cả hai đều dùng close sống, còn đang hình thành, của nến hiện tại, nên vị trí của chúng có thể dịch chuyển theo từng lần giá nhảy cho tới khi nến đóng — chỉ có tín hiệu dấu X là được chủ động giữ lại cho tới khi barstate.isconfirmed.
  • Không có alert, và một bảng 10×10 chỉ dùng 3 ô. Cả hai đều không ảnh hưởng hành vi, chỉ đáng biết nếu mở rộng script.
Zoom/Pan Layered Image
Background Overlay
− +

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