ข้ามไปที่เนื้อหา

แก้ปัญหาที่พบบ่อย

หน้านี้ใช้เมื่อขั้นไหนไม่ได้ผลตามที่คู่มือบอก — หาอาการที่ตรงกับที่เห็นบนจอ แล้วทำตาม 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 ในรายงาน

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

ยังไม่หาย

  1. จดอาการ: ขั้นไหน · คำสั่งหรือปุ่มที่กด · ข้อความที่เห็นทั้งบรรทัด
  2. แนบ bt\.queue\item-<เลข>.log และ .ini ข้างรายงาน (ถ้ามี)
  3. ห้ามส่งรหัสผ่านบัญชีหรือ accounts.dat ให้ใคร

ดูต่อ