แก้ปัญหาที่พบบ่อย
หน้านี้ใช้เมื่อขั้นไหนไม่ได้ผลตามที่คู่มือบอก — หาอาการที่ตรงกับที่เห็นบนจอ แล้วทำตาม column "แก้" · ข้อความภาษาอังกฤษในตารางคือข้อความที่ระบบพิมพ์จริง ใช้ Ctrl+F ค้นในหน้านี้ได้ · ยังไม่รู้ว่าระบบทั้งหมดทำงานยังไง อ่าน ภาพรวมระบบ ก่อน
ก่อนแก้อะไร: log อยู่ที่ไหน
ข้อความ "ล้มเหลว" บน dashboard สั้นเกินกว่าจะบอกสาเหตุ อ่าน log ก่อนเสมอ
| log | อยู่ที่ | บอกอะไร |
|---|---|---|
| card log ล่าสุด ใน dashboard | tab ระบบ backtest | ข้อความที่ระบบพิมพ์ระหว่าง run ของงานที่ขยับล่าสุด |
| log เต็มของงานใน queue | bt\.queue\item-<เลข>.log |
ทุกบรรทัดของงานนั้น รวมข้อความ error |
| journal ของรอบที่ run จบ | .log ชื่อเดียวกับรายงาน ข้าง .htm เช่น default.log |
สิ่งที่ tester และ EA พิมพ์ระหว่าง test |
| ค่าที่ tester ใช้จริง | .ini ข้าง .htm เช่น default.ini |
Symbol · Period · วันที่ · ทุน · leverage ที่ run จริง (ไม่ใช่ที่ตั้งใจ) |
| log ของ tester ใน terminal | mt5\MT5_<ชื่อบัญชี>\Tester\logs\YYYYMMDD.log |
log ดิบของ MT5 ตามวันที่ |
ทำไมต้องเปิด .ini ก่อนเชื่อผล: ชื่อ file บอกแค่ว่าตั้งใจ run อะไร .ini บอกว่า run อะไรจริง · case จริง: รายงานชื่อ LVR2 ที่ข้างในเป็น LVR1 ทำให้สรุป +21.4% แทนที่จะเป็น +8.9%
1 · ติดตั้ง kit
| อาการ | สาเหตุ | แก้ |
|---|---|---|
SmartScreen เตือนตอนเปิด 1-ติดตั้ง.bat หรือ ea-bt.exe |
ea-bt.exe ยังไม่ได้เซ็นดิจิทัล |
กด More info → Run anyway |
bt\ea-bt.exe หายไปจาก folder หรือ Defender แจ้งว่ากัก file |
Defender กัก file ที่ยังไม่ได้เซ็น | PowerShell แบบ Run as administrator: Add-MpPreference -ExclusionPath "<folder kit>\bt\ea-bt.exe" แล้วแตก zip ใหม่ · ยกเว้นเฉพาะ file ไม่ใช่ทั้ง folder |
Defender กัก file ใต้ %LOCALAPPDATA%\ea-bt\ |
ครั้งแรกที่เปิด ea-bt.exe แตกตัวเองไปไว้ที่นั่น (ราว 90 MB) |
Add-MpPreference -ExclusionPath "$env:LOCALAPPDATA\ea-bt" |
หน้าต่างติดตั้งไม่จบที่ ready |
ส่วนใหญ่เพราะข้ามขั้นค้นชื่อ broker ใน MT5 ต้นแบบ | run 1-ติดตั้ง.bat ซ้ำ (ไม่ทำอะไรซ้ำซ้อน) · ตอน MT5 ต้นแบบเปิด: File → Open an Account → พิมพ์ชื่อ broker → รอชื่อขึ้น → Cancel → ปิด MT5 |
ระบบหา MT5 ใต้ C:\Program Files ไม่เจอ |
ติดตั้ง MT5 ไว้ที่อื่น | พิมพ์ folder ที่มี terminal64.exe เมื่อระบบถาม |
ไม่มี folder research\0-intake\inbox |
1-ติดตั้ง.bat ยังไม่ได้ run หรือ run ไม่จบ |
run 1-ติดตั้ง.bat · หมวด research folders สร้าง folder ที่ต้องใช้ให้ |
| dashboard ไม่ขึ้นใน browser | หน้าต่างดำของ 2-เปิดหน้าคุม.bat ถูกปิด หรือ browser ไม่เปิดเอง |
เปิด 2-เปิดหน้าคุม.bat ใหม่และเปิดค้างไว้ · พิมพ์ http://127.0.0.1:8770 เองใน browser |

หน้าต่างติดตั้งที่จบปกติ — ใช้เทียบกับของคุณ: ทุกบรรทัด [ok] และบรรทัดท้าย ready · next: ... · บรรทัดใต้ 2 · MT5 template คือข้อความที่บอกให้ค้นชื่อ broker ในต้นแบบ
2 · เพิ่มบัญชี demo
| อาการ | สาเหตุ | แก้ |
|---|---|---|
เตือนว่า servers.dat เล็ก |
MT5 ต้นแบบยังไม่รู้จัก server ของ broker นี้ | ในฟอร์มกด เปิด MT5 ต้นแบบ (หรือ bt\ea-bt.exe add_account --open-template) → File → Open an Account → พิมพ์ชื่อ broker → Cancel → ปิด MT5 → กด ตรวจแผน ใหม่ |
| ระบบปฏิเสธ MT5 ต้นแบบ | ต้นแบบมี accounts.dat = เคยถูก login · ต้นแบบที่เคย login จะพารหัสบัญชีติดไปทุกบัญชีที่ copy ออกไป |
ห้าม login ในต้นแบบ · ต้นแบบที่ถูก login ไปแล้ว ถามผู้สอนก่อนแก้หรือลบ folder ใด ๆ |
| กล่องแดง login ไม่ผ่าน | server สะกดไม่ตรง · เลขบัญชีหรือรหัสผิด | copy ชื่อ server จาก email ของ broker ตรงทุกตัวอักษร · ระบบลบ folder ที่เพิ่ง copy ให้เอง กดเพิ่มบัญชีใหม่ได้เลย |
| ชื่อซ้ำ / folder ปลายทางเป็นของ broker อื่น | ใช้ชื่อเรียกหรือเลขบัญชีที่มีใน config แล้ว | ตั้งชื่อเรียกใหม่ · กด ตรวจแผน จะบอกก่อนลงมือ |
| ตาราง MT5 ต่อ broker column "มี file" เป็น ✕ | path ของ terminal64.exe ผิด หรือ folder ถูกลบ |
แก้ path ในแถวนั้นแล้วกด บันทึก broker · run ไม่ได้จนกว่าจะเป็น ✓ |
| แก้ตาราง broker แล้วไม่มีผล | ยังไม่ได้กด บันทึก broker | กดปุ่มนั้น · ตารางเขียนลง config ที่เลือกอยู่ในช่อง file config เท่านั้น |
3 · tick และ History Quality
| อาการ | สาเหตุ | แก้ |
|---|---|---|
tick_depth ตอบ NO — only M1 bars |
broker นี้ไม่มี tick จริงในช่วงที่ถาม | ใช้ช่วงนั้นกับบัญชีนี้ไม่ได้ · ปิด broker นี้ใน config (enabled: false หรือเอา tick "ใช้" ออกแล้ว บันทึก broker) · ห้ามเลื่อน date_from เองให้พ้นช่วงที่ไม่มี — ใช้ช่วงจาก is_oos เท่านั้น |
tick_depth ไม่ทำงาน หรือตอบเดือนที่ใหม่เกินจริง |
MT5 ของบัญชีนั้นเปิดค้างอยู่ | ปิด MT5 ตัวนั้นแล้ว run ใหม่ |
connect ... through proxy failed หรือรอ login เกือบนาที |
ครั้งแรกที่ MT5 ต่อ server | รอให้จบ · ถ้า MT5 หยุดดึง tick_depth เปิด MT5 ใหม่แล้วดึงต่อเอง |
tick_years --own ไม่ขึ้นอะไรเลย |
ยังไม่ได้ดึง tick ลงเครื่อง | run bt\ea-bt.exe tick_depth --terminal mt5\MT5_<ชื่อบัญชี> --from <YYYY-MM> ก่อน |
เดือนแรกใน tick_years --own มี * ต่อท้าย |
file เดือนนั้นเล็กกว่า 60% ของเดือนอื่น อาจดึงไม่ครบเดือน | ถ้าเป็นเดือนที่ถามใน --from → run tick_depth --from ซ้ำ · ปี 2022–2023 file เล็กกว่าปีหลังโดยธรรมชาติ |
| ขอบล่างของ tick เปลี่ยนทุกครั้งที่ถาม | run tick_depth โดยไม่ใส่ --from บนบัญชีใหม่ — MT5 ยังดึงไม่จบ |
ใส่ --from <YYYY-MM> เสมอ · ห้ามเอาขอบล่างไปตั้ง date_from |
| รายงานมี History Quality ต่ำกว่า 90% | ช่วงนั้นไม่มี tick จริง MT5 สร้าง tick จาก bar M1 แทนเงียบ ๆ (ตั้ง model เป็น real ticks ก็ไม่ช่วย) | ทิ้งรายงานนั้นทั้งใบ ไม่อ่านตัวเลขอื่น · check tick ด้วย tick_depth --from แล้ว run ใหม่บน broker ที่ตอบ yes |
| Strategy Tester ขึ้น "Download history: xx%" เส้นทุนไม่ขยับ | ครั้งแรก MT5 ต้องโหลด tick ช่วงนั้นจาก broker ก่อน run | ไม่ได้ค้าง รอได้ · เวลาโหลดนับรวมใน run_timeout_sec · % ไม่ขยับนานหลายนาที = check network · ดึงไว้ก่อนด้วย tick_depth --from จะเร็วกว่า |

History Quality อยู่บรรทัดแรกของส่วน Results ในรายงาน .htm · ภาพนี้เป็นรายงานที่ใช้ได้ (99% real ticks) · ต่ำกว่า 90% = ทิ้งรายงาน
4 · intake (รับ EA เข้ากอง)
ตารางท้าย bt\ea-bt.exe intake --src research\0-intake\inbox --dry-run บอกว่าแต่ละ EA ตกชั้นไหน
| ชั้นที่เห็น | แปลว่า | ทำอะไร |
|---|---|---|
MT4 |
มีแต่ .mq4 / .ex4 run ใน MT5 tester ไม่ได้ |
หา version MT5 จากผู้ขาย |
not an EA |
เป็น indicator หรือ script | ไม่ใช่ของที่ backtest ได้ |
duplicate |
sha256 ตรงกับ file ที่รับไปแล้ว | ใช้ตัวที่รับไปแล้ว |
rejected before |
sha256 อยู่ใน research\0-intake\_rejected.json |
เคยตัดทิ้งไปแล้ว |
in repo / in repo (partly) |
มีใน kit แล้ว (ทั้งหมดหรือบางส่วน) | ใช้ตัวที่มีอยู่แล้ว |
Pine |
TradingView — cannot backtest in MT5 |
backtest ใน kit ไม่ได้ |
no program |
ไม่มี file program ที่รู้จัก | ตรวจว่าใน folder มี .ex5 หรือ .mq5 จริง |
cannot unpack |
แตก zip/rar ไม่ได้ (7-Zip failed or missing) |
ติดตั้ง 7-Zip ที่ C:\Program Files\7-Zip\ หรือแตก file เองแล้ววาง folder ลง inbox |
| EA ไม่โผล่ในตารางเลย | --src ชี้ไป folder ของ EA แทน folder แม่ |
--src ต้องเป็น research\0-intake\inbox |
5 · config และ dry-run
| อาการ | สาเหตุ | แก้ |
|---|---|---|
dry-run ขึ้น ⚠ .ex5 not found · EA มาเป็น .mq5 |
ยังไม่ได้ compile | ปกติ — run compile ให้ก่อน backtest · หรือ bt\ea-bt.exe compile --config bt\config_<ชื่อ>.yaml |
dry-run ขึ้น ⚠ .ex5 not found · EA มาเป็น .ex5 |
ea_dir ไม่ตรง หรือชื่อ .set ไม่ตรงชื่อ .ex5 |
ea_dir ของ EA จาก intake = research/1-screen/eas · ของที่เขียนเอง = eas · ระบบหา <ชื่อ>_v<version>.ex5 จากชื่อ .set |
dry-run ได้ 0 total ในบรรทัด jobs หรือ nothing to run |
only_presets ไม่ตรงชื่อ .set · ไม่มี broker ที่เปิดใช้ · set_dir ผิด |
ตรวจ only_presets (รูป 'V0.01/default') · set_dir · brokers |
งานขึ้น -> skip (exists) |
มีรายงานแล้ว และ .ini เดิมตรงกับ config ครบ 11 key (Symbol · Period · Model · ExecutionMode · FromDate · ToDate · Deposit · Currency · Leverage · ExpertParameters · Visual) |
ตั้งใจ — ไม่ต้อง run ซ้ำ · ถ้าต้องการ run ซ้ำจริง: ปุ่ม run ทับของเดิม / + เข้า queue (run ทับของเดิม) หรือ --no-skip |
version ใน folder ผลเป็น unversioned |
ชื่อ .set ไม่ตรงรูป {EA}_v{version}_{preset} |
ตั้งชื่อ .set ใหม่ตามรูป แล้ว dry-run ดูบรรทัด EA |
| dashboard เตือนสีส้มที่ช่อง version | มี version ที่ไม่ได้ tick เลือก | tick version ที่ต้องการ · bump version ใหม่แล้วลืม tick = กด run แล้วไม่มีอะไรเกิด |
| dashboard ขึ้น ⚠ แดง "ไม่พบ .ex5" | EA ยังไม่ได้ compile | ปุ่ม compile ที่ค้าง ใน card สั่ง run |
MetaEditor not found — cannot compile; compile by hand first |
ระบบหา MetaEditor ใน folder ของ terminal ไม่เจอ | compile เองด้วย MetaEditor ของ MT5 (ต้องเปิดด้วย /portable ไม่งั้นขึ้น error 106 หา Trade.mqh ไม่เจอ) แล้ววาง .ex5 ข้าง .mq5 |
| tester run EA อื่นแทนโดยไม่มี error | ชื่อ .ex5 ต่างกันแค่ตัวพิมพ์เล็กใหญ่ (เช่น V0.06 กับ v0.06) |
เทียบชื่อทีละตัวอักษรกับบรรทัด EA= ใน dry-run |
EA ทำงานเหมือนไม่ได้ตั้งค่า true/false ใน .set |
.set มีท้ายบรรทัดเป็น \r\r\n · MT5 อ่านตัวเลขผ่าน แต่ค่า true/false ตกกลับไปใช้ค่าเริ่มต้นเงียบ ๆ |
สงสัย .set ก่อนสงสัยกลยุทธ์ · เทียบบล็อก Inputs ใน tester log กับค่าใน .set ว่าตรงกันไหม |
| ลบ key ออกจาก config แล้วผลเปลี่ยน | key ที่ไม่ได้ตั้ง ระบบใช้ค่าเริ่มต้นของ code (deposit 1000 · leverage 2000 · timeout 36000) | ตั้งทุก key เองตาม คู่มือ config แล้วอ่าน dry-run |
| EA เปิด trade ไม่กี่ตัวแล้วเงียบทั้งรอบ | ทุนต่ำจน lot ที่คิดจาก risk% ปัดลงเหลือ 0 หลังขาดทุน (deposit 1,000 กับ LAB_MACROSS: 3 trade แล้วเงียบ 4 เดือน) | ใช้ deposit: 10000 ตาม config ของ kit · บัญชี cent ใช้ currency: USC และ deposit เป็นเซนต์ |
6 · queue และการ run
| อาการ | สาเหตุ | แก้ |
|---|---|---|
| แก้ config แล้วงานใน queue ยัง run ค่าเดิม | ตอนกด + เพิ่มงานนี้เข้า queue ระบบ copy config ทั้งก้อนเก็บไว้กับงาน แก้ file ทีหลังไม่ถึงงานที่รออยู่ | ลบงานนั้น (✕) แล้วเพิ่มเข้า queue ใหม่ · เก็บ config เป็น file เสมอ อย่าใช้ queue เป็นที่เก็บ |
| กด + เพิ่มงานนี้เข้า queue แล้วไม่มีอะไร run | ยังไม่ได้กด เริ่ม queue | กด เริ่ม queue เอง — ระบบไม่เริ่มให้ |
| แก้ค่าในหน้าเว็บแล้วค่าเดิมใน file หาย | dashboard แก้ file config ที่เลือกอยู่ตรง ๆ ไม่ได้สร้างสำเนา | copy file config ก่อนแก้ถ้าอยากเก็บค่าเดิม |
dry-run ขึ้น ⚠ a broker terminal for this run is open |
MT5 ของบัญชีนั้นเปิดค้าง test จะไป run ข้างในตัวนั้นและไม่ถูกปิด run หลายรอบแล้วซ้อนกันจนเครื่องค้าง | ปิด MT5 ตัวนั้นก่อนเข้า queue |
terminal stayed open longer than ...s — not sending to the running instance |
MT5 ของบัญชีนั้นเปิดค้างนานเกิน run_timeout_sec ระบบจึงไม่ส่งงานเข้าไป |
ปิด MT5 ของบัญชีนั้น หรือรองานที่ run อยู่ให้จบ แล้วกด run ซ้ำที่ล้มเหลว |
no report produced — check the EA name (...) and symbol (...), and that history finished loading |
tester ไม่ได้เขียนรายงาน · สาเหตุที่เจอจริง: ชื่อ EA ผิด · ชื่อสัญลักษณ์ทองไม่ตรงกับ broker · tick ยังโหลดไม่จบ · MT5 เปิดค้าง · ตัว run เลิกรอก่อน MT5 boot เสร็จ | อ่าน bt\.queue\item-<เลข>.log และ tester log ก่อนเชื่อว่า test ล้ม · ตรวจบรรทัด EA= ใน dry-run และ column สัญลักษณ์ในตาราง broker |
| งานแรกไม่เริ่ม test ไม่มี error | MT5 LiveUpdate ใช้งานแรกไป update ตัวเอง | ระบบยิงซ้ำบน build ใหม่ให้เอง · ดู log ยืนยัน |
slower than ...s = failed (killed ... processes) |
run นานเกิน run_timeout_sec (ใน kit = 7200 วินาที รวมเวลาโหลด tick) ระบบฆ่า MT5 |
ดึง tick ไว้ก่อนด้วย tick_depth --from · EA ที่ช้าจริง → เพิ่ม run_timeout_sec ใน config ก่อนเพิ่มงานเข้า queue |
the report found is not from this run |
มีอีกงานเขียนรายงานทับบน terminal เดียวกัน | ห้าม run สองงานพร้อมกันบน terminal ตัวเดียว · รอให้งานแรกจบ |
EA file not found: ... (was the .mq5 compiled to .ex5?) |
ไม่มี .ex5 ที่ path ที่ระบบคาด |
ดูแถว .ex5 not found ในหมวด 5 |
| กด Stop ใน tester แล้ว queue ค้างไม่ไปงานถัดไป | กดแค่ Stop terminal ยังเปิดอยู่ ระบบยังรอรายงานจนครบ run_timeout_sec |
ปิด MT5 ตัวนั้นด้วย แล้วงานถัดไปขึ้นทันที |
| queue ช้าผิดปกติ ได้ผลน้อยกว่าที่ควร | terminal ที่ใช้ backtest เปิดค้างอยู่ งานต้องรอ | ปิด terminal ทุกตัวที่อยู่ในตาราง broker ก่อนกด เริ่ม queue |
| run ได้ทีละงานแม้มีหลาย broker | งานหนึ่งใช้ราว 3.8 GB · ระบบกันไว้ให้เครื่อง 8 GB | ดู "MT5 ที่ run จริง n/m" ใน card queue งาน · m คิดจาก CPU และ RAM |
| อยาก run ใหม่เฉพาะงานที่ล้ม | — | ปุ่ม run ซ้ำที่ล้มเหลว หรือ bt\ea-bt.exe run --config <config> --retry-failed |
0 jobs match the failed list — the .set or broker may have changed |
.set หรือ broker เปลี่ยนตั้งแต่รอบที่ล้ม |
เพิ่มงานเข้า queue ใหม่ตามปกติ |
7 · อ่านผล
| อาการ | สาเหตุ | แก้ |
|---|---|---|
mc หรือ verdict ขึ้น FAIL G4 / FAIL G2 / PASS |
ป้ายของ gate ชุดเก่า ไม่ใช่เกณฑ์ S1–S6 | ตัดสินด้วย S1–S6 ตาม S7 · ใช้ตัวเลขจาก mc / verdict ประกอบ |
verdict ไม่ขึ้นผล |
ใส่ folder version แทน folder บัญชี | ใส่ folder ที่มี .htm ข้างใน: <backtest_root>\<EA>\<version>\<ชื่อบัญชี> |
DD ในรายงานกับที่ mc บอกไม่ตรงกัน |
รายงานมีสองแถว Maximal กับ Relative · บน equity curve แบบทบต้น Maximal ต่ำกว่าความจริงเสมอ · ลำดับ trade จริงเป็นแค่เส้นทางเดียว | ใช้แถว Equity Drawdown Relative · ตั้ง risk จาก DD p95 ของ shuffle ใน mc (S5) |
| บัญชี cent ได้ตัวเลขเงินใหญ่ผิดปกติ | ยอดเป็นเซนต์ | หาร 100 ก่อนคิดทุกอย่าง |
ea_status --check ขึ้น [error] |
research\status.yaml มีค่าที่ไม่ตรงกติกา (เช่น stage 6 ขึ้นไปไม่มี r_table) |
อ่านบรรทัด error แล้วแก้ตามกติกาในหัว status.yaml |
ยังไม่หาย
- จดอาการ: ขั้นไหน · คำสั่งหรือปุ่มที่กด · ข้อความที่เห็นทั้งบรรทัด
- แนบ
bt\.queue\item-<เลข>.logและ.iniข้างรายงาน (ถ้ามี) - ห้ามส่งรหัสผ่านบัญชีหรือ
accounts.datให้ใคร