ข้อผิดพลาดใน MT4 Strategy Tester:
> **`TestGenerator: unmatched data error (volume limit 2382 at 2025.07.30 09:00 exceeded)`**
---
เปิดบัญชี MT4 MT5 ได้ที่ https://www.exness.com/a/73208
### 🧨 สาเหตุของ Error นี้:
เกิดจาก **ข้อมูลราคาที่ใช้ในการทดสอบ (Historical Data)** มีปัญหา เช่น:
1. **ข้อมูลไม่ครบ** หรือไม่ตรงกันระหว่าง `M1`, `M5`, `H1` และ timeframe ที่ใช้ backtest
2. ข้อมูล M1 **มีความคลาดเคลื่อนในช่วงเวลานั้น** เช่น volume สูงผิดปกติ, ขาดแท่งเทียน, หรือไฟล์ corrupt
3. การใช้ **"Every tick"** (ความแม่นยำสูงสุด) ทำให้ EA ต้องการข้อมูลแบบละเอียด แต่ Strategy Tester ไม่สามารถสร้าง tick ได้ครบ
---
### ✅ วิธีแก้ไข:
#### 🔁 1. ลบและโหลด Historical Data ใหม่:
**ขั้นตอน:**
1. เปิด MT4
2. ไปที่เมนู `Tools` → `History Center` หรือกด `F2`
3. เลือกคู่เงินที่คุณ backtest เช่น `EURUSD`
4. เลือก timeframe: M1, M5, M15, ... กดปุ่ม `Delete` ลบให้หมด
5. จากนั้นกด `Download` อีกครั้ง เพื่อโหลดข้อมูลใหม่จาก server
6. ปิดและเปิด MT4 ใหม่ แล้วลอง backtest ซ้ำ
---
#### 🧪 2. เปลี่ยนวิธีการทดสอบ:
หากคุณใช้ **"Every tick"** แล้วเกิดปัญหา ลองเปลี่ยนเป็น:
* `Open prices only` (ความเร็วเร็วกว่า แม่นน้อยกว่า แต่ลด error)
* หรือใช้ timeframe ที่มีข้อมูลมาก เช่น H1 หรือ M30
---
#### ⚙️ 3. ใช้ Script โหลด M1 เต็ม (กรณีใช้ Tick Story หรือโหลด M1 ผ่าน script)
หากต้องการ backtest แบบแม่นยำสูงสุดใน Every tick mode ควรโหลดข้อมูลแบบละเอียดจาก:
* **Tickstory** (สำหรับ backtest แบบ 99.9% quality)
* หรือใช้ script M1 data loader เช่นจาก \[Dukascopy] และ import เข้า MT4
---
#### 🧹 4. เคลียร์ Cache Tester
1. ไปที่โฟลเดอร์:
```text
C:\Users\<ชื่อผู้ใช้>\AppData\Roaming\MetaQuotes\Terminal\<รหัส>\tester\history\
```
2. ลบไฟล์ทั้งหมดในโฟลเดอร์นี้ (เฉพาะสำหรับ backtest)
3. แล้วเริ่ม backtest ใหม่
---
### 📌 สรุป:
| ปัญหา | วิธีแก้ |
| ------------------------- | ------------------------------ |
| ข้อมูลไม่ตรง / ขาด | ลบ + โหลดใหม่ใน History Center |
| ใช้ Every tick แล้ว error | เปลี่ยนเป็น Open price only |
| cache tester เก่า | ลบ tester\history ออก |
| ต้องการความแม่นยำสูง | ใช้ Tickstory หรือโหลด M1 เต็ม |
----------------------------------------