Trong bài viết này
Sau khi đọc bài này…
- Chuẩn bị CSV với offset và cửa sổ mở nến rõ ràng.
- Tách gap, duplicate, OHLC xung đột và ngoài lưới.
- Kiểm nhãn mở/đóng và giờ Việt Nam trước kết luận thiếu.
Tra cứu thuật ngữ ngay trong bài
Backtesting (kiểm thử dữ liệu lịch sử) Giá Bid và Ask Expert Advisor — EAThiếu nến chưa cho biết nhà cung cấp lỗi hay thị trường nghỉ. Trước hết so export với cửa sổ thời gian đã khai báo và quy tắc tạo nến của nguồn. Bộ kiểm CSV cục bộ tìm mốc trống trên lưới đều, timestamp lặp, OHLC xung đột và hàng không hợp lệ. Nó không tạo báo giá thay thế. Kết quả giúp quyết định cần làm rõ gì trước backtest chiến lược.
Xác định gì trước khi đếm nến thiếu?
Ghi mã, nhà cung cấp, cơ sở giá và timeframe. Nến Bid/Ask và midpoint là chuỗi khác nhau; nhãn EUR/USD chưa đủ. So cùng thời điểm mở nến. Export gắn giờ đóng so với giờ mở có thể trông lệch dù giá đều hợp lệ.
Header nhận đúng timestamp,open,high,low,close. Mỗi hàng tiếp có đúng năm trường ngăn bằng dấu phẩy. Giá dùng dấu chấm thập phân, không dấu nhóm nghìn. Trường có dấu ngoặc kép, cột thêm và dấu chấm phẩy cần chuyển đổi trước; tool từ chối thay đoán. Giữ bản gốc và ghi phép chuyển.
Timestamp đầy đủ như 2026-10-12T08:00:00Z hoặc 2026-10-12T10:00:00+02:00 cùng một thời điểm. Cần giây; cho tối đa ba chữ số lẻ giây. Giờ không offset chưa xác định time zone server. Gắn Z vào giờ địa phương là đổi ý nghĩa, không chuyển UTC. Tài liệu OANDA pricing cho alignmentTimezone và dailyAlignment; quy cách nguồn cần kiểm, không mặc định ngày nến là nửa đêm Việt Nam.
Khai báo mốc mở đầu và cuối riêng, cả hai được tính.08:00–08:11 với bước một phút có 12 mốc, kể cả hai biên. Lưới neo ở biên đầu; biên cuối phải nằm đúng lưới. Đây là khoảng thời gian trôi đều; tháng lịch hoặc ngày địa phương đổi độ dài vì DST không là hằng 1.440 phút.
Chạy bộ kiểm và tái tạo ví dụ
Chọn CSV, bước nguyên 1–1.440 phút và hai biên. Phân tích trong trình duyệt, không gửi nội dung hoặc lưu bền vững. Giới hạn 2 MiB,100.000 hàng và 100.000 mốc kỳ vọng; chia khoảng dài thành cửa sổ không chồng lấn có ghi nhận. Giá tối đa 15 chữ số có nghĩa và 48 ký tự mỗi trường; bản chính xác hơn bị từ chối để không giấu xung đột do rounding.
Kiểm tra độ phủ lưới thời gian trong CSV
Tệp phân tích trong trình duyệt, không gửi hoặc lưu bền vững. Định dạng: timestamp, open, high, low, close. Tối đa 2 MiB. Thời điểm phải có Z hoặc độ lệch múi giờ rõ ràng.
Export hư cấu:12 hàng chưa chứng minh đầy đủ
Hai tệp thực hành là tổng hợp, không giá broker hoặc tài khoản thật. Chọn M1,08:00–08:11 UTC. Tệp sạch có 12 timestamp khác nhau, không trống. Tệp chẩn đoán có 12 hàng nhưng chỉ 8 mốc hợp lệ trên lưới.
| Phát hiện | Ý nghĩa mô hình |
|---|---|
| 4 mốc trống | 08:03,08:04,08:10,08:11 không nến hợp lệ |
| 2 hàng lặp | 08:02 và 08:06 xuất hiện thêm lần |
| 1 nhóm xung đột OHLC | Hai nến hợp lệ 08:06 khác giá |
| 1 hàng không hợp lệ | High 08:04 thấp hơn open |
| 1 ngoài lưới,1 đảo thời gian | 08:07:30 không thuộc M1;08:08 đứng sau 08:09 |
Hai đoạn trống dài nhất đều chứa hai mốc mở kỳ vọng. Đồng hạng trả đoạn đầu 08:03–08:04. Đây không đo thời lượng outage. Cần thông tin bên ngoài để giải thích khoảng này.
M1 hư cấu: tám mốc trong mười hai
Cuộn ngang để xem hết sơ đồ.
Điều tra thay tự sửa gì?
Coverage đếm timestamp hợp lệ khác nhau, không đếm hàng. Duplicate giống hệt không thêm phủ. Hai OHLC khác nhau đều hợp lệ ở cùng timestamp lấp một mốc nhưng cũng là xung đột. Không thiếu mốc chưa đủ dùng dữ liệu. Giữ hai bản để so với nguồn; tool không chọn bản cao hơn, mới hơn hoặc làm đẹp kết quả.
Hàng không hợp lệ không thêm phủ. Cần giá hữu hạn và high≥open, close, low; low≤các giá còn lại. Record ngoài cửa sổ hoặc ngoài lưới không tăng kết quả. Đếm toàn bộ phát hiện nhưng chỉ hiển thị 20 ví dụ mỗi nhóm, tránh trang bị tràn.
So gap cuối tuần với lịch phiên đúng sản phẩm. Với gap trong phiên khai báo, kiểm download log và nguồn gốc. OANDA định nghĩa complete của một nến theo thời gian kết thúc không ở tương lai, không chứng nhận toàn export đầy đủ. Nó khác coverage trên lưới đã chọn.
Đừng fill bằng giá cuối chỉ để đường liên tục: đó là nến tổng hợp, có thể đổi indicator và mô hình stop. Sort không xử xong OHLC mâu thuẫn. Giữ export gốc cùng correction record riêng có lý do/nguồn.
Mô hình độc lập 12 nến M1 liên tiếp ngày 12/10/2026. Mở nến 15:00–15:11 Việt Nam, cùng 08:00–08:11 UTC. Một export gắn giờ đóng 15:01–15:12+07:00, không thiếu nến nào. Nếu cứ coi đó là giờ mở và kiểm lưới 08:00–08:11 Z,11 mốc được phủ,08:00 trống và 08:12 nằm ngoài cửa sổ.
| Biểu diễn | Cửa sổ UTC | Kiểm lưới giờ mở 08:00–08:11 |
|---|---|---|
| Giờ mở đúng 15:00–15:11+07:00 | 08:00–08:11 | 12/12, không trống |
| Giờ đóng 15:01–15:12+07:00 | 08:01–08:12 | 11/12, thiếu đầu 1 mốc |
| Đổi nhãn thành 15:00 Z không chuyển | 15:00 trở đi | 0/12 cho cửa sổ này |
Chưa kết luận broker mất một phút; phải xác nhận semantics timestamp. Chỉ dịch trừ một phút khi tài liệu nguồn xác nhận nhãn đóng và đúng khoảng nến, giữ tệp gốc và log chuyển. Không áp cho mọi timestamp hoặc tự bịa giá 08:00. Gắn Z sai còn dịch 7 giờ; tool có thể phân tích cú pháp hoàn hảo một thời điểm sai.
OHLC đầy đủ có chứng minh dùng tick thật?
Không. Nến không ghi toàn đường đi giá. MetaQuotes mô tả trường hợp có M1 nhưng thiếu tick thì tester sinh tick. Coverage CSV M1 đủ không chứng minh toàn test dùng quan sát tick đã ghi; kiểm log, phạm vi tick và model. Không đồng nhất độ phủ nến với lịch sử spread hoặc khớp.
So ngày yêu cầu với ngày test thực. Tài liệu chuẩn bị dữ liệu MT5 ghi thiếu lịch sử có thể làm dời đầu test. Export bằng CopyRates phải so số yêu cầu và số trả, do tải có thể tiếp tục. Test MT4/MT5 giúp cấu hình;phương pháp backtest nối kiểm dữ liệu với validation. EA đúng logic vẫn cần đầu vào và mô hình execution đúng.
Giờ đóng không là giờ mở
Xác nhận định nghĩa timestamp trước sửa, không tự fill giá thiếu.
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.
- Giờ mở đúng
- 12/12 – 15:00–15:11+07:00→08:00–08:11 Z
- Lấy giờ đóng làm mở
- 11/12 – 15:01–15:12+07:00→08:01–08:12 Z; thiếu 08:00
- Gắn Z không đổi giờ
- 0/12 – 15:00 Z lệch 7 giờ, cả khoảng ngoài lưới 08:00
Làm gì với báo cáo?
- Lưu tệp gốc, settings, report, mã, cơ sở giá, time zone và nguồn lịch phiên để người khác tái tạo, không chỉ ảnh chart.
- Điều tra longest gap và mọi nhóm OHLC xung đột. Ghi phiên nghỉ đã xác nhận hoặc lấy export sửa khi đúng là thiếu. Chạy lại cùng cửa sổ và giữ report trước.
- Test trực quan ngắn trên khoảng đã chấp nhận, xem tín hiệu quanh gap, spread và thứ tự khớp. Python cho kiểm dữ liệu/tín hiệu tiếp. Báo cáo không dự báo lợi nhuận tương lai.
Kiểm tra mức độ hiểu bài
Bài tập: khoảng 2 phút.
Xem đáp án và giải thích
12 mốc kỳ vọng−8 mốc phủ=4 trống. Duplicate/ngoài lưới không thêm phủ.
Câu hỏi khác
Một phút trống là broker lỗi?
Không gap vẫn OHLC xung đột?
Đọc mọi export không chuyển đổi?
Đủ lưới là nhận backtest được?
Vì sao đủ 12 nến mà đầu cửa sổ trống?
Nguồn và kiểm chứng
- developer.oanda.com
Nguồn tham khảo cho nội dung; xem phạm vi và giả định được nêu trong bài.
- developer.oanda.com
Nguồn tham khảo cho nội dung; xem phạm vi và giả định được nêu trong bài.
- www.metatrader5.com
Nguồn tham khảo cho nội dung; xem phạm vi và giả định được nêu trong bài.
- www.metatrader5.com
Nguồn tham khảo cho nội dung; xem phạm vi và giả định được nêu trong bài.
- 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.
