Nền tảng & công cụ

MT5 đã nối nhưng báo giá cũ:đọc đúng symbol và đồng hồ

Tách kết nối,TimeCurrent,time_msc và quyền giao dịch; hai quan sát không lệnh thử và ví dụ cùng giá/cùng giây vẫn khác timestamp.

Minh họa biên tập chẩn đoán đồng hồ và dữ liệu,không ảnh sự cố broker thật.
Ghi đúng việc đã thấy,tránh đoán lỗi từ màu kết nối.

Giao dịch ngoại hối có đòn bẩy và CFD có thể gây thua lỗ nhanh chóng. Nội dung phục vụ học tập, không phải tư vấn đầu tư cá nhân.

Trong bài viết này

Sau khi đọc bài này…

  • Tách kết nối,đồng hồ chung và độ mới symbol.
  • Ghi hồ sơ chẩn đoán mà không gửi lệnh thử.
  • Đọc khác biệt timestamp mili giây với thay đổi giá/độ trễ.

Tra cứu thuật ngữ ngay trong bài

Expert Advisor — EA Giá Bid và Ask

MT5 có thể nối server nhưng báo giá cặp mục tiêu quá cũ cho quyết định EA. Phiên đóng, nhầm symbol hoặc chương trình cũng có thể giải thích im lặng. Tách nguyên nhân trước khởi động lại/gửi lại. Quy trình tạo hồ sơ chẩn đoán đúng symbol và chỉ rõ bằng chứng thiếu, dành MT5/MQL5 chứ không mọi nền tảng.

Chỉ báo kết nối xác nhận gì?

TERMINAL_CONNECTED trong MQL5 mô tả terminal nối trade server. Kết nối, tuổi báo giá và quyền giao dịch là ba việc riêng. Kênh liên lạc chạy chưa chứng minh công cụ vừa cập nhật; symbol khác có thể đổi khi cặp mục tiêu chưa đổi trong quan sát.

Kiểm tên công cụ đầy đủ gồm hậu tố, server, loại tài khoản và terminal chạy chương trình. Ghi symbol EA dùng thay chép nhãn điện thoại. Với VPS, kiểm đúng bản xa:hiển thị local không chứng minh trạng thái remote. Theo dõi VPS phân biệt việc đó. Giữ log và xác định bản nào điều khiển trước reset.

Ba đồng hồ trả lời ba câu hỏi

TimeCurrent trong OnTick là giờ tick đang xử lý; trong OnTimer và handler khác là giờ báo giá Market Watch mới nhất. Symbol được chọn khác có thể cập nhật nó, nên đồng hồ chung không trả lời độ mới riêng cặp mục tiêu.

Mỗi cách đọc trả lời câu hỏi riêng
Cách đọcMô tả gì?Chưa chứng minh gì?
TimeCurrent trong OnTimerGiờ báo giá Market Watch mới nhất.Độ mới riêng cặp mục tiêu.
TimeTradeServerGiờ server do terminal tính.Vừa nhận báo giá mới.
SymbolInfoTick đúng mục tiêuDữ liệu công cụ và giờ cập nhật gần nhất.Lệnh được nhận hoặc khớp.

TimeTradeServer do terminal tính, phụ thuộc giờ máy tính. Dùng SymbolInfoTick đúng tên, kiểm thành công, ghi time_msc,Bid,Ask. Không trừ giờ máy thô với giờ server chưa cùng cơ sở. Tuổi âm, giờ thiếu hoặc đọc lỗi nghĩa chưa chắc, không phải báo giá mới.

Đồng hồ mới có thể che báo giá cũ

Mô hình chẩn đoán hư cấu.Mọi giờ dưới cùng một trục server minh họa. Bản ghi là giả,không quan sát broker. Kiểm lúc 12:00:00,TimeCurrent đọc trong OnTimer;không xác lập ngưỡng tuổi báo giá phù hợp thị trường.

Đã kết nối,cặp mục tiêu vẫn dữ liệu cũ

Cuộn ngang để xem hết sơ đồ.

Đã nối,cặp mục tiêu vẫn dữ liệu cũLúc kiểm 12:00:00:EUR/USD 11:59:59,GBP/JPY 11:59:35. Đồng hồ chung mới không chứng minh GBP/JPY mới.Cùng trục giờ server 11:59:3511:59:59 Tick GBP/JPY cuối25 giây chưa cập nhật Tick EUR/USD cuối1 giây từ cập nhật Kiểm:12:00:00Hai symbol,hai kiểm riêng
Mô hình 12:00:00:EUR/USD 11:59:59,GBP/JPY 11:59:35. Đồng hồ chung chưa cho độ mới cặp mục tiêu.

EUR/USD cập nhật 11:59:59,GBP/JPY 11:59:35. Đồng hồ chung chỉ chậm 1 giây so lúc kiểm, nhưng cặp mục tiêu chậm 25 giây. Chỉ kiểm TimeCurrent có thể bỏ khác biệt. Chưa xác lập broker mất kết nối:còn kiểm phiên, symbol và điều kiện chương trình.

Quan sát lại sau khoảng đo bằng bộ đếm thời gian đã trôi. time_msc không đổi cho bằng chứng chưa thấy cập nhật mới giữa những lần đọc này, không đo độ trễ truyền một tick từ nguồn tới máy. Dấu giờ server và ước tính client chưa cho độ chính xác đó. Tách sự thật thấy được với lỗi nghi ngờ.

Tách thị trường yên với lỗi chương trình

So giờ báo giá với giờ giao dịch đúng công cụ, cơ sở giờ server, nghỉ và thông báo lễ. Ngoài phiên, giá cũ có thể bình thường. Không áp giờ cặp tiền chính cho chỉ số/vàng cùng danh sách. Trong phiên, lặp không thấy cập nhật cần tìm hiểu, nhưng không số giây chung mọi công cụ/chiến lược.

OnTick liên quan symbol biểu đồ gắn EA. NewTick không được thêm nếu cùng loại đã chờ/đang xử lý; số dòng log OnTick chưa bằng số tick. EA nhiều symbol cần tách biểu đồ chủ với công cụ dùng quyết định.

Theo tài liệu OnTick của MetaQuotes,tắt AutoTrading không dừng hoạt động EA. Đây diễn giải quy tắc chương trình,không nhật ký terminal đã kiểm.

Tắt AutoTrading ngăn EA gửi yêu cầu, không dừng tính. Ghi hoạt động chương trình, dữ liệu, điều kiện và phản hồi riêng. Tài liệu OnTick giải thích khác biệt này. Không cần lệnh thử để chẩn đoán; heartbeat trong log chưa chứng minh đủ điều kiện vào.

Tách “không tín hiệu”, “không dữ liệu”, “không được phép giao dịch” trong log vì xử lý khác nhau. Chỉ nói robot im chưa biết bỏ tính hay chủ động loại lệnh.

Giữ gì trước gửi lệnh tiếp?

Hồ sơ cần:giờ quan sát/cơ sở giờ,server/symbol chính xác,kết nối,kết quả đọc,giờ tick/Bid/Ask,phiên,trạng thái chương trình,phản hồi lệnh mới nhất. Ví dụ “12:00:00 theo trục giờ server;GBP/JPY;đọc được;tick 11:59:35;chưa xác nhận phiên;tạm ngừng lệnh vào mới”. Không gửi mật khẩu hoặc toàn mã tài khoản cho hỗ trợ.

Nếu gửi lệnh bị lỗi/phản hồi chưa rõ, đối soát vị thế,lệnh chờ,lịch sử trước thử lại. Báo giá mới trở lại không nói yêu cầu trước đã ra sao. Xử lý lỗi lệnh giải thích phản hồi. Phơi nhiễm đang có vẫn cần kiểm trong chẩn đoán;tắt EA chưa xác nhận mức bảo vệ hiện được nhận.

Các bước chẩn đoán tiếp theo

  1. Ghi đúng symbol và lịch:mở specification của tài khoản phù hợp,ghi server,giờ báo giá/giao dịch,so lúc sự cố. Từ đó xác định có hợp lý kỳ vọng cập nhật khi ấy không.
  2. Lấy hai quan sát không giao dịch:trên demo ghi tick timestamp,giá,kết nối,chương trình;lặp sau khoảng đã biết. Ghi thiếu thông tin,không biến đọc lỗi thành tuổi 0 hoặc giá hợp lệ.
  3. Đối soát trước gửi tiếp:kiểm vị thế,order,lịch sử rồi độ mới cần cho luật. Nếu chưa rõ,gửi hồ sơ ẩn danh cho nhà phát triển/nhà cung cấp. Chẩn đoán này không khuyến nghị mở vị thế.

Hai bản ghi cùng giây và cùng Bid/Ask vẫn có thể khác cập nhật

Ví dụ đọc SymbolInfoTick hai lần đều thành công,cùng symbol/cơ sở giờ. Bản A có time_msc tương ứng 12:00:00.100,B có 12:00:00.900. Bid/Ask của cả hai vẫn 1.1000/1.1002. Trường time tới giây hiển thị 12:00:00 ở cả hai. Đây bản ghi gán giả;không giả định mọi broker phát lại tick cùng giá hoặc đó là giờ đến máy.

Giá bằng nhau,cùng giây,nhưng timestamp cập nhật khácHai lần đọc thành công,cùng symbol/cơ sở giờ,giá1.1000/1.1002 gán giả.PHÉP TÍNH GIẢ ĐỊNHQuan sát Atime_msc → 12:00:00.100Quan sát Btime_msc → 12:00:00.900Điều chưa biếtĐộ trễ vận chuyển/đủ mớicho luật
Giá bằng nhau,cùng giây,nhưng timestamp cập nhật khác. Hai lần đọc thành công,cùng symbol/cơ sở giờ,giá1.1000/1.1002 gán giả.

So cả timestamp chính xác và trường thay đổi;giá không đổi chưa nghĩa không cập nhật,timestamp tăng chưa chứng minh lệnh có thể khớp.

Trên màn hình nhỏ, bạn có thể cuộn ngang hoặc phóng to sơ đồ. Các giá trị và kết luận cũng có ở phần văn bản bên dưới.

Quan sát A
time_msc→12:00:00.100 – time tới giây12:00:00;Bid/Ask1.1000/1.1002.
Quan sát B
time_msc→12:00:00.900 – Cùng chuỗi giây và giá hiển thị,timestamp cập nhật muộn hơn800 ms.
Điều chưa biết
Độ trễ vận chuyển/đủ mới cho luật – Không suy từ timestamp này;kiểm lấy mẫu,flags,phiên và yêu cầu riêng.

Chênh time_msc là 800 ms,dù so giá hoặc chuỗi giờ tới giây không thấy khác. Bản B có timestamp cập nhật muộn hơn,nhưng chưa đo độ trễ vận chuyển,khẳng định feed đang đủ mới cho luật,hoặc xác định trường nào thay. MqlTick giữ các trường khác ngay cả khi chỉ một trường đổi;cần đọc flags nếu muốn biết thay đổi nào được báo. Không suy “EA treo” từ hai giá bằng nhau,cũng không suy “kết nối an toàn” chỉ từ một timestamp tăng. Giữ thời gian lấy mẫu và yêu cầu độ mới của luật riêng.

Kiểm tra mức độ hiểu bài

Bài tập: khoảng 3 phút.

Lúc12:00:00,TimeCurrent trong OnTimer11:59:59,tick GBP/JPY11:59:35. Điều gì xác nhận độ mới GBP/JPY?

Xem đáp án và giải thích

Đúng.Còn kiểm phiên và yêu cầu chiến lược;25 giây chưa ngưỡng lỗi chung.

Câu hỏi khác

Đồng hồ MT5 mới nghĩa symbol có báo giá mới?
Không.Xác định đồng hồ và handler.TimeCurrent chung có thể từ công cụ khác;giờ tính chưa xác nhận giá đến.Ghi symbol,kết quả đọc,timestamp,kiểm lịch và lặp.Không thay tuổi thiếu/âm bằng0;không cần giao dịch thử.
Bao nhiêu giây không tick là lỗi?
Không giới hạn chung.25 giây minh họa khác đồng hồ,không ngưỡng mất kết nối.Xét phiên,hoạt động công cụ,lịch broker,yêu cầu luật.Ghi điều chưa biết;thời gian trôi riêng chưa xác định lỗi terminal/server/chương trình.
Nên reset và gửi lại lệnh?
Giữ log,kiểm vị thế/lệnh chờ/lịch sử trước.Yêu cầu trước có thể tới server,gửi lại có thể thêm phơi nhiễm.Reset chưa chứng minh không xảy ra gì.Với VPS kiểm đúng bản;vị thế còn cần xác nhận mức bảo vệ đã nhận.
Giá không đổi,log im có nghĩa EA treo?
Chưa đủ.Giá có thể giữ,phiên đóng hoặc log chỉ chọn sự kiện.Kiểm timestamp,cách lấy quan sát,symbol biểu đồ/mục tiêu,trạng thái và điều kiện.Mô hình.100→.900 cùng giây/cùng giá vẫn timestamp tăng800 ms;không phải đo trễ.
time_msc muộn hơn xác nhận tick đến máy nhanh?
Không.Đó giờ cập nhật được báo,không đủ hai đầu đo độ trễ vận chuyển.Ghi thời gian lấy mẫu và căn chỉnh cơ sở giờ.Không suy đủ mới,ngưỡng chiến lược hoặc nhận lệnh từ một timestamp tăng.

Nguồn và kiểm chứng

  1. www.mql5.com

    Nguồn tham khảo cho nội dung; xem phạm vi và giả định được nêu trong bài.

  2. www.mql5.com

    Nguồn tham khảo cho nội dung; xem phạm vi và giả định được nêu trong bài.

  3. www.mql5.com

    Nguồn tham khảo cho nội dung; xem phạm vi và giả định được nêu trong bài.

  4. www.mql5.com

    Nguồn tham khảo cho nội dung; xem phạm vi và giả định được nêu trong bài.

  5. www.mql5.com

    Nguồn tham khảo cho nội dung; xem phạm vi và giả định được nêu trong bài.

  6. www.mql5.com

    Nguồn tham khảo cho nội dung; xem phạm vi và giả định được nêu trong bài.

Các phép tính dùng giả định được nêu rõ. Chúng không thay thế dữ liệu thị trường hiện tại hoặc điều khoản của nhà cung cấp.

Về tác giả

Jarosław Wasiński là biên tập viên và nhà phân tích thị trường tại Ba Lan. Ông sáng lập MyBank.pl năm 2004 và theo dõi thị trường ngoại hối từ năm 2007.