หน้าหลัก > บล็อก > การออกแบบล็อก EA เพื่อย้อนดูเหตุการณ์ผิดปกติ

การใช้งาน EAดีบัก

การออกแบบล็อก EA เพื่อย้อนดูเหตุการณ์ผิดปกติ

เผยแพร่: 2026-11-12เวลาอ่าน: ประมาณ 1 นาที
⏱ บทความนี้สะท้อนข้อมูล ณ วันที่เผยแพร่ ตัวเลขผลงาน EA (PF, DD, ผลตอบแทนต่อปี) เปลี่ยนแปลงตามการเทรดจริงและการตรวจสอบซ้ำ — ตรวจสอบล่าสุดได้ที่หน้า EA ดูผลงานล่าสุดของ EA →
สารบัญ (6)
  1. สรุป: EA ที่ไม่มีล็อก ตรวจสอบย้อนหลังไม่ได้เมื่อเกิดเหตุผิดปกติ
  2. ทำไมต้องมีล็อก 3 ประเภท
  3. ค่าที่ใช้ตัดสินใจ: ถ้าไม่เก็บตัวเลข ก็แยก "บังเอิญ" ออกจากกันไม่ได้
  4. เหตุผลที่ข้าม: ถูกละไว้บ่อยที่สุด แต่สำคัญที่สุด
  5. การจับคู่คำสั่ง: บันทึกสิ่งที่เกิดขึ้นนอก EA
  6. แต่ละบรรทัดควรมีอะไร: ตัวอย่างรูปแบบการเขียน
  7. ขั้นตอนตรวจสอบสำหรับผู้ใช้งาน
  8. ข้อจำกัดและข้อควรระวัง
  9. สรุป

สรุป: EA ที่ไม่มีล็อก ตรวจสอบย้อนหลังไม่ได้เมื่อเกิดเหตุผิดปกติ

ขอสรุปไว้ก่อนเลย ล็อกของ EA อย่างน้อยควรบันทึก "ค่าที่ใช้ตัดสินใจ" "เหตุผลที่ไม่เข้าเทรด" และ "ผลการจับคู่คำสั่ง" อย่างละ 1 บรรทัด หากมีครบทั้ง 3 อย่างนี้ ก็จะย้อนดูได้ทั้งการเทรดที่ไม่คาดคิดและกรณีที่ "ไม่มีอะไรเกิดขึ้นเลย" แต่ถ้าไม่มี ไม่ว่าจะขาดทุน หรือไม่มีเทรดเลยสักไม้ ก็แยกไม่ออกว่าสาเหตุมาจากตรรกะของ EA สภาพตลาด หรือฝั่งโบรกเกอร์

ทีมของเราเองก็พัฒนา EA และเคยทั้งได้ล็อกช่วยไว้ และเคยเจอกรณีที่ล็อกไม่พอจนหาสาเหตุไม่ได้ บทความนี้จะสรุปว่า "ล็อกที่ดี" เป็นอย่างไรเมื่อมองจากฝั่งผู้ใช้งาน

เปรียบเทียบโบรกเกอร์แนะนำ →

🎁 ดาวน์โหลด EA ฟรี

📧 คอร์สอีเมลฟรี (8 ฉบับ) + แพ็กอินดิเคเตอร์ MT5 13 ตัว เฉพาะสมาชิก

* ปกป้องความเป็นส่วนตัวอย่างเคร่งครัด คุณสามารถยกเลิกการสมัครได้ตลอดเวลา

ทำไมต้องมีล็อก 3 ประเภท

การตัดสินใจของ EA หนึ่งรอบ โดยคร่าว ๆ คือ "คำนวณค่า → ตรวจเงื่อนไข → ส่งคำสั่ง → จับคู่คำสั่ง" หากจะระบุย้อนหลังว่าขั้นตอนไหนไม่เป็นไปตามที่คาด ก็ต้องมีบันทึกของแต่ละขั้นตอน

ประเภทล็อกตัวอย่างข้อมูลที่บันทึกคำถามที่ตอบได้
ค่าที่ใช้ตัดสินใจเวลาของแท่งที่ปิดแล้ว ค่าอินดิเคเตอร์ ค่าเกณฑ์ สเปรด"ทำไมถึงเข้าตรงนั้น"
เหตุผลที่ข้ามข้ามเพราะเงื่อนไขใด (นอกช่วงเวลา สเปรดเกิน มีโพสิชันอยู่แล้ว ฯลฯ)"ทำไมถึงไม่เข้า"
การจับคู่คำสั่งราคาที่ร้องขอ ราคาที่จับคู่ได้ สลิปเพจ รหัสผลลัพธ์ (return code) หมายเลขตั๋ว"ถูกส่งคำสั่งตรงตามที่ตั้งใจหรือไม่"

ค่าที่ใช้ตัดสินใจ: ถ้าไม่เก็บตัวเลข ก็แยก "บังเอิญ" ออกจากกันไม่ได้

ล็อกที่เขียนแค่ "เกิดสัญญาณซื้อ" แทบไม่ช่วยอะไร เพราะถ้าไม่รู้ว่าค่าอินดิเคเตอร์ ณ ตอนนั้นห่างจากค่าเกณฑ์เท่าไร ก็บอกไม่ได้ว่าเข้าเงื่อนไขแบบเฉียดฉิว หรือเข้าเงื่อนไขอย่างชัดเจน นอกจากนี้ต้องบันทึกด้วยเสมอว่าตัดสินใจจากแท่งไหน (เวลาของแท่งที่ปิดแล้ว)

เหตุผลที่ข้าม: ถูกละไว้บ่อยที่สุด แต่สำคัญที่สุด

EA ส่วนใหญ่เขียนล็อกเฉพาะตอน "เข้าเทรด" แต่คำถามที่พบบ่อยที่สุดระหว่างใช้งานคือ "ทำไมไม่เข้าเทรดเลย" หากมีเหตุผลที่ข้ามอยู่ในล็อก ก็ตรวจได้ว่าเป็นการข้ามตามสเปกจริง หรือเกิดจากการตั้งค่าผิดพลาดหรือเวลาเซิร์ฟเวอร์เหลื่อมกัน

MEGAMAX DONCHIAN ของเรา ในฟอร์เวิร์ดเทสต์บนบัญชีเดโมของ Exness ณ วันที่ 11 พฤศจิกายน 2026 มีจำนวนเทรดเป็น 0 ไม้ ส่วนเหตุผลที่ข้ามนั้น ทีมของเราเองก็ยังตรวจสอบไม่ได้ จึงจะไม่เขียนคาดเดาไว้ ณ ที่นี้ แต่ในสถานการณ์แบบนี้ การมีหรือไม่มีล็อกเหตุผลที่ข้าม ทำให้แรงที่ต้องใช้ตรวจสอบต่างกันมาก การที่เทรดเป็น 0 ไม่ได้หมายความว่าผลงานแย่ แต่ก่อนจะอ่านล็อก ก็ยังยืนยันไม่ได้ว่าเป็น "การข้ามที่ปกติ"

การจับคู่คำสั่ง: บันทึกสิ่งที่เกิดขึ้นนอก EA

คำสั่งถูกปฏิเสธ หรือจับคู่ได้แต่สลิปเพจสูง เป็นปัญหาคนละเรื่องกับตรรกะของ EA หากเก็บรหัสผลลัพธ์และราคาที่จับคู่ได้ไว้ ก็แยกพิจารณาได้ว่าเป็นปัญหาของ EA หรือปัญหาของโบรกเกอร์และเครือข่าย

แต่ละบรรทัดควรมีอะไร: ตัวอย่างรูปแบบการเขียน

เราสรุปการตัดสินใจ 1 รอบไว้ใน 1 บรรทัด โดยใช้รูปแบบคงที่เพื่อให้ค้นหาย้อนหลังได้ง่าย

[EVAL] bar=2026.11.10 14:00 sig=BUY val=1.234 th=1.200 spread=18 -> ENTRY
[SKIP] bar=2026.11.10 15:00 reason=SPREAD spread=45 max=30
[FILL] ticket=123456 req=152.340 fill=152.346 slip=6 ret=10009

ประเด็นที่ควรทำมีดังนี้

  • ใส่แท็กบอกประเภท (EVAL / SKIP / FILL) ไว้ต้นบรรทัด เพื่อให้ค้นด้วย grep หรือการค้นหาได้
  • เวลาของแท่งให้เขียนเป็นเวลาของ "แท่งที่ปิดแล้วที่ใช้ตัดสินใจ" (ถือว่าเป็นเวลาเซิร์ฟเวอร์)
  • เหตุผลให้เขียนเป็นรหัสที่กำหนดไว้ ไม่ใช่ประโยค (SPREAD, TIME, POSITION เป็นต้น)
  • ไม่ต้องเขียนทุกทิก ให้เขียนเฉพาะจังหวะที่ตัดสินใจ

หากเขียนล็อกทุกทิก ไฟล์ล็อกจะใหญ่ขึ้นอย่างรวดเร็ว กินพื้นที่ดิสก์ และทำให้บรรทัดสำคัญจมหาย หลักการพื้นฐานคือ "เขียน 1 ครั้งเมื่อแท่งปิด"

ขั้นตอนตรวจสอบสำหรับผู้ใช้งาน

ผู้ที่ใช้ EA สามารถไล่ตรวจตามลำดับนี้เพื่อหาสาเหตุได้เร็วขึ้น

  1. ที่แท็บ "ผู้เชี่ยวชาญ" (Experts) ของ MT5 ตรวจว่า EA เขียนล็อกของตัวเองออกมาหรือไม่
  2. หาบรรทัด EVAL ณ เวลาที่เกิดเทรดที่ไม่คาดคิด แล้วดูค่าที่ใช้ตัดสินใจและค่าเกณฑ์
  3. ในช่วงที่ไม่มีการเข้าเทรด ให้ดูบรรทัด SKIP แล้วนับว่าเหตุผลใดพบมากที่สุด
  4. ที่บรรทัด FILL ตรวจความต่างระหว่างราคาที่ร้องขอกับราคาที่จับคู่ได้ และรหัสผลลัพธ์
  5. เทียบเวลากับแท็บ "ประวัติการดำเนินการ" (บันทึกฝั่งโบรกเกอร์)

สำหรับการทบทวนการตั้งค่า ดูได้ที่ วิธีตั้งค่า EA และสำหรับการสร้างสภาพแวดล้อมที่ทำงานตลอดเวลา ดูข้อมูลได้ที่ ข้อมูล VPS

ข้อจำกัดและข้อควรระวัง

ล็อกไม่ใช่ทุกอย่าง ขอพูดตามตรงดังนี้

  • สิ่งที่ไม่ได้เขียนไว้ในล็อก ก็ไม่มีทางรู้ เหตุการณ์ที่ผู้พัฒนาไม่ได้คาดการณ์ไว้ จะไม่ถูกบันทึกตั้งแต่แรก
  • ล็อกไม่ได้ถูกต้องเสมอไป หากโค้ดที่เขียนล็อกมีบั๊ก ก็จะบันทึกค่าที่ผิดลงไป
  • ล็อกบอกไม่ได้ว่าการตัดสินใจเกี่ยวกับตลาดดีหรือไม่ สิ่งที่ล็อกบอกได้คือ "ทำงานตามสเปกหรือไม่" ไม่ใช่ว่าสเปกนั้นทำกำไรได้หรือเปล่า
  • เขียนมากเกินไปก็เป็นต้นเหตุของปัญหา ล็อกจำนวนมากกินพื้นที่ และคนอ่านก็พลาดสิ่งสำคัญได้ง่ายขึ้น
  • ความหมายของล็อกต่างกันระหว่างแบ็กเทสต์ บัญชีเดโม และบัญชีจริง ในเทสเตอร์ สลิปเพจและการปฏิเสธคำสั่งไม่ได้ถูกจำลองเหมือนของจริง ดังนั้นเมื่อเปรียบเทียบล็อกการจับคู่คำสั่ง ต้องคำนึงถึงความต่างของสภาพแวดล้อมด้วย

สรุป

  • ล็อกควรมี 3 ประเภท คือ "ค่าที่ใช้ตัดสินใจ" "เหตุผลที่ข้าม" และ "การจับคู่คำสั่ง" อย่างละ 1 บรรทัด
  • ที่ถูกละไว้บ่อยที่สุดคือล็อกเหตุผลที่ข้าม ซึ่งเป็นประโยชน์ที่สุดเวลาหาสาเหตุที่ "EA ไม่ทำงาน"
  • หากกำหนดแท็กและรหัสเหตุผลไว้ล่วงหน้า ก็ค้นหาและนับย้อนหลังได้
  • ให้เขียนล็อก 1 ครั้งต่อแท่งที่ปิด ไม่เขียนทุกทิก
  • ล็อกบอกได้แค่ว่า "ทำงานตามสเปกหรือไม่" ส่วนเรื่องทำกำไรได้หรือไม่ ต้องอาศัยการทดสอบอย่างอื่น

ความรู้ด้านการใช้งาน MT5 เรื่องอื่น ๆ รวบรวมไว้ที่ ความรู้ EA และ MT5

📧 คอร์สอีเมลฟรี (8 ฉบับ) + แพ็กอินดิเคเตอร์ MT5 13 ตัว เฉพาะสมาชิก

* ปกป้องความเป็นส่วนตัวอย่างเคร่งครัด คุณสามารถยกเลิกการสมัครได้ตลอดเวลา

มีคำถามเกี่ยวกับ EA หรือ Forex ไหม?

คุณสามารถตั้งคำถามได้ที่ฟอรัมเทรดของ Nattzy (สมัครฟรี) ไม่จำเป็นต้องเกี่ยวกับบทความนี้ก็ได้ เช่น การตั้งค่า EA หรือการเลือกโบรกเกอร์

ถามที่ Nattzy ↗

ความคิดเห็นและคำถาม