XAUXXNhật ký
← Quay lại nhật ký

EA vàng MT4 không có nhật ký vào cuối tuần, có phải bị treo không? Trước tiên hãy phân biệt báo giá và sự kiện định thời

OnTick phụ thuộc vào báo giá mới của mã trên biểu đồ, OnTimer cần chương trình đăng ký. Kiểm tra theo điểm vào sự kiện, vị trí nhật ký và bản ghi khởi tạo lại, tránh kết luận lỗi chỉ vì thị trường đóng cửa không có đầu ra.

Thomas · Đã cập nhật 2026-11-14

Tác giả: Thomas|Thực hành MT4|14 tháng 11 năm 2026

Tóm tắt: Mở terminal vào cuối tuần, giao diện EA vẫn còn nhưng lâu không có nhật ký mới, không thể chỉ dựa vào hiện tượng này để kết luận chương trình bị treo. Kiểm tra trước tiên phải xác định chương trình được kích hoạt bởi sự kiện nào, liệu nó có thực sự in nhật ký tại điểm vào đó không, rồi mới kiểm tra trạng thái terminal. Bài viết này không dùng lệnh thật để thử nghiệm chương trình, cũng không coi sơ đồ luồng là bằng chứng rằng bất kỳ EA nào đã vượt qua kiểm thử.

Không có báo giá mới, sự kiện báo giá có thể không xảy ra

Tài liệu MQL4 chính thức của MetaQuotes nêu rõ, chỉ khi mã của biểu đồ mà EA gắn vào nhận được báo giá mới thì sự kiện NewTick tương ứng mới được tạo và gọi hàm xử lý OnTick được khai báo đúng. Nếu chương trình đặt cả kiểm tra và nhật ký trong điểm vào này, thì trong khoảng thời gian không có báo giá mới có thể không có bản ghi thực thi mới.

Điều này không có nghĩa mọi EA đều phải chờ báo giá. Chương trình cũng có thể dùng điểm vào như bộ định thời hoặc sự kiện biểu đồ. Vì vậy không thể thấy "cuối tuần" là quy mọi im lặng về cùng một nguyên nhân, càng không thể coi hiện tượng một mã khác vẫn đang cập nhật là bằng chứng rằng biểu đồ vàng hiện tại chắc chắn nhận được báo giá.

Trước tiên nhận diện chương trình đang chờ sự kiện nào

![Sơ đồ luồng minh họa điểm vào sự kiện EA nguyên bản](/media/141800ab-1111-4444-8888-123456789abc.png)

Hình là sơ đồ minh họa luồng giảng dạy nguyên bản, không phải dữ liệu thị trường thực, cũng không hiển thị tài khoản giao dịch thực tế. Đường thứ nhất phụ thuộc vào báo giá mới của mã trên biểu đồ; đường thứ hai phụ thuộc vào việc chương trình đăng ký bộ định thời thành công. Sự kiện định thời có thể kích hoạt logic kiểm tra, nhưng không đồng nghĩa thị trường hiện tại có thể khớp lệnh, chương trình vẫn phải kiểm tra điều kiện giao dịch và tính hợp lệ của dữ liệu.

Tài liệu chính thức khuyến nghị đăng ký bộ định thời khi khởi tạo và hủy đăng ký khi gỡ bỏ. Chỉ viết hàm OnTimer mà không đăng ký thì không thể chứng minh nó sẽ chạy định kỳ. Tên hàm, tham số và kiểu trả về cũng phải đáp ứng yêu cầu xử lý sự kiện, bất kỳ lỗi chính tả nào cũng có thể khiến điểm vào dự kiến không được gọi.

Người dùng thông thường kiểm tra từng bước như thế nào

Trước tiên đối chiếu tài khoản, máy chủ, tên mã trên biểu đồ và trạng thái kết nối hiện tại, xác nhận đang xem đúng terminal. Ghi lại thời gian báo giá cuối cùng và thời gian giao dịch của nền tảng, không dùng đồng hồ máy tính thay cho thời gian dữ liệu thị trường của máy chủ. Việc đóng cửa thông thường vào cuối tuần cũng không có nghĩa lịch giao dịch của các sản phẩm khác hoàn toàn giống nhau, nên căn cứ theo thông báo cụ thể của nền tảng.

Tiếp theo xem nhật ký liên quan như Experts và Journal, lưu lại vài bản ghi khởi tạo, gỡ bỏ hoặc lỗi cuối cùng. Chú ý bộ lọc nhật ký, ngày tháng và liệu có đang xem terminal khác không. Nếu bản thân EA chỉ in khi điều kiện giao dịch xảy ra, không có bản ghi mới cũng có thể chỉ là điều kiện in chưa được thỏa mãn, không thể dựa vào đó chứng minh chương trình chưa từng chạy.

Sau đó kiểm tra mô tả EA có bao gồm cơ chế kiểm tra định thời, đầu ra nhịp tim hoặc bảo trì cuối tuần không. Khi không có mã nguồn, nên giao phiên bản, tham số, mã trên biểu đồ, thời gian báo giá cuối cùng và nhật ký cho nhà cung cấp đối chiếu, không nên suy đoán mọi sản phẩm đều dùng cùng cấu trúc sự kiện.

Khi có mã nguồn nên ưu tiên xác minh điều gì

Trong môi trường mô phỏng, đối chiếu khai báo và đăng ký cần thiết của các điểm vào như OnInit, OnTick, OnTimer, và dùng nhật ký chẩn đoán với tần suất vừa phải để xác nhận đường đi thực tế. Nhật ký có thể ghi loại sự kiện, mã và thời gian dữ liệu, tránh chỉ ghi "bình thường" mà không có ngữ cảnh có thể kiểm chứng. Không ghi mật khẩu tài khoản hoặc thông tin xác thực khác vào đầu ra chẩn đoán.

Terminal chạy, biểu đồ tải, sự kiện kích hoạt và thực thi giao dịch là các tầng khác nhau. Bộ định thời vẫn xuất ra không chứng minh dữ liệu thị trường mới, cũng không chứng minh lệnh chắc chắn có thể gửi. Khi sự kiện báo giá không kích hoạt, càng không nên nới lỏng quyền giao dịch, gửi lặp lệnh để xác minh chương trình còn sống.

Tại sao chuyển đổi khung thời gian liên tục có thể cản trở kiểm tra

Tài liệu chính thức nêu rõ, thay đổi mã hoặc khung thời gian trên biểu đồ, thay đổi tham số đầu vào sẽ liên quan đến gỡ bỏ và khởi tạo lại. Chuyển đổi liên tục có thể khiến vấn đề ban đầu bị quá trình khởi tạo mới che lấp, cũng có thể kích hoạt chương trình tải lại trạng thái. Nên lưu nhật ký và tham số trước, rồi theo mô tả xác minh trong môi trường an toàn, thay vì liên tục gắn lại EA để xem nó có đôi khi phục hồi không.

Các EA khác nhau có cách triển khai khôi phục vị thế, lưu trữ biến và bảo vệ gửi lệnh lặp khác nhau. Bài viết này không đảm bảo tải lại an toàn, không khuyến nghị gỡ bỏ hoặc khởi động lại mù quáng khi có vị thế thực. Mọi thao tác bảo trì đều phải xác định trước ai quản lý vị thế.

Làm thế nào xác định kiểm tra đã kết thúc

Nếu đã xác nhận mã hiện tại không có báo giá mới, logic chỉ nằm ở điểm vào báo giá, và không có bằng chứng lỗi khác, có thể ghi nhận là đang chờ dữ liệu thị trường, thay vì tuyên bố đã sửa xong chương trình. Nếu điểm vào định thời lẽ ra phải chạy mà vẫn không có đầu ra, thì tiếp tục kiểm tra đăng ký, kết quả khởi tạo và lỗi chương trình, không thể dùng việc đóng cửa để giải thích mọi thứ.

Sau khi báo giá phục hồi, cũng nên đối chiếu dấu thời gian và trạng thái trước, rồi xác nhận chương trình xử lý sự kiện mới như dự kiến. Sự kiện phục hồi không chứng minh chiến lược giao dịch có lợi thế sinh lời, lệnh vẫn đối mặt với rủi ro chênh lệch giá, trượt giá và thực thi. Mục tiêu kiểm tra là tìm ra chương trình thực sự dừng ở tầng nào, chứ không phải mạo hiểm bằng tài khoản thật để có câu trả lời.

原创流程教学示意,非真实行情,不代表任何EA已通过测试。
原创流程教学示意,非真实行情,不代表任何EA已通过测试。
Cảnh báo rủi ro: giao dịch đòn bẩy có thể gây thua lỗ đáng kể. Nội dung chỉ nhằm mục đích nghiên cứu và giáo dục, không đảm bảo lợi nhuận. Hiệu suất trong quá khứ không dự báo kết quả tương lai.
WECHAT

Connect with Thomas

Gold research · Trading reviews · MT4 discussions

WeChat ID:xauxx666
Open QR image

Scan with WeChat to add. On mobile, open and save the image, then select it from your album in WeChat Scan.

Thomas’s WeChat QR code, ID xauxx666