Chúng ta đã tìm hiểu cách backtest (kiểm thử lại) một EA và cách đọc báo cáo backtest. Tuy nhiên, có một nguyên tắc vàng trong khoa học dữ liệu là: "Garbage In, Garbage Out" (Dữ liệu rác đầu vào, Kết quả rác đầu ra).
Một bài backtest chỉ đáng tin cậy khi nó được chạy trên dữ liệu lịch sử chất lượng cao. Dữ liệu mặc định mà MT5 tải từ broker của bạn thường bị thiếu (gaps), không đầy đủ, và thường chỉ là dữ liệu M1 (1 phút), không phải tick thật. Điều này có thể dẫn đến kết quả backtest sai lệch nghiêm trọng (ví dụ: báo cáo 90% nhưng chạy live lỗ).
May mắn thay, MT5 cho phép bạn tải về dữ liệu "tick thật" chất lượng 99.9% trực tiếp từ máy chủ của MetaQuotes. Bài viết này sẽ hướng dẫn bạn cách làm đó.
1. Dữ liệu Tick Thật (Real Ticks) là gì?
Dữ liệu lịch sử có hai cấp độ chính:
- Dữ liệu M1 (OHLC): Đây là dữ liệu cấp thấp nhất mà MT4 và nhiều broker cung cấp. Nó chỉ ghi lại 4 mức giá (Mở, Cao, Thấp, Đóng) cho mỗi 1 phút. Nó "không biết" giá đã di chuyển như thế nào bên trong 1 phút đó.
 - Dữ liệu Tick Thật (Real Ticks): Đây là dữ liệu cao cấp nhất. Nó ghi lại mọi thay đổi giá (tick) dù là nhỏ nhất. Trong 1 phút có thể có hàng trăm tick.
 
Chế độ backtest "Every tick based on real ticks" (chính xác nhất) của MT5 BẮT BUỘC phải có dữ liệu tick thật này. Nếu không có, nó sẽ tự "bịa" ra các tick dựa trên dữ liệu M1, làm giảm độ chính xác.
2. Hướng dẫn tải Dữ liệu Lịch sử Tick Thật từ MetaQuotes
Đây là cách chính thống và miễn phí để lấy dữ liệu 99.9% cho các cặp tiền chính (Forex Major) và Vàng (XAUUSD).
- Bước 1: Mở cửa sổ "Symbols" (Biểu tượng)
            
Trong MT5, vào menu View (Xem) > Symbols (Biểu tượng) hoặc nhấn phím tắt Ctrl + U.
 - Bước 2: Chọn Mã giao dịch
            
Trong cửa sổ "Symbols", tìm đến mã bạn muốn tải dữ liệu (ví dụ:
Forex > EURUSDhoặcMetals > XAUUSD). Nhấp chọn mã đó. - Bước 3: Chuyển sang tab "Ticks"
            
Ở phía trên cửa sổ, bạn sẽ thấy các tab "Settings", "Sessions", "Bars"... Hãy nhấp vào tab Example "Ticks".
 - Bước 4: Yêu cầu Dữ liệu (Request)
            
Bạn sẽ thấy các ô để chọn khoảng thời gian. Hãy chọn khoảng thời gian bạn muốn backtest (ví dụ: chọn từ "From" 01/01/2020 đến "To" hôm nay).
Sau khi chọn xong, nhấn nút "Request" (Yêu cầu).
 - Bước 5: Chờ Đợi
            
Đây là bước tốn thời gian nhất. MT5 sẽ bắt đầu tải về hàng triệu (thậm chí hàng tỷ) tick từ máy chủ MetaQuotes. Quá trình này có thể mất từ vài phút đến VÀI GIỜ, tùy thuộc vào khoảng thời gian bạn yêu cầu và tốc độ mạng.
Bạn có thể thấy thanh tiến trình màu xanh lá cây chạy ở dưới cùng. Khi hoàn tất, nó sẽ báo "Done".
 
Xin chúc mừng! MT5 của bạn bây giờ đã có dữ liệu "xịn" nhất cho mã đó. Khi bạn chạy backtest ở chế độ "Every tick based on real ticks", nó sẽ tự động sử dụng nguồn dữ liệu này.
3. Lưu ý quan trọng khi tải dữ liệu
- Dung lượng ổ cứng: Dữ liệu tick thật rất nặng. Dữ liệu vài năm của một cặp tiền có thể chiếm vài Gigabyte (GB) ổ cứng của bạn (đặc biệt là ổ C:). Hãy đảm bảo bạn có đủ dung lượng.
 - Thời gian: Hãy kiên nhẫn. Đừng tắt MT5 khi nó đang tải.
 - Không phải mọi mã đều có: MetaQuotes chủ yếu cung cấp tick data cho các cặp Forex major và một số sản phẩm phổ biến như Vàng. Các cặp tiền chéo (exotic) hoặc Cổ phiếu có thể không có dữ liệu tick thật.
 
4. Tại sao dữ liệu này lại quan trọng?
Việc sử dụng dữ liệu chất lượng cao là điều bắt buộc đối với bất kỳ ai nghiêm túc về giao dịch tự động.
- Nó giúp phát hiện các lỗi (bug) của EA mà dữ liệu M1 bỏ qua (ví dụ: EA scalping vào lệnh và thoát lệnh trong vài giây).
 - Nó cho ra các chỉ số Drawdown và Profit Factor đáng tin cậy nhất.
 
Một Robot MT5 chuyên nghiệp, đặc biệt là loại Giao dịch Vàng (vốn biến động rất nhanh), phải được backtest trên dữ liệu tick thật. Khi bạn Dịch vụ Viết EA MT5 theo yêu cầu, hãy luôn yêu cầu lập trình viên backtest trên dữ liệu 99.9%. Tương tự, khi học code lập trình EA, việc đầu tiên là phải chuẩn bị dữ liệu chuẩn để kiểm tra "sản phẩm" của mình.
>> Đọc lại: Cách sửa các lỗi MT5 thường gặp (No connection, Common error...)
>> Đọc tiếp: MQL5 Market là gì? Hướng dẫn mua/thuê EA và Indicators an toàn