Tạo alert gửi webhook là thao tác bạn phải làm nhiều lần trong suốt quá trình vận hành bot: tạo alert cho cặp mới, nhân bản alert cho khung thời gian khác, sửa lại nội dung khi đổi logic. Vì vậy hiểu rõ từng ô trong hộp thoại alert sẽ tiết kiệm cho bạn rất nhiều thời gian gỡ lỗi về sau.
Tóm tắt quy trình trong sáu bước
Nếu bạn chỉ cần biết làm gì, đây là toàn bộ quy trình ở dạng ngắn gọn:
- Mở chart của cặp hoặc mã bạn muốn theo dõi, chọn đúng khung thời gian sẽ dùng cho tín hiệu.
- Bấm chuột phải lên chart và chọn Add alert, hoặc bấm biểu tượng đồng hồ báo thức trên thanh công cụ.
- Ở ô Condition, chọn nguồn điều kiện: chỉ báo có sẵn, đường vẽ tay, hoặc chỉ báo Pine Script.
- Ở ô Options, chọn thời điểm kiểm tra. Với bot đặt lệnh thật, chọn Once Per Bar Close.
- Tích vào ô Webhook URL, dán địa chỉ HTTPS của server bạn vào, rồi chuyển sang ô Message để soạn nội dung.
- Bấm Create. Sau đó kiểm tra log phía server để xác nhận tin nhắn đã tới.
Sáu bước này chỉ mất vài phút. Phần khó không nằm ở thao tác mà nằm ở việc chọn đúng tham số, nên các mục sau sẽ đi vào từng ô một.
Điều kiện tiên quyết trước khi bắt đầu
Trước khi làm theo hướng dẫn, hãy chắc chắn bạn đã có ba thứ.
Thứ nhất là tài khoản TradingView có gói trả phí, vì webhook là tính năng chỉ mở cho gói trả phí. Gói miễn phí vẫn tạo được alert nhưng ô Webhook URL sẽ không xuất hiện hoặc không cho nhập.
Thứ hai là một endpoint HTTPS. Địa chỉ phải có chứng chỉ hợp lệ và phải trả lời được bằng một phản hồi thành công. Nếu bạn dùng dịch vụ trung gian, họ đã lo phần này. Nếu bạn tự dựng server, hãy nhớ rằng địa chỉ IP kèm cổng thường không có HTTPS hợp lệ.
Thứ ba là cách kiểm chứng. Bạn cần nhìn thấy nội dung tin nhắn gửi đi, chứ không chỉ tin rằng nó đã gửi. Hãy dùng một dịch vụ nhận webhook tạm thời hoặc log của chính server bạn. Bước này nghe có vẻ nhỏ nhưng là bước giúp bạn tiết kiệm hàng giờ đồng hồ.
Alert trong TradingView hoạt động theo cơ chế nào
Một alert gồm hai phần độc lập: điều kiện để kiểm tra và cách xử lý khi điều kiện thoả. Rất nhiều người mới gộp hai phần này làm một và vì thế chọn sai chế độ kiểm tra.
Điều kiện có thể là một biểu thức trên chỉ báo, ví dụ đường trung bình nhanh cắt lên đường trung bình chậm, hoặc chỉ số RSI vượt ngưỡng, hoặc giá vượt một mức cụ thể. Cách xử lý có thể là hiện thông báo trong ứng dụng, gửi email, phát âm thanh, hoặc gửi webhook. Webhook không khác gì các kênh khác ở phần điều kiện, nó chỉ khác ở phần gửi đi.
Điểm cần nắm là TradingView đánh giá điều kiện trên dữ liệu chart hiện tại, kể cả dữ liệu của nến đang chạy. Điều này giải thích vì sao cùng một điều kiện có thể bắn nhiều lần nếu bạn để chế độ kiểm tra liên tục: trong một nến, giá có thể vượt ngưỡng rồi quay lại nhiều lần. Chỉ khi chọn kiểm tra lúc nến đóng thì điều kiện mới mang tính chốt.
Chọn loại điều kiện: chỉ báo có sẵn, vẽ tay hay Pine Script
Có ba nguồn điều kiện, và mỗi nguồn phù hợp với một mục đích khác nhau.
Chỉ báo có sẵn trong thư viện TradingView là lựa chọn nhanh nhất. Bạn thêm chỉ báo lên chart, rồi ở ô Condition chọn tên chỉ báo và điều kiện như crossing up, crossing down, greater than, less than. Cách này phù hợp với các chỉ báo phổ biến như đường trung bình, RSI, MACD, Bollinger Bands. Ưu điểm là không cần viết code, nhược điểm là điều kiện bị giới hạn ở những gì chỉ báo cung cấp.
Đường vẽ tay là cách nhanh để bắt phá vỡ hỗ trợ hoặc kháng cự. Bạn vẽ một đường ngang tại mức giá quan trọng, rồi đặt điều kiện crossing đường đó. Ưu điểm là trực quan và rất hiệu quả cho các mức giá do bạn tự xác định. Nhược điểm là mỗi mức giá phải vẽ và tạo alert riêng, và đường vẽ không tự cập nhật theo thời gian.
Pine Script là lựa chọn mạnh nhất và cũng là lựa chọn phổ biến nhất khi làm bot. Bạn có thể viết chỉ báo của riêng mình, hoặc dùng các chỉ báo cộng đồng, rồi tạo alert từ chúng. Điểm cần chú ý là chỉ báo Pine Script muốn gửi được nội dung tuỳ biến cho webhook thì phải dùng đúng cách để truyền thông tin ra alert. Nội dung này sẽ được nói kỹ ở bài về mẫu JSON cho Pine Script alert.
Một lưu ý thực tế: nếu bạn dùng chiến lược viết bằng Pine Script và muốn bot giao dịch đúng theo chiến lược đó, hãy ưu tiên tạo alert từ chiến lược thay vì từ chỉ báo, vì khi đó TradingView cung cấp thêm các placeholder về hướng lệnh, khối lượng và giá, giúp bot ít phải suy đoán.
Mở hộp thoại Create Alert: từng trường một
Hộp thoại alert có khá nhiều trường, và mỗi trường đều có khả năng làm bot của bạn chạy sai nếu điền ẩu.
Trường Condition là nơi chọn nguồn điều kiện. Nếu bạn đã thêm chỉ báo lên chart, nó sẽ xuất hiện trong danh sách này. Cần kiểm tra rằng bạn chọn đúng chỉ báo, đúng tham số, vì trên chart có thể có nhiều chỉ báo cùng loại với tham số khác nhau.
Trường Symbol cho biết alert thuộc cặp giao dịch nào. Nếu bạn tạo alert từ chart BTCUSDT, symbol sẽ là BTCUSDT. Đây là chỗ hay xảy ra lỗi khi bạn nhân bản alert từ chart này sang chart khác mà quên kiểm tra lại.
Trường Interval cho biết khung thời gian. Rất nhiều bot chạy sai không phải vì code lỗi mà vì alert được tạo trên khung 5 phút trong khi chiến lược được thiết kế trên khung 1 giờ.
Trường Options là nơi chọn thời điểm kiểm tra, sẽ nói kỹ ở mục sau. Đây là trường quan trọng nhất với bot.
Trường Expiration cho phép đặt thời hạn cho alert, hoặc yêu cầu alert không hết hạn. Nếu gói của bạn cho phép alert không hết hạn, hãy dùng nó cho bot, vì alert hết hạn là nguyên nhân âm thầm phổ biến nhất khiến bot ngừng nhận tín hiệu.
Trường Alert Name không ảnh hưởng tới bot nhưng ảnh hưởng lớn tới bạn. Hãy đặt theo quy ước, ví dụ mã cặp, khung thời gian, tên chiến lược và phiên bản. Khi bạn có ba mươi alert, quy ước tên là thứ duy nhất giúp bạn biết cái nào thuộc chiến lược nào.
Trường Message chứa nội dung gửi đi. Với webhook, đây chính là payload mà server bạn sẽ đọc, nên cần được soạn cẩn thận và đúng định dạng.
Cấu hình thời điểm kiểm tra: chọn sao cho đúng
Ô Options có bốn chế độ thường gặp, và mỗi chế độ phù hợp với một mục đích khác nhau.
Once Only nghĩa là alert bắn đúng một lần rồi tự tắt. Cách này phù hợp với cảnh báo vẽ tay theo mức giá, hoặc khi bạn chỉ cần biết một lần là giá đã tới vùng quan tâm.
Once Per Bar nghĩa là trong một nến, alert chỉ bắn tối đa một lần, nhưng ngay khi điều kiện thoả trong nến đang chạy thì bắn luôn. Ưu điểm là sớm, nhược điểm là chưa chốt, vì giá có thể quay lại và điều kiện không còn đúng khi nến đóng.
Once Per Bar Close nghĩa là đợi nến đóng rồi mới kiểm tra và bắn. Đây là lựa chọn nên dùng cho bot đặt lệnh thật, vì tín hiệu ổn định và không bị bắn rồi rút lại. Đánh đổi là bạn chậm hơn so với kiểm tra trong nến, nhưng với phần lớn chiến lược thì sự chậm này không đáng kể so với việc giảm tín hiệu nhiễu.
Once Per Minute là chế độ kiểm tra theo phút, hữu ích trong một số trường hợp đặc biệt như tín hiệu dựa trên dữ liệu ngoài hoặc cảnh báo không gắn với nến. Với bot giao dịch theo nến, chế độ này thường không cần thiết.
Bảng chọn nhanh theo mục đích:
| Mục đích | Chế độ nên dùng | Lý do |
|---|---|---|
| Bot đặt lệnh theo nến đóng | Once Per Bar Close | tín hiệu chốt, ít trùng |
| Cảnh báo bạn đọc bằng mắt | Once Per Bar | thấy sớm để chuẩn bị |
| Cảnh báo một mức giá duy nhất | Once Only | bắn một lần là đủ |
| Tín hiệu không theo khung nến | Once Per Minute | kiểm tra đều đặn |
Bật Webhook URL và dán endpoint
Sau khi chọn xong điều kiện và chế độ kiểm tra, tích vào ô Webhook URL và dán địa chỉ của bạn vào.
Có ba điều cần kiểm tra ngay tại bước này. Một là địa chỉ phải bắt đầu bằng HTTPS. Hai là không có khoảng trắng ở đầu hoặc cuối vì thao tác dán thường mang theo khoảng trắng và bạn sẽ không nhìn thấy. Ba là đường dẫn phải chính xác tới từng ký tự, kể cả dấu gạch chéo ở cuối, vì nhiều framework xử lý route có hay không có dấu gạch chéo cuối là hai route khác nhau.
Nếu bạn dùng hạ tầng trung gian, hãy lấy địa chỉ từ tài liệu của họ và dán nguyên văn. Nếu bạn tự dựng, hãy kiểm tra endpoint bằng một lệnh gọi thử từ máy bạn trước khi tạo alert, để loại trừ khả năng lỗi nằm ở phía server.
Soạn nội dung message: bắt đầu bằng JSON đơn giản
Nội dung message là phần duy nhất trong cả quá trình mà bot của bạn thực sự đọc. Vì vậy hãy bắt đầu từ một JSON tối giản rồi mở rộng dần, thay vì viết ngay một payload phức tạp.
Bản tối giản thường gồm mã cặp, hành động và giá:
{"symbol":"{{ticker}}","action":"buy","price":{{close}},"time":"{{time}}"}
Sau khi chạy thử thành công, bạn mở rộng dần bằng cách thêm khối lượng, khung thời gian, tên chiến lược và khoá bí mật để xác thực:
{"secret":"KHOA_BI_MAT","symbol":"{{ticker}}","interval":"{{interval}}","action":"buy","price":{{close}},"qty":0.01,"strategy":"ema-cross-v3","time":"{{time}}"}
Ba lưu ý kỹ thuật rất quan trọng khi soạn JSON trong ô này.
Thứ nhất, JSON phải hợp lệ. Dấu nháy kép quanh tên trường và quanh giá trị dạng chuỗi là bắt buộc. Số thì không cần nháy kép. Thiếu một dấu phẩy hoặc thừa một dấu phẩy ở cuối là payload sai và server sẽ từ chối.
Thứ hai, placeholder số phải không có nháy kép. Nếu bạn viết giá trị giá trong nháy kép, server sẽ nhận chuỗi thay vì số và các phép tính khối lượng của bạn có thể sai.
Thứ ba, hạn chế xuống dòng trong JSON. Nhiều server phân tích cú pháp chấp nhận, nhưng một số môi trường hoặc proxy có thể thay đổi hoặc cắt nội dung. Viết trên một dòng là cách an toàn nhất.
Dùng placeholder động: các biến TradingView hỗ trợ
Placeholder là các biến được TradingView thay bằng giá trị thật tại thời điểm gửi. Dùng chúng giúp bạn tránh phải tạo nhiều alert giống nhau cho nhiều cặp.
Nhóm placeholder thông dụng nhất gồm mã cặp, sàn, khung thời gian, giá mở cửa, giá cao nhất, giá thấp nhất, giá đóng cửa, khối lượng và thời gian. Nhóm này dùng được cho mọi loại alert.
Nhóm placeholder riêng cho chiến lược chỉ có khi bạn tạo alert từ một chiến lược Pine Script, gồm hành động của lệnh, khối lượng và giá của lệnh. Nhóm này rất giá trị khi bạn muốn bot khớp đúng theo những gì chiến lược đã backtest.
Bảng dùng nhanh:
| Placeholder | Ý nghĩa | Có ở mọi alert? |
|---|---|---|
| Mã cặp giao dịch | ticker | Có |
| Sàn | exchange | Có |
| Khung thời gian | interval | Có |
| Giá đóng cửa nến | close | Có |
| Thời gian nến | time | Có |
| Hành động của lệnh | strategy.order.action | Chỉ alert từ chiến lược |
| Khối lượng lệnh | strategy.order.contracts | Chỉ alert từ chiến lược |
| Giá của lệnh | strategy.order.price | Chỉ alert từ chiến lược |
Một kinh nghiệm thực tế: đừng dùng quá nhiều placeholder ngay từ đầu. Mỗi placeholder thêm vào là một biến bạn phải kiểm tra ở phía server. Hãy dùng đủ để bot ra quyết định, và để server tự suy ra những thứ có thể suy ra được như giá thị trường hay số dư.
Test trước khi bật: dùng dịch vụ nhận tạm thời
Bước kiểm thử tưởng như tuỳ chọn nhưng thực chất là bước bắt buộc. Có hai cách kiểm thử, và nên dùng cả hai.
Cách thứ nhất là dùng một dịch vụ nhận webhook tạm thời. Bạn lấy địa chỉ của họ, dán vào ô Webhook URL, rồi chờ alert bắn. Khi tin nhắn tới, bạn nhìn thấy toàn bộ request: đường dẫn, header, nội dung. Đây là cách nhanh nhất để trả lời câu hỏi "nội dung tôi soạn có đúng như tôi nghĩ không".
Cách thứ hai là tự gọi endpoint của bạn bằng một lệnh thử với nội dung giống hệt. Cách này kiểm tra được phía server kể cả khi alert chưa bắn, và cho phép bạn thử những trường hợp xấu như khoá bí mật sai, JSON hỏng, hoặc trường bị thiếu.
Điểm cần lưu ý là TradingView không cho bạn xem lịch sử các lần gửi webhook ở mức chi tiết như bạn mong. Nên nguồn sự thật luôn là log phía server. Hãy làm quen với việc đọc log ngay từ ngày đầu, vì khi bot chạy tiền thật, log là thứ duy nhất giúp bạn trả lời câu hỏi vì sao có lệnh đó.
Quản lý nhiều alert cho nhiều cặp
Khi bot đã chạy tốt trên một cặp, nhu cầu tự nhiên là mở rộng sang nhiều cặp hoặc nhiều khung thời gian. Lúc đó cách tổ chức alert quyết định việc bạn có kiểm soát được hệ thống hay không.
Nguyên tắc thứ nhất là dùng placeholder cho mã cặp thay vì gõ cứng. Nhờ vậy cùng một mẫu nội dung dùng được cho mọi cặp, và bạn không phải sửa nhiều chỗ khi cần thay đổi cấu trúc payload.
Nguyên tắc thứ hai là đặt tên alert theo quy ước có thể sắp xếp. Ví dụ, bắt đầu bằng tên chiến lược, sau đó là khung thời gian, sau đó là mã cặp. Khi bạn sắp xếp theo tên, các alert của cùng một chiến lược sẽ nằm cạnh nhau.
Nguyên tắc thứ ba là ghi lại danh sách alert ra ngoài TradingView, ví dụ một bảng tính. Bảng này gồm tên alert, cặp, khung, chiến lược, ngày tạo, ngày cần kiểm tra lại. Không có bảng này, bạn sẽ không biết mình đang có bao nhiêu alert và cái nào sắp hết hạn.
Nguyên tắc thứ tư là dùng cùng một endpoint cho tất cả alert, và để phần phân biệt nằm trong trường chiến lược của payload. Cách này giúp server chỉ phải mở một đường vào, dễ giám sát và dễ bảo mật hơn nhiều so với việc mỗi chiến lược có một đường dẫn riêng.
Vòng đời của alert và cách không bị mất tín hiệu
Alert có vòng đời, và đây là điểm khiến nhiều bot ngừng hoạt động âm thầm.
Alert có thể hết hạn theo cấu hình. Khi hết hạn, nó dừng và không gửi gì nữa, không có thông báo gửi tới server của bạn. Từ góc nhìn của bot, mọi thứ vẫn bình thường, chỉ là không có tín hiệu nào tới. Nếu chiến lược của bạn chỉ giao dịch vài lần một tuần, bạn có thể mất vài ngày mới nhận ra.
Alert cũng có thể bị vô hiệu do thay đổi điều kiện. Nếu chỉ báo nguồn bị xoá khỏi chart, hoặc script Pine Script được cập nhật phiên bản mới, alert cũ có thể không còn hiệu lực.
Cách phòng ngừa gồm ba việc đơn giản. Một là bật cấu hình không hết hạn nếu gói của bạn cho phép. Hai là có một cơ chế nhắc nhở định kỳ để bạn mở danh sách alert và kiểm tra. Ba là có một tín hiệu nhịp tim: một alert riêng chỉ báo rằng hệ thống vẫn sống, ví dụ alert bắn một lần mỗi ngày, để nếu server không nhận được nó trong hơn hai ngày thì bạn biết có gì đó đã đứt.
Mười lỗi hay gặp khi tạo alert webhook
Danh sách này tổng hợp những lỗi lặp lại nhiều nhất trong thực tế dựng bot, kèm dấu hiệu nhận biết.
Lỗi thứ nhất: dùng địa chỉ HTTP thay vì HTTPS. Dấu hiệu là alert tạo được nhưng server không nhận gì.
Lỗi thứ hai: chọn Once Per Bar cho bot đặt lệnh. Dấu hiệu là bot mở nhiều lệnh cho cùng một tín hiệu trong thị trường đi ngang.
Lỗi thứ ba: để khung thời gian của alert khác khung thời gian mà chiến lược được viết. Dấu hiệu là số lệnh nhiều gấp mấy lần dự kiến trong backtest.
Lỗi thứ tư: JSON sai cú pháp. Dấu hiệu là server trả về lỗi phân tích cú pháp, và log phía server cho thấy nội dung bị cắt.
Lỗi thứ năm: quên khoá bí mật hoặc dùng một khoá quá dễ đoán. Dấu hiệu chỉ thấy khi có người gửi lệnh giả, tức là quá muộn.
Lỗi thứ sáu: gõ cứng mã cặp trong nội dung rồi nhân bản alert sang cặp khác mà không sửa. Dấu hiệu là bot đặt lệnh sai mã.
Lỗi thứ bảy: đặt số trong nháy kép. Dấu hiệu là khối lượng tính toán sai hoặc về bằng không.
Lỗi thứ tám: không kiểm thử trước khi bật. Dấu hiệu là bạn chỉ phát hiện lỗi khi bot đã chạy tiền thật.
Lỗi thứ chín: đặt tên alert qua loa. Dấu hiệu là bạn không dám sửa vì không biết alert nào thuộc chiến lược nào.
Lỗi thứ mười: không có nhịp tim và không kiểm tra hạn alert. Dấu hiệu là bot ngừng nhận tín hiệu nhiều ngày mà bạn không biết.
Checklist trước khi bật alert thật
Đọc lại danh sách này mỗi khi tạo alert mới cho bot đang chạy tiền thật.
- Endpoint HTTPS đã được gọi thử thành công từ bên ngoài.
- Điều kiện alert đã được xác nhận là bắn đúng thời điểm mong muốn, không bắn sớm.
- Chế độ kiểm tra là Once Per Bar Close, trừ khi có lý do cụ thể để dùng chế độ khác.
- Symbol và khung thời gian đúng với thiết kế chiến lược.
- Nội dung message là JSON hợp lệ, đã được kiểm tra bằng một dịch vụ nhận tạm thời.
- Có khoá bí mật và server từ chối tin nhắn sai khoá.
- Mọi trường số không nằm trong nháy kép.
- Tên alert theo quy ước và đã ghi vào bảng theo dõi bên ngoài.
- Đã bật tuỳ chọn không hết hạn nếu gói cho phép, hoặc đã ghi ngày cần gia hạn.
- Đã có nhịp tim để phát hiện hệ thống đứt.
Kết luận
Tạo alert gửi webhook không khó, nhưng để tạo đúng thì cần hiểu bốn thứ: điều kiện, chế độ kiểm tra, endpoint, và định dạng nội dung. Trong bốn thứ đó, chế độ kiểm tra là thứ gây lỗi nhiều nhất và cũng dễ sửa nhất. Chọn Once Per Bar Close cho bot đặt lệnh thật là quyết định đúng trong đa số trường hợp.
Khi đã tạo được alert chạy tới server, bạn đã đi qua nửa đầu của một TradingView Webhook Bot. Nửa còn lại là phần nhận và đặt lệnh, và phần này sẽ được nói ở các bài tiếp theo.
Nếu bạn muốn đi trọn lộ trình từ tạo alert tới bot đặt lệnh thật trên MT5, Binance và chứng khoán Việt Nam trong sáu buổi có hướng dẫn trực tiếp, hãy xem Bootcamp TradingView Webhook Bot của Hướng Nghiệp AI. Lớp có bản ghi để xem lại và tặng kèm một buổi 1-1 để rà lại hệ thống của riêng bạn.
Các bài liên quan trong chuỗi: TradingView Webhook Bot là gì, mẫu JSON cho Pine Script alert, nhận webhook TradingView bằng Python và 10 lỗi thường gặp khi dựng webhook TradingView.
Câu hỏi thường gặp
TradingView có gửi webhook tới địa chỉ HTTP không?
Không. Webhook URL phải là HTTPS có chứng chỉ hợp lệ. Nếu bạn dán địa chỉ HTTP, ô nhập sẽ báo lỗi hoặc alert tạo được nhưng không gửi. Với server tự dựng, bạn cần gắn tên miền và chứng chỉ, hoặc dùng một lớp trung gian đã có sẵn HTTPS.
Nên chọn Once Per Bar hay Once Per Bar Close?
Với bot đặt lệnh thật, Once Per Bar Close là lựa chọn mặc định nên dùng. Chế độ này chỉ kiểm tra khi nến đã đóng, nên tín hiệu ổn định và không bị bắn rồi rút lại. Once Per Bar kiểm tra liên tục trong nến và có thể kích hoạt nhiều lần, phù hợp cho cảnh báo bạn đọc bằng mắt hơn là cho bot.
Một alert webhook gửi được bao nhiêu lần?
Tuỳ vào chế độ bạn chọn và tuỳ gói tài khoản. Ở chế độ Once Only, alert bắn đúng một lần rồi dừng. Ở chế độ Once Per Bar hoặc Once Per Bar Close, alert bắn mỗi khi nến thoả điều kiện. Nếu bot của bạn dựa trên tín hiệu lặp lại, hãy chọn chế độ lặp và tự chống trùng ở phía server.
Làm sao biết webhook đã gửi tới server hay chưa?
Cách nhanh nhất là dùng một dịch vụ nhận webhook tạm thời để xem request thô, rồi sau đó thay bằng địa chỉ server thật. Khi đã chạy server, hãy ghi log mọi request đến kèm nội dung gốc. TradingView không hiển thị lịch sử gửi webhook chi tiết, nên log phía bạn là nguồn sự thật duy nhất.
Vì sao alert của tôi gửi sai cặp giao dịch?
Do alert được tạo sai symbol hoặc tín hiệu của bạn dùng symbol của chart nhưng bot lại đọc symbol từ nội dung tin nhắn. Cách chắc chắn là dùng placeholder động cho symbol thay vì gõ cứng, và kiểm tra lại khi tạo alert từ chart của symbol khác.
Alert có bị tắt sau một thời gian không?
Có. TradingView có cơ chế hết hạn alert và điều này phụ thuộc gói tài khoản. Với cảnh báo hết hạn, bot của bạn sẽ im lặng chứ không báo lỗi, nên bạn cần kiểm tra định kỳ danh sách alert đang hoạt động và gia hạn trước khi chúng hết hiệu lực.
