หน้าหลัก > บล็อก > อย่าถูกแคชค่า Input ของ MT5 Tester หลอก

Strategy Testerแบ็กเทสต์ขั้นตอนการทดสอบ

อย่าถูกแคชค่า Input ของ MT5 Tester หลอก

เผยแพร่: 2026-10-18เวลาอ่าน: ประมาณ 1 นาที
⏱ บทความนี้สะท้อนข้อมูล ณ วันที่เผยแพร่ ตัวเลขผลงาน EA (PF, DD, ผลตอบแทนต่อปี) เปลี่ยนแปลงตามการเทรดจริงและการตรวจสอบซ้ำ — ตรวจสอบล่าสุดได้ที่หน้า EA ดูผลงานล่าสุดของ EA →

สรุป: ให้ถือว่าค่า Input ของ Tester คือ "ค่าครั้งก่อน" ที่ยังค้างอยู่

Strategy Tester ของ MT5 จำค่า Input ครั้งก่อนไว้แยกตาม EA แต่ละตัว เป็นฟีเจอร์ที่สะดวก แต่หลังอัปเดต EA หรือหลังทดสอบอย่างอื่นเสร็จใหม่ ๆ อาจเกิดกรณีที่ การตั้งค่าที่เราคิดว่าทดสอบอยู่ กับการตั้งค่าที่รันจริง ไม่ตรงกัน

วิธีรับมือของเราเรียบง่าย คือ ไม่เชื่อค่าที่แสดงบนหน้าจอ Tester เขียนทุกพารามิเตอร์ลงในส่วน [TesterInputs] ของไฟล์ตั้งค่า แล้วตรวจสอบกับค่า Input ที่บันทึกอยู่ในรายงาน บทความนี้จะอธิบายเหตุผลและขั้นตอน

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

ทันทีที่ลงทะเบียน คุณจะได้รับลิงก์ดาวน์โหลดแพ็กเฉพาะสมาชิกที่รวมอินดิเคเตอร์ MT5 ทั้ง 13 ตัวของเรา: ไฟล์ที่คอมไพล์แล้ว (.ex5) ซอร์สโค้ด และคู่มือการติดตั้ง จากนั้นจะได้รับอีเมล 8 ฉบับเกี่ยวกับพื้นฐานการเทรดอัตโนมัติ การอ่านผลแบ็กเทสต์อย่างถูกต้อง และการเลือกโบรกเกอร์ (วันละฉบับใน 5 วันแรก แล้วในวันที่ 7, 14 และ 30 หลังลงทะเบียน) และยังได้รับแจ้งก่อนการขึ้นราคาแต่ละครั้งของเวอร์ชันที่ขายใน MQL5 Market (ราคาเปิดตัวที่ปรับขึ้นเป็นขั้นตามยอดขาย) EA ในเว็บไซต์นี้ใช้ฟรีเมื่อมีบัญชีจริงกับโบรกเกอร์พันธมิตร

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

ทำไมจึงทดสอบการตั้งค่าอื่นโดยไม่รู้ตัว

Tester บันทึกค่า Input แล้วนำกลับมาใช้ซ้ำ

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

  • ปรับปรุง EA และเปลี่ยนค่าเริ่มต้น แต่ใน Tester ยังเหลือค่าเก่าอยู่
  • หลังทดสอบค่าสุดโต่งในการ Optimize แล้วรันแบ็กเทสต์ปกติต่อด้วยค่านั้นเลย
  • ล็อตหรือฟิลเตอร์ที่ปรับสำหรับคู่เงินอื่น ถูกยกมาใช้ในการทดสอบรอบถัดไป

ทุกกรณีควรสังเกตเห็นได้ถ้าดูหน้าจออย่างละเอียด แต่ถ้า EA มี Input หลายสิบรายการ ต่อให้ผิดแค่ตัวเดียวก็พลาดได้ง่าย

ผลลัพธ์ที่ "ดูสมเหตุสมผล" คือสิ่งที่น่ากลัว

แม้การตั้งค่าจะผิด Tester ก็ไม่แจ้งข้อผิดพลาด ถ้าผลลัพธ์ผิดเพี้ยนชัดเจนก็ยังสังเกตได้ แต่ที่น่าห่วงคือกรณีที่ ตัวเลขออกมาดูสมเหตุสมผล

ตัวอย่างเช่น EA แนว Donchian สองตัวที่ทำงานบน USDJPY H1 เหมือนกัน (ทั้งสองเป็นค่าที่วัดได้จากแบ็กเทสต์ MT5 จริง)

EAPFจำนวนเทรดDD ที่มีผล
DONCHIAN ENGINE1.563110.8%
MEGAMAX DONCHIAN1.5562958.6%

PF และจำนวนเทรดแทบไม่ต่างกัน แต่ DD ที่มีผลต่างกันมาก ความแตกต่างด้านการออกแบบของทั้งสองตัวเขียนไว้ในหน้าของแต่ละ EA แล้ว ประเด็นที่อยากชี้ตรงนี้คือ ถ้าดูแค่ PF กับจำนวนเทรด จะแยกไม่ออกว่ารันด้วยการตั้งค่าไหน แค่ Input คลาดเคลื่อนเพียงตัวเดียว การประเมินความเสี่ยงก็อาจผิดไปทั้งหมดได้

ขั้นตอนตรวจสอบของเรา

1. เขียนทุกพารามิเตอร์ลงใน [TesterInputs] ของไฟล์ตั้งค่า

MT5 สามารถเปิด Tester โดยส่งไฟล์ตั้งค่า (ini) เข้าไปได้ ในส่วน [TesterInputs] ให้เขียน Input ทุกตัว ไม่ใช่เฉพาะตัวที่ต้องการเปลี่ยน

[Tester]
Expert=MyEA
Symbol=USDJPY
Period=H1
Model=4

[TesterInputs]
InpLots=0.10||0.10||0.01||1.00||N
InpPeriod=20||10||5||50||N

รูปแบบคือ "ค่า||เริ่มต้น||ขั้น||สิ้นสุด||Optimize หรือไม่ (Y/N)" สำหรับแบ็กเทสต์ปกติให้ลงท้ายด้วย N

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

2. เทียบค่า Input ในรายงาน

รายงานของ Tester จะเก็บค่า Input ที่ใช้จริงไว้ เมื่อทดสอบเสร็จให้เทียบค่าในไฟล์ ini กับในรายงาน การแปลงเป็นข้อความแล้วเปรียบเทียบความต่างแน่นอนกว่าการใช้สายตาเทียบ

3. อัปเดต EA แล้วให้ถือเป็น "EA ตัวใหม่"

EA ที่ปรับค่าเริ่มต้น ให้ใส่เวอร์ชันในชื่อไฟล์แล้วบันทึกเป็นชื่อใหม่ เพื่อตัดเส้นทางที่ค่าเก่าที่บันทึกไว้จะถูกโหลดอัตโนมัติตั้งแต่ต้น

เช็กลิสต์

  • เขียน Input ทุกรายการลงใน [TesterInputs] แล้ว
  • หลัง Optimize ทุกรายการลงท้ายด้วย N กลับมาเหมือนเดิมแล้ว
  • ค่า Input ในรายงานตรงกับไฟล์ ini
  • เปลี่ยนชื่อไฟล์หลังปรับปรุง EA แล้ว
  • ระบุสัญลักษณ์ ไทม์เฟรม และโมเดลการจำลองใน [Tester] อย่างชัดเจนแล้ว

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

วิธีนี้ก็ไม่ได้ป้องกันความผิดพลาดได้ทุกอย่าง

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

วิธีตั้งค่า EA ที่แจกจ่ายอยู่รวมไว้ที่วิธีตั้งค่า EA และเทคนิคการทดสอบอื่น ๆ รวมไว้ที่คลังความรู้

สรุป

  • Tester ของ MT5 จำค่า Input ครั้งก่อนและสืบทอดมาโดยไม่รู้ตัว
  • แม้การตั้งค่าคลาดเคลื่อนก็ไม่มีข้อผิดพลาดแจ้ง และได้ตัวเลขที่ดูสมเหตุสมผล จึงสังเกตยาก
  • วิธีรับมือคือเขียนทุกพารามิเตอร์ลงใน [TesterInputs] และเทียบกับค่า Input ในรายงาน
  • เมื่อปรับปรุง EA ให้บันทึกเป็นชื่อใหม่ เพื่อไม่ให้ค่าเก่าที่บันทึกไว้ถูกโหลดมาใช้
  • แม้ทำแล้ว ความต่างของค่าคงที่ภายในและเงื่อนไขข้อมูลก็ยังป้องกันไม่ได้ การจัดการ Input จึงเป็นเพียงส่วนหนึ่งของการทดสอบ

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

ทันทีที่ลงทะเบียน คุณจะได้รับลิงก์ดาวน์โหลดแพ็กเฉพาะสมาชิกที่รวมอินดิเคเตอร์ MT5 ทั้ง 13 ตัวของเรา: ไฟล์ที่คอมไพล์แล้ว (.ex5) ซอร์สโค้ด และคู่มือการติดตั้ง จากนั้นจะได้รับอีเมล 8 ฉบับเกี่ยวกับพื้นฐานการเทรดอัตโนมัติ การอ่านผลแบ็กเทสต์อย่างถูกต้อง และการเลือกโบรกเกอร์ (วันละฉบับใน 5 วันแรก แล้วในวันที่ 7, 14 และ 30 หลังลงทะเบียน) และยังได้รับแจ้งก่อนการขึ้นราคาแต่ละครั้งของเวอร์ชันที่ขายใน MQL5 Market (ราคาเปิดตัวที่ปรับขึ้นเป็นขั้นตามยอดขาย) EA ในเว็บไซต์นี้ใช้ฟรีเมื่อมีบัญชีจริงกับโบรกเกอร์พันธมิตร

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

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

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

ถามที่ Nattzy ↗

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