Forward Test คืออะไร? ทดสอบ EA ในตลาดจริงก่อนใช้ขนาดเต็ม

Backtest บอกว่าระบบทำงานอย่างไรกับข้อมูลในอดีต แต่ไม่ได้บอกว่าจะเป็นอย่างไรเมื่อเจอ Spread จริง การส่งคำสั่งจริง และตลาดที่ยังไม่เกิดขึ้น Forward Test คือขั้นที่เชื่อมสองโลกนี้ บทความนี้อธิบายวิธีทำ สิ่งที่ต้องเปรียบเทียบ และทำไมต้องใช้เวลานานกว่าที่หลายคนคิด
ตัวเลขเป็นตัวอย่างเพื่อประกอบบทความ · ตรวจเงื่อนไขของโบรกเกอร์ก่อนเทรดจริง
สรุปสาระสำคัญ
- Forward Test คือการรัน EA ต่อในตลาดปัจจุบันหลัง Backtest บนบัญชี Demo หรือบัญชีจริงขนาดเล็ก
- สิ่งที่ Backtest จำลองได้ไม่ครบคือ Spread จริง Slippage และการส่งคำสั่ง
- ปรับค่าคาดหวังจาก Backtest ด้วยต้นทุนจริงก่อนเทียบผล
- จำนวนไม้สำคัญกว่าจำนวนสัปดาห์ ผลไม่กี่สิบไม้ยังแกว่งได้กว้างมาก
- ตั้งเกณฑ์หยุด ปรับ หรือไปต่อไว้ล่วงหน้า ก่อนเห็นผล
ทำไม Backtest อย่างเดียวไม่พอ
Backtest ทำงานบนข้อมูลที่ผ่านไปแล้ว ส่งคำสั่งได้ทันทีตามราคาที่บันทึกไว้ และไม่มีวันเจอปัญหาการเชื่อมต่อ ส่วนค่าตั้งที่ใช้ก็มักถูกเลือกจากข้อมูลช่วงเดียวกัน Forward Test ตรวจสองเรื่องที่ Backtest ตรวจไม่ได้ คือระบบทำงานถูกต้องในสภาพจริงหรือไม่ และผลในตลาดที่ไม่เคยเห็นยังอยู่ในกรอบที่คาดไว้หรือไม่
Demo, Cent หรือบัญชีจริงขนาดเล็ก
- บัญชี Demo — ไม่ใช้เงินจริง เหมาะกับการตรวจว่า EA เปิดปิดไม้ถูกต้อง แต่การจับคู่คำสั่งมักดีกว่าบัญชีจริง
- บัญชี Cent หรือบัญชีจริงขนาดเล็ก — ได้ Spread และการส่งคำสั่งจริง ด้วยจำนวนเงินที่เสี่ยงน้อย
- ใช้ประเภทบัญชีเดียวกับที่จะใช้จริง — เพราะโครงสร้างต้นทุนต่างกัน ตามที่อธิบายใน ประเภทบัญชีเทรด
สิ่งที่ต่างจาก Backtest
- Spread ในช่วงที่ EA เทรดจริง — โดยเฉพาะช่วงรอยต่อของวันและช่วงข่าว
- Slippage และการปฏิเสธคำสั่ง — ราคาที่ได้ไม่ใช่ราคาที่ขอเสมอ
- ความหน่วงของการเชื่อมต่อ — ขึ้นกับที่ตั้งของเครื่อง อ่านเรื่องนี้ใน VPS สำหรับ MT5
- เหตุการณ์ที่ไม่มีในข้อมูล — เซิร์ฟเวอร์ปิดปรับปรุง การหลุดการเชื่อมต่อ และข่าวแรงตาม ปฏิทินเศรษฐกิจ
ปรับค่าคาดหวังก่อนเทียบผล
ก่อนเริ่ม ให้แปลงผลจาก Backtest เป็นค่าคาดหวังที่รวมต้นทุนจริงแล้ว ตัวอย่างเช่นรายงานบอก Expected Payoff +0.20R ต่อไม้ แต่ช่วงที่เทรดจริง Spread กว้างกว่าในการทดสอบ 0.4 pip และมี Slippage เฉลี่ย 0.3 pip รวม 0.7 pip เมื่อ Stop Loss คือ 14 pips ต้นทุนที่เพิ่มคือ 0.7 ÷ 14 = 0.05R ต่อไม้ ค่าคาดหวังที่ควรใช้เทียบจึงเหลือ +0.15R
ถ้าข้ามขั้นนี้ แล้วเอาผล Forward ไปเทียบกับ +0.20R ตรง ๆ จะสรุปผิดว่าระบบแย่ลง ทั้งที่ส่วนต่างอาจมาจากต้นทุนที่รู้ได้ล่วงหน้า
ต้องทดสอบนานแค่ไหน
คำถามนี้ควรตอบเป็นจำนวนไม้ ไม่ใช่จำนวนสัปดาห์ เพราะผลรวมของไม้จำนวนน้อยแกว่งตามโชคได้มาก ภาพด้านล่างใช้ตัวอย่างเดียวกัน ค่าคาดหวัง +0.15R ต่อไม้ และความแกว่งต่อไม้ประมาณ 1.25R

หลัง 40 ไม้ ค่าคาดหวังรวมคือ +6R แต่ช่วงที่ความแกว่งปกติอธิบายได้กว้างตั้งแต่ประมาณ −9.8R ถึง +21.8R ผล Forward ตัวอย่างที่ได้ +15R จึงยังไม่ได้พิสูจน์ว่าระบบดีกว่าที่คาด และถ้าได้ −5R ก็ยังไม่ได้พิสูจน์ว่าระบบพัง การจะแยกค่าคาดหวัง +0.15R ออกจากศูนย์ได้ต้องใช้ราว 276 ไม้ ถ้า EA เทรดสัปดาห์ละ 5 ไม้ คือราว 55 สัปดาห์ ตัวเลขเป็นภาพประกอบ
เทียบอะไรได้เร็วกว่ากำไร
แม้กำไรต้องใช้เวลานานกว่าจะสรุปได้ แต่หลายเรื่องตรวจได้เร็วกว่ามาก และควรตรวจตั้งแต่สัปดาห์แรก
- ต้นทุนต่อไม้ — Spread ที่จ่ายจริงและ Slippage เทียบกับที่ใช้ในการปรับค่าคาดหวัง
- ความถี่ของไม้ — จำนวนไม้ต่อสัปดาห์ใกล้กับ Backtest ในช่วงตลาดคล้ายกันหรือไม่
- ขนาดของไม้ชนะและไม้แพ้ — Stop และเป้าทำงานตามระยะที่ตั้งไว้หรือไม่
- ข้อความในแท็บ Experts และ Journal — มีคำสั่งถูกปฏิเสธหรือข้อผิดพลาดซ้ำหรือไม่
ตั้งเกณฑ์หยุดหรือไปต่อไว้ล่วงหน้า
เขียนเกณฑ์ไว้ก่อนเริ่ม เช่น หยุดและทบทวนเมื่อ Drawdown ลึกกว่าที่ Backtest เคยเจออย่างชัดเจน หรือเมื่อพฤติกรรมของ EA ไม่ตรงกับที่ออกแบบไว้ และเพิ่มขนาดทีละขั้นเมื่อผ่านจำนวนไม้ที่กำหนด การตัดสินใจล่วงหน้าช่วยกันไม่ให้หยุดเร็วเกินไปหลังแพ้ไม่กี่ไม้ หรือเพิ่มขนาดเร็วเกินไปหลังชนะติดกัน บันทึกผลและการเปลี่ยนค่าตั้งทุกครั้งตามวิธีใน แผนการเทรดและบันทึกการเทรด
ความผิดพลาดที่พบบ่อย
- ทดสอบไม่กี่สัปดาห์แล้วสรุป — จำนวนไม้น้อยเกินกว่าจะแยกฝีมือออกจากโชค
- เปลี่ยนค่าตั้งระหว่างทาง — ผลที่ได้จึงไม่ได้มาจากระบบเดียวกัน
- ใช้ผล Demo แทนบัญชีจริง — การจับคู่คำสั่งอาจดีกว่าความจริง
- ไม่ปรับค่าคาดหวังด้วยต้นทุน — เทียบกับตัวเลขที่ดีเกินจริงจาก Backtest
สรุป
Forward Test ไม่ได้มีไว้พิสูจน์ว่าระบบทำกำไรได้ในไม่กี่สัปดาห์ แต่มีไว้ตรวจว่าระบบทำงานถูกต้องในสภาพจริง และผลยังอยู่ในกรอบที่คาดไว้หลังหักต้นทุน ถ้ายังไม่ได้อ่านวิธีตีความผลทดสอบ ย้อนกลับไปที่ อ่านรายงาน Backtest และ Optimization และ Overfitting



Discussion