1. Mô tả Chiến Lược Trend Pulse
Chỉ báo xác định xu hướng bằng logic phá vỡ BẤT ĐỐI XỨNG: giảm khi giá phá xuống dưới đáy xoay chiều gần nhất, tăng khi giá phá lên trên 1 dải băng thích ứng tự nới rộng theo tuổi trend; tô màu nến theo hướng xu hướng và mức độ "già" của trend.
1.1 Concept của chỉ báo
Chỉ báo dùng 1 logic xác nhận trend cố tình bất đối xứng giữa 2 chiều: xác nhận giảm theo kiểu cấu trúc giá cổ điển — chỉ cần giá đóng cửa phá xuống dưới đáy xoay chiều (pivot low) gần nhất đã xác nhận là lập tức coi là đảo chiều giảm, phản ứng nhanh, nhạy. Ngược lại, xác nhận tăng đòi hỏi khắt khe hơn nhiều: giá phải phá lên trên 1 "dải băng thích ứng" (Adaptive Band) = trung bình động của đỉnh giá (SMA của High) cộng thêm 1 khoảng đệm theo biến động (ATR) — và dải băng này càng ngày càng NỚI RỘNG ra khi xu hướng giảm kéo dài càng lâu, khiến việc lật lên tăng ngày càng khó xảy ra theo thời gian.
Triết lý đằng sau: giảm giá thường xảy ra nhanh và dứt khoát (nên chỉ cần phá 1 mức cấu trúc đơn giản là đủ tín hiệu), còn hồi tăng trong 1 downtrend thường là hồi kỹ thuật giả nhiều hơn là đảo chiều thật — nên cần 1 ngưỡng xác nhận ngày càng chặt hơn theo tuổi trend để tránh bị "đánh lừa" bởi các nhịp hồi ngắn. Ngoài việc xác định chiều xu hướng, chỉ báo còn đo "tuổi" của xu hướng hiện tại (số nến kể từ lúc đảo chiều gần nhất) để tô màu nến chuyển dần từ trạng thái "tươi mới" sang "già/cạn lực" theo thời gian.
1.2 Chức năng của chỉ báo
- Tô màu nến theo trend: toàn bộ nến trên chart được tô lại màu (cả viền lẫn thân lẫn bóng nến) theo hướng xu hướng hiện tại — xanh ngọc (Bullish - vừa mới flip) chuyển dần sang xanh lá đậm (Bullish - đã lâu), hoặc đỏ (Bearish - vừa mới flip) chuyển dần sang cam (Bearish - đã lâu). Nến đang hình thành (chưa đóng cửa) không được tô màu.
- Dải băng thích ứng (Adaptive Band): 1 đường trung bình động dày, chỉ hiển thị trong pha GIẢM, nằm phía trên vùng đỉnh gần đây — đóng vai trò ngưỡng kháng cự động; kèm 1 vùng tô mờ giữa dải này và giá.
- Đường theo dõi pivot đang "sống": khi đang trong pha TĂNG, 1 đường ngang nét đứt màu mờ tự động nối từ đáy xoay chiều gần nhất và kéo dài liên tục sang phải theo từng nến mới — đây là mức hỗ trợ chỉ báo đang "canh giữ".
- 3 loại marker hình tròn nhỏ: đánh dấu (a) mọi đáy xoay chiều (pivot low) vừa được xác nhận, (b) đúng nến vừa xảy ra breakdown (phá xuống, chuyển sang giảm), (c) đúng nến vừa xảy ra breakup (phá lên, chuyển sang tăng).
- Alert: chỉ báo KHÔNG có tính năng cảnh báo (không dùng alertcondition() hay alert()) — thuần hiển thị trực quan trên chart, muốn tự động hoá phải tự thêm alert dựa theo các plotshape breakdown/breakup.
1.3 Cách dùng chỉ báo
- Nhìn màu nến để biết ngay đang ở pha tăng hay giảm mà không cần đọc thêm chỉ báo phụ; theo dõi độ "đậm/già" của màu để ước lượng trend đã kéo dài bao lâu — màu càng gần trạng thái Mature, càng nên thận trọng khi vào thêm lệnh thuận trend mới, hoặc cân nhắc chốt lời dần.
- Trong pha giảm: coi dải băng thích ứng (đường dày phía trên nến) là ngưỡng kháng cự sống — chỉ nên cân nhắc lệnh Long mới khi giá đóng cửa thật sự phá lên trên dải này (đúng lúc marker "Break Up" xuất hiện); dải càng rộng ra (trend giảm càng già) thì tín hiệu breakout càng cần dứt khoát hơn mới đáng tin.
- Trong pha tăng: coi đường ngang nét đứt nối pivot low gần nhất là mức hỗ trợ sống, có thể dùng làm tham chiếu đặt Stop Loss cho lệnh Long — nếu giá đóng cửa phá xuống dưới đường này (marker "Break Down" xuất hiện), xu hướng chính thức chuyển sang giảm.
- Marker hình tròn tại pivot low giúp xác nhận trực quan chỉ báo đang "theo dõi" đúng đáy nào, tránh phải tự dò lại bằng mắt.
- Tăng pivLen nếu muốn pivot đáng tin hơn (đỡ bị nhiễu bởi đáy giả) — đánh đổi bằng việc pivot được xác nhận trễ hơn; tăng smaMax/smaMult nếu muốn xu hướng giảm phải kéo dài/mạnh hơn nữa mới được coi là đảo chiều tăng (bớt bị hồi giả đánh lừa, nhưng cũng vào lệnh tăng trễ hơn khi đảo chiều thật xảy ra).
1.4 Cách hoạt động của chỉ báo
Đầu vào & vai trò
- pivLen (số nguyên, mặc định 5): số nến mỗi bên cần để xác nhận 1 đáy xoay chiều (pivot low) — mức giá này sau đó được dùng làm ngưỡng phá vỡ để chuyển sang xu hướng giảm. VD pivLen=5: đáy tại nến X chỉ được công nhận sau khi đã có đủ 5 nến kế tiếp mà không nến nào tạo đáy thấp hơn X — nghĩa là tín hiệu pivot luôn trễ đúng 5 nến so với thời điểm đáy thực sự hình thành. Tăng lên 10 → pivot đáng tin hơn (ít đáy giả) nhưng trễ hơn hẳn; giảm xuống 3 → phát hiện nhanh hơn nhưng dễ nhận nhầm đáy giả, khiến đường hỗ trợ nhảy loạn.
- smaMax (số nguyên, mặc định 50, tối thiểu 5): trần tối đa mà độ dài trung bình động (len) của dải băng thích ứng được phép nới tới trong khi xu hướng giảm đang tiếp diễn. VD ở nến thứ 45 kể từ lúc bắt đầu giảm, len đã tăng dần và chạm mốc 50 (nếu smaMax=50) thì dừng lại, không tăng thêm nữa dù trend giảm còn kéo dài bao lâu nữa.
- smaMult (số thập phân, mặc định 1.0, tối thiểu 0, bước 0.1): hệ số nhân với ATR(50) tạo khoảng đệm phía trên dải trung bình High. VD ATR(50)=15, smaMult=1 → dải băng = SMA(high, len) + 15 điểm; tăng lên 2 → dải băng = SMA(high,len) + 30 điểm, đẩy ngưỡng phá lên xa hơn, cần cú tăng mạnh hơn mới kích hoạt đảo chiều; hạ về 0 → dải băng chỉ còn đúng bằng SMA(high,len), không có đệm, dễ bị phá lên hơn hẳn.
- trendLen (số nguyên, mặc định 100): số nến để màu nến chuyển hoàn toàn từ trạng thái "Fresh" (vừa flip) sang "Mature" (già). VD tại nến thứ 5 sau flip, màu 100% Fresh; từ nến thứ 100 trở đi, màu 100% Mature; các nến ở giữa được nội suy dần theo tỷ lệ % số nến đã trôi so với trendLen. Tăng lên 200 → màu chuyển chậm hơn hẳn, trend phải rất dài mới bị coi là già; giảm xuống 30 → màu chuyển nhanh, chỉ cần khoảng 1 tháng dữ liệu H1 đã coi là trend mature.
- upColor / upColor1 (màu, mặc định ■ #18d0bd / ■ RGB(13,169,75)): màu nến & các marker khi xu hướng TĂNG, lần lượt ứng với trạng thái vừa flip (Fresh) và đã kéo dài (Mature).
- dnColor / dnColor1 (màu, mặc định ■ #cf1d3a / ■ cam): tương tự nhưng dùng cho xu hướng GIẢM.
Các khối logic chính
- Từ hiển thị nhìn ngược vào trong: toàn bộ những gì trader thấy — màu nến, dải băng, vùng tô mờ, đường theo dõi pivot, 3 loại marker — đều bắt nguồn từ ĐÚNG 1 biến duy nhất direction (true=tăng / false=giảm), chỉ được cập nhật bởi 2 sự kiện breakout: phá XUỐNG dưới pivot đang theo dõi, hoặc phá LÊN trên dải băng thích ứng.
- Tầng phát hiện pivot low: mỗi nến, chỉ báo dùng hàm pivot chuẩn của TradingView để kiểm tra nến lùi lại đúng pivLen cây có phải đáy thấp nhất trong cửa sổ pivLen nến mỗi bên hay không. Nếu đúng, giá + vị trí đáy đó được lưu làm "pivot đang theo dõi" — GHI ĐÈ lên pivot cũ (chỉ nhớ đúng 1 pivot gần nhất tại một thời điểm, không lưu lịch sử nhiều pivot).
- Tầng vẽ đường theo dõi pivot: nếu đang trong xu hướng tăng, mỗi khi có pivot mới được xác nhận, chỉ báo vẽ 1 đường ngang mờ bắt đầu từ đúng vị trí pivot; đường này được kéo dài liên tục sang phải theo từng nến mới, đóng vai trò "ngưỡng hỗ trợ đang sống".
- Tầng xác nhận breakdown (giảm): mỗi nến đã đóng, kiểm tra giá đóng cửa có vừa cắt XUỐNG dưới mức pivot đang theo dõi hay không. Nếu có: (a) nếu trước đó đang ở pha tăng, vẽ thêm 1 đường ngang đậm hơn đánh dấu chính xác mức hỗ trợ vừa bị phá (nối từ vị trí pivot tới nến hiện tại), (b) chuyển direction thành false (giảm) — kể cả ở lần đầu tiên khi chưa có xu hướng nào được xác định trước đó, sự kiện phá pivot đầu tiên này sẽ ấn định luôn trạng thái ban đầu là "giảm".
- Tầng nới rộng dải băng theo tuổi trend giảm: mỗi nến còn đang trong pha giảm, độ dài "len" dùng để tính trung bình động High tự động TĂNG THÊM 1 đơn vị mỗi nến, cho tới khi chạm trần smaMax thì dừng lại — nghĩa là dải băng ngày càng "mượt" và bám theo vùng đỉnh xa hơn (trung bình dài hơn phản ứng chậm hơn với biến động ngắn hạn), khiến việc phá lên ngày càng khó khi trend giảm càng kéo dài.
- Tầng tính dải băng thích ứng: mỗi nến, dải băng = trung bình động SMA(high, len) CỘNG thêm ATR(50)×smaMult — tạo ra 1 ngưỡng kháng cự nằm phía trên vùng đỉnh gần đây, cách 1 khoảng đệm theo đúng mức biến động hiện tại của thị trường.
- Tầng xác nhận breakup (tăng): mỗi nến đã đóng, kiểm tra giá đóng cửa có vừa cắt LÊN trên dải băng hay không. Nếu có: chuyển direction thành true (tăng), đồng thời XOÁ giá trị dải băng hiện tại (band chỉ có ý nghĩa hiển thị trong pha giảm nên ẩn đi khi đang tăng) và ĐẶT LẠI độ dài len về đúng 10 nến (một hằng số cố định, không phải quay lại giá trị khởi điểm ban đầu) để chuẩn bị sẵn sàng cho lần xu hướng giảm kế tiếp.
- Tầng đo tuổi trend + tô màu gradient: mỗi khi direction đổi khác so với nến ngay trước đó, chỉ báo ghi lại vị trí nến này làm mốc bắt đầu trend mới. Số nến trôi qua kể từ mốc này được dùng để nội suy màu sắc theo tỷ lệ: từ 5 nến đầu tiên (100% màu Fresh) tới đủ trendLen nến (100% màu Mature), theo đúng cặp màu tương ứng với hướng trend hiện tại.
- Tầng vẽ ra màn hình: màu tính được ở tầng trên dùng để tô toàn bộ nến (cả barcolor lẫn vẽ đè candlestick riêng theo màu này), vẽ dải băng thích ứng kèm vùng tô mờ (chỉ hiện khi đang giảm), và 3 loại marker chấm tròn nhỏ đặt tại: (1) mọi pivot low vừa được xác nhận, (2) đúng nến vừa flip xuống giảm, (3) đúng nến vừa flip lên tăng.
Đầu ra & vai trò trong sử dụng
- Màu nến (gradient theo tuổi trend): giúp trader nhận diện tức thì đang ở pha tăng hay giảm, và trend đó đã "già" tới mức nào chỉ bằng 1 cái nhìn, không cần tính toán hay đọc thêm chỉ báo phụ.
- Dải băng thích ứng + vùng tô mờ: ngưỡng kháng cự động trong pha giảm — điểm tham chiếu chờ breakout tăng, hoặc đặt Stop Loss cho lệnh Short.
- Đường theo dõi pivot đang sống: mức hỗ trợ động trong pha tăng — tham chiếu Stop Loss cho lệnh Long, đồng thời là cảnh báo sớm nguy cơ đảo chiều.
- 3 marker chấm tròn: đánh dấu chính xác thời điểm xác nhận đáy, thời điểm breakdown, thời điểm breakup — điểm neo trực quan để trader tự đối chiếu tín hiệu ngay trên chart mà không cần dò lại bằng tay.


