อย่าถูกแคชค่า Input ของ MT5 Tester หลอก
สารบัญ
- สรุป: ให้ถือว่าค่า Input ของ Tester คือ "ค่าครั้งก่อน" ที่ยังค้างอยู่
- ทำไมจึงทดสอบการตั้งค่าอื่นโดยไม่รู้ตัว
- Tester บันทึกค่า Input แล้วนำกลับมาใช้ซ้ำ
- ผลลัพธ์ที่ "ดูสมเหตุสมผล" คือสิ่งที่น่ากลัว
- ขั้นตอนตรวจสอบของเรา
- 1. เขียนทุกพารามิเตอร์ลงใน [TesterInputs] ของไฟล์ตั้งค่า
- 2. เทียบค่า Input ในรายงาน
- 3. อัปเดต 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 จริง)
| EA | PF | จำนวนเทรด | DD ที่มีผล |
|---|---|---|---|
| DONCHIAN ENGINE | 1.5 | 631 | 10.8% |
| MEGAMAX DONCHIAN | 1.55 | 629 | 58.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 จึงเป็นเพียงส่วนหนึ่งของการทดสอบ
บทความที่เกี่ยวข้อง
2026-10-13
แค่แบ่ง IS/OOS ไม่พอ | ออกแบบหน้าต่าง Walk-Forward
2026-10-12
แยกผล EA รายปี: จับพิรุธ EA ที่พึ่งปีทองปีเดียว
2026-10-02
บทนำสู่การเพิ่มประสิทธิภาพ EA ด้วย Genetic Algorithm บน MT5
2026-07-15
เหตุใด EA เดียวกันให้ผลตรงข้ามระหว่าง Real Tick กับ OHLC
📧 คอร์สอีเมลฟรี (8 ฉบับ) + แพ็กอินดิเคเตอร์ MT5 13 ตัว เฉพาะสมาชิก
ทันทีที่ลงทะเบียน คุณจะได้รับลิงก์ดาวน์โหลดแพ็กเฉพาะสมาชิกที่รวมอินดิเคเตอร์ MT5 ทั้ง 13 ตัวของเรา: ไฟล์ที่คอมไพล์แล้ว (.ex5) ซอร์สโค้ด และคู่มือการติดตั้ง จากนั้นจะได้รับอีเมล 8 ฉบับเกี่ยวกับพื้นฐานการเทรดอัตโนมัติ การอ่านผลแบ็กเทสต์อย่างถูกต้อง และการเลือกโบรกเกอร์ (วันละฉบับใน 5 วันแรก แล้วในวันที่ 7, 14 และ 30 หลังลงทะเบียน) และยังได้รับแจ้งก่อนการขึ้นราคาแต่ละครั้งของเวอร์ชันที่ขายใน MQL5 Market (ราคาเปิดตัวที่ปรับขึ้นเป็นขั้นตามยอดขาย) EA ในเว็บไซต์นี้ใช้ฟรีเมื่อมีบัญชีจริงกับโบรกเกอร์พันธมิตร
* ปกป้องความเป็นส่วนตัวอย่างเคร่งครัด คุณสามารถยกเลิกการสมัครได้ตลอดเวลา
มีคำถามเกี่ยวกับ EA หรือ Forex ไหม?
คุณสามารถตั้งคำถามได้ที่ฟอรัมเทรดของ Nattzy (สมัครฟรี) ไม่จำเป็นต้องเกี่ยวกับบทความนี้ก็ได้ เช่น การตั้งค่า EA หรือการเลือกโบรกเกอร์
ถามที่ Nattzy ↗