Sổ Lệnh đọc dữ liệu nến từ file trên máy bạn, không tải sẵn dữ liệu về máy chủ. Bạn tự xuất từ MetaTrader của chính mình, nên dữ liệu khớp đúng với sàn bạn đang dùng — kể cả spread. Bài này chỉ cách lấy file đó.
Cách nhanh: xuất nhiều cặp một lượt bằng script
Nếu bạn cần vài cặp, đừng bấm tay từng cái. Trong bản tải về có sẵn file
mt5/XuatLichSu.mq5 làm việc đó một lượt.
- Mở MT5, vào
File → Open Data Folder - Đi tiếp vào thư mục
MQL5\Scripts - Chép file
XuatLichSu.mq5vào đó - Quay lại MT5, cửa sổ Navigator → chuột phải →
Refresh - Mở mục Scripts, kéo
XuatLichSuthả vào biểu đồ bất kỳ - Bảng tham số hiện ra — điền rồi bấm OK
Các tham số và ý nghĩa:
| Tham số | Mặc định | Nên đặt gì |
|---|---|---|
InpSymbols | EURUSD,GBPUSD,… | Danh sách cặp, cách nhau bằng dấu phẩy |
InpTimeframe | PERIOD_M1 | Để M1. Lý do ở mục dưới |
InpYears | 2 | Số năm lịch sử. Bắt đầu bằng 1 cho nhẹ |
InpFolder | SoLenh | Thư mục con trong MQL5\Files |
InpUseSuffix | bật | Tự dò hậu tố của sàn, ví dụ EURUSD.pro hay EURUSDm |
File ra nằm ở MQL5\Files\SoLenh\, tên dạng GBPUSD_M1.csv.
Chạy xong MT5 hiện hộp thoại báo số file và số nến đã xuất.
Cách thủ công trên MT5
View → Symbols(phím tắtCtrl+U)- Tìm và chọn cặp tiền trong cây bên trái
- Sang thẻ Bars
- Chọn khung thời gian và khoảng ngày, bấm Request
- Bấm Export, lưu file
Cách thủ công trên MT4
Tools → History Center (phím tắt F2), chọn cặp, chọn khung
thời gian, bấm Export.
File MT4 kiểu cũ không có dòng tiêu đề và phân cách bằng dấu phẩy. Bộ đọc vẫn hiểu, nhưng nó không có cột spread — hệ thống sẽ dùng spread bạn khai trong Cài đặt thay vì spread thật của từng cây nến.
Vì sao nên xuất khung M1
Vì engine luôn tua theo khung gốc của file, còn biểu đồ thì đổi khung được. Nạp file M1 nghĩa là bạn xem phân tích trên H4 hay D1 tuỳ thích, nhưng lệnh được kiểm tra chạm cắt lỗ / chốt lời với độ chính xác từng phút — đúng cách thị trường thật vận hành.
Nạp file M5 thì mất khung M1, và mọi lệnh chỉ được kiểm tra năm phút một lần. Với lệnh có cắt lỗ hẹp, khác biệt này không nhỏ.
Bù lại, file M1 nặng hơn nhiều. Xem mục cuối bài về giới hạn dung lượng.
Đặt tên file cho đúng
Đặt dạng GBPUSD_M5_....csv thì hệ thống tự nhận ra cặp tiền và khung thời
gian, khỏi phải chọn tay. Bộ đọc chấp nhận:
- File MT5 có dòng tiêu đề
<DATE> <TIME> <OPEN> …, phân cách bằng tab - File MT4 kiểu cũ, không tiêu đề, phân cách bằng dấu phẩy, tên dạng
EURUSD60.csv - File chung có tiêu đề
Date,Open,High,Low,Close,Volumevới ngày giờ gộp một cột - Phân cách bằng tab, dấu phẩy, chấm phẩy hoặc khoảng trắng — tự dò
Ba lỗi hay gặp
Xuất ra ít nến hơn mong đợi
MT5 chỉ tải lịch sử về máy khi cần. Lần chạy đầu thường thiếu vì terminal đang tải dở. Cách xử lý: mở biểu đồ cặp đó, chuyển sang khung M1, kéo lui về quá khứ cho MT5 tải đủ, rồi xuất lại. Với script thì cứ chạy lại lần hai — lần đầu nó đã kích cho MT5 bắt đầu tải.
Ngoài ra nhiều sàn chỉ giữ lịch sử M1 vài năm gần nhất. Đặt InpYears là 10
không có nghĩa bạn sẽ nhận được 10 năm.
Giờ trong file lệch với giờ Việt Nam
Mốc thời gian trong file MT5 là giờ máy chủ của sàn, thường UTC+2 hoặc UTC+3 tuỳ mùa. Hệ thống hiển thị đúng con số trong file, không tự quy đổi — vì quy đổi sai còn tệ hơn không quy đổi.
Chỗ duy nhất cần biết độ lệch là phần phân loại phiên Á / Âu / Mỹ trên trang thống kê. Khai độ lệch ở Cài đặt → Lệch giờ sàn so với UTC. Không biết sàn mình đặt múi nào thì mở một biểu đồ M1 và so giờ cây nến mới nhất với giờ thật.
Nạp một lần rồi thôi
Bộ dữ liệu bạn nạp nằm lại trong trình duyệt: lần sau mở trang là có sẵn, không phải quay lại MT5. Mỗi cặp giữ riêng một bộ, đổi qua lại trong hộp thoại Nạp dữ liệu…. Một năm M1 của một cặp khoảng 370.000 nến, file 40–45 MB — cỡ đó vẫn giữ được bình thường.
Hai ngoại lệ. Thứ nhất, trình duyệt ở chế độ ẩn danh thường không cho lưu dữ liệu lớn; lúc đó trang chỉ giữ được một bộ và có thể mất khi đóng tab — hệ thống nói rõ ra chứ không im lặng. Thứ hai, dọn dẹp bộ nhớ trình duyệt sẽ xoá cả dữ liệu nến, và lúc đó phải nạp lại từ file.
Xuất nhiều cặp một lượt thì chọn hết số file đó trong một lần, hoặc kéo thả cả nhóm vào biểu đồ. Không phải nạp từng file một.
Về bản quyền dữ liệu
Dữ liệu bạn xuất từ terminal của chính bạn, dùng cho việc của chính bạn, ở ngay trên máy bạn — không có phát tán lại. Đó là lý do công cụ này được thiết kế đọc file từ máy người dùng thay vì phục vụ sẵn kho dữ liệu. Nếu bạn định chia sẻ lại file dữ liệu cho người khác, hãy xem điều khoản sử dụng của sàn trước.
Câu hỏi hay gặp
- Nên xuất khung thời gian nào từ MT5?
- M1. Engine luôn tua theo khung gốc của file, còn biểu đồ thì đổi khung được — nạp file M1 nghĩa là bạn xem trên H4 hay D1 tuỳ thích mà lệnh vẫn được kiểm tra chạm cắt lỗ / chốt lời với độ chính xác từng phút. Nạp file M5 thì mất khung M1 và mọi lệnh chỉ được kiểm tra năm phút một lần.
- Vì sao xuất ra ít nến hơn khoảng thời gian đã chọn?
- MT5 chỉ tải lịch sử về máy khi cần, nên lần chạy đầu thường thiếu vì terminal đang tải dở. Mở biểu đồ cặp đó, chuyển sang M1, kéo lui về quá khứ cho tải đủ rồi xuất lại; với script thì cứ chạy lại lần hai. Ngoài ra nhiều sàn chỉ giữ lịch sử M1 vài năm gần nhất, nên đặt số năm lớn không có nghĩa bạn sẽ nhận được chừng đó.
- Giờ trong file lệch với giờ Việt Nam thì sửa ở đâu?
- Mốc thời gian trong file là giờ máy chủ của sàn, thường UTC+2 hoặc UTC+3 tuỳ mùa. Hệ thống hiển thị đúng con số trong file chứ không tự quy đổi, vì quy đổi sai còn tệ hơn không quy đổi. Chỗ duy nhất cần biết độ lệch là phần phân loại phiên Á / Âu / Mỹ — khai ở Cài đặt, mục “Lệch giờ sàn so với UTC”.
- File MT4 kiểu cũ có dùng được không?
- Được. Bộ đọc hiểu file MT4 không có dòng tiêu đề, phân cách bằng dấu phẩy. Nhưng file đó không có cột spread, nên hệ thống sẽ dùng spread bạn khai trong Cài đặt thay vì spread thật của từng cây nến.