เคยไหมครับ? เราสร้าง EA ขึ้นมาตัวหนึ่งแล้วทำ Backtest ได้กำไรหลายร้อยเปอร์เซ็นต์, Equity Curve สวยแทบไม่มี Drawdown แต่พอนำไปเทรดจริงกลับขาดทุนอย่างต่อเนื่อง… ปัญหานี้เกิดขึ้นกับนักพัฒนา EA และเทรดเดอร์จำนวนมาก โดยเฉพาะมือใหม่ที่เพิ่งเริ่มสร้างระบบเทรดอัตโนมัติ และหนึ่งในสาเหตุสำคัญที่สุดก็คือ Overfitting
Overfitting เปรียบเสมือนนักเรียนที่ท่องจำข้อสอบเก่าได้ทุกข้อ แต่เมื่อเจอข้อสอบใหม่กลับทำไม่ได้ เพราะไม่ได้เข้าใจหลักการจริง ๆ ซึ่งในโลกของ Algorithmic Trading และ EA Forex ก็เช่นเดียวกัน หากระบบถูกปรับแต่งให้เข้ากับข้อมูลในอดีตมากเกินไป มันอาจทำผลงานได้ดีเฉพาะกับข้อมูลชุดนั้น แต่ล้มเหลวทันทีเมื่อเผชิญกับตลาดจริง
หากคุณกำลังเริ่มต้นสร้าง EA ด้วย fxDreema แนะนำให้อ่านคู่มือ การสร้าง EA Forex ด้วย fxDreema ก่อน เพื่อเข้าใจโครงสร้างการพัฒนาระบบอย่างถูกต้อง
Overfitting คืออะไร?
Overfitting คือ ภาวะที่ระบบเทรดหรือ EA ถูกปรับแต่ง (Optimize) มากเกินไป จนสามารถอธิบายพฤติกรรมของข้อมูลในอดีตได้อย่างสมบูรณ์แบบ แต่ไม่สามารถปรับตัวเข้ากับข้อมูลใหม่ในอนาคตได้ พูดง่ายๆ คือ “EA จำอดีตได้ดีเกินไป จนไม่สามารถรับมือกับอนาคตได้”… ยิ่งมีการปรับค่า Parameter มากเท่าไร ความเสี่ยงในการเกิด Overfitting ก็ยิ่งสูงขึ้น ตัวอย่างเช่น
- EMA Fast = 13
- EMA Slow = 67
- Stop Loss = 127 Points
- Take Profit = 293 Points
ค่าทั้งหมดอาจถูกค้นพบจากการ Optimize หลายพันครั้งจนได้ผลลัพธ์ที่ดีที่สุดในอดีต แต่ไม่ได้หมายความว่าจะทำงานได้ดีในอนาคต (คลิกเพื่อศึกษาการทำ backtest)
ทำไม Overfitting ถึงเป็นปัญหาใหญ่ของ EA Forex?
ตลาด Forex เป็นระบบที่เปลี่ยนแปลงตลอดเวลา สิ่งที่เคยใช้ได้ผลในปี 2022 อาจใช้ไม่ได้ในปี 2026 และหาก EA ถูกออกแบบมาเพื่อ “จดจำ” พฤติกรรมของตลาดในอดีตเพียงอย่างเดียว เมื่อสภาวะตลาดเปลี่ยน ระบบจะสูญเสีย Edge ทันที ซึ่งผลลัพธ์ที่พบได้บ่อยคือ
- Backtest กำไร 500%
- Forward Test เริ่มแย่ลง
- Live Trading ขาดทุนต่อเนื่อง
- Drawdown สูงกว่าที่คาด
นี่คือสัญญาณคลาสสิกของ Overfitting
เข้าใจ Overfitting ผ่านภาพเดียว: ทำไม EA ที่ดูสมบูรณ์แบบจึงอันตราย
ภาพด้านบนเป็นหนึ่งในภาพที่อธิบายแนวคิด Underfitting, Good Fit และ Overfitting ได้ชัดเจนที่สุด ซึ่งสามารถนำมาเปรียบเทียบกับการพัฒนา EA Forex ได้โดยตรง
1. Underfitted (รูปซ้าย)
ในภาพด้านซ้าย เส้นแนวโน้มเป็นเส้นตรงที่เรียบง่ายเกินไป จนไม่สามารถอธิบายพฤติกรรมของข้อมูลได้ เปรียบเทียบกับ EA ที่มีเงื่อนไขน้อยเกินไป เช่น
- ใช้ Moving Average เพียงเส้นเดียว
- ไม่มี Filter ตลาด
- ไม่มีการจัดการความเสี่ยง
ผลลัพธ์คือ
- Backtest ไม่ดี
- Win Rate ต่ำ
- ไม่สามารถจับพฤติกรรมของตลาดได้
ภาวะนี้เรียกว่า Underfitting หรือ “เรียนรู้ข้อมูลน้อยเกินไป”…. ในศาสตร์ Machine Learning มักเรียกว่าโมเดลที่มี High Bias และ Low Variance คือมีแนวโน้มมองโลกง่ายเกินไปจนเข้าใจข้อมูลผิดตั้งแต่ต้น (อ่านเพิ่มเติมเกี่ยวกับแนวคิด Overfitting และ Underfitting ได้จาก Google Developers)
2. Good Fit / Robust (รูปกลาง)
รูปตรงกลางคือสิ่งที่นักพัฒนา EA ทุกคนควรต้องการ เส้นโค้งสามารถอธิบายแนวโน้มหลักของข้อมูลได้ โดยไม่พยายามวิ่งตามทุกจุดข้อมูล โดย EA ลักษณะนี้มักมีคุณสมบัติดังนี้
- Logic ไม่ซับซ้อนเกินไป
- Parameter ไม่เยอะเกินจำเป็น
- ผ่าน Out-of-Sample Test
- ผ่าน Walk Forward Analysis
- สามารถปรับตัวกับสภาวะตลาดที่เปลี่ยนแปลงได้
ในโลก Machine Learning สถานะนี้เรียกว่า Generalization หรือความสามารถในการนำความรู้จากอดีตไปใช้กับข้อมูลใหม่ได้อย่างมีประสิทธิภาพ
3. Overfitted (รูปขวา)
รูปด้านขวาคือสิ่งที่เกิดขึ้นกับ EA ส่วนใหญ่ที่ล้มเหลว สังเกตว่าเส้นโค้งพยายามวิ่งผ่านทุกจุดข้อมูลอย่างสมบูรณ์แบบ แม้แต่ Noise หรือความผันผวนเล็ก ๆ ก็ถูกนำมาสร้างเป็นกฎการเทรด ซึ่งในโลก EA Forex สิ่งนี้มักเกิดจากการ
- Optimize มากเกินไป
- ใช้ข้อมูล Backtest สั้นเกินไป อาจจะซัก 3-6 เดือน EA อาจเรียนรู้เฉพาะสภาวะตลาดช่วงนั้น แต่ไม่ได้เรียนรู้ช่วงตลาดที่เป็นสภาวะอื่น เช่น Trend, Sideway เป็นต้น
- ปรับค่า Parameter หลายร้อยหรือหลายพันครั้ง
- เพิ่ม Indicator จำนวนมาก
- พยายามทำให้ Backtest สวยที่สุด
ผลลัพธ์คือ
- Backtest กำไรสูงมาก
- Drawdown ต่ำมาก
- Forward Test เริ่มแย่
- Live Trading ขาดทุน
- EA สูญเสีย Edge อย่างรวดเร็ว
Google Developers อธิบายว่า Overfitting คือการที่โมเดล “จดจำ” ข้อมูลในชุดฝึกได้ดีเกินไป จนไม่สามารถทำนายข้อมูลใหม่ได้อย่างแม่นยำ
ตัวอย่างที่เข้าใจง่าย: เด็ก 3 คนกับตัวอักษร A
แนวคิดนี้สามารถอธิบายได้ด้วยตัวอย่างจาก Machine Learning ที่ได้รับความนิยมมาก สมมติเราสอนเด็ก 3 คนให้รู้จักตัวอักษร A (อ้างอิง)
- เด็กคนที่ 1 (Underfit):เห็นตัว A แล้วก็ยังแยกไม่ออกว่าเป็น A หรือ B แสดงว่าเรียนรู้ข้อมูลน้อยเกินไป
- เด็กคนที่ 2 (Overfit): จำได้เฉพาะตัว A ที่ครูเขียนให้ดูเป๊ะ ๆ แต่เมื่อเปลี่ยนลายมือเล็กน้อยกลับตอบผิดทันที แสดงว่า “จำ” มากกว่า “เข้าใจ”
- เด็กคนที่ 3 (Good Fit): เข้าใจลักษณะสำคัญของตัว A แม้เปลี่ยนลายมือก็ยังตอบถูก นี่คือพฤติกรรมที่ EA ที่ดีควรมี คือสามารถรับมือกับข้อมูลใหม่ที่ไม่เคยเห็นมาก่อนได้
วิธีป้องกัน Over-fitting สำหรับนักพัฒนา EA
(1) ใช้ Walk Forward Analysis ซึ่งเป็นมาตรฐานที่กองทุน Quant และ Hedge Fund นิยมใช้ กระบวนการคือ
- Optimize ช่วงแรก
- ทดสอบกับข้อมูลที่ไม่เคยเห็น
- เลื่อนช่วงเวลาไปข้างหน้า
- ทดสอบซ้ำ
หาก EA ยังทำกำไรได้ต่อเนื่อง มีโอกาสสูงที่จะใช้งานจริงได้
(2) ใช้ Monte Carlo Simulation ซึ่งช่วยจำลองสถานการณ์นับพันรูปแบบ เพื่อตรวจสอบว่า
- ระบบยังอยู่รอดหรือไม่
- Drawdown สูงสุดเท่าไร
- ความเสี่ยงล้มพอร์ตมีมากแค่ไหน
นักพัฒนา EA ระดับมืออาชีพนิยมใช้วิธีนี้ก่อนนำระบบขึ้นบัญชีจริง
(3) ลดจำนวน Parameter หลักการง่าย ๆ คือ ระบบที่เรียบง่าย มักอยู่รอดได้นานกว่า ตัวอย่าง
- EMA Cross
- ATR Filter
- Risk Management
เพียงไม่กี่องค์ประกอบ มักมีความทนทานกว่าระบบที่มีเงื่อนไขหลายสิบข้อ
(4) Backtest หลายสภาวะตลาด ควรทดสอบอย่างน้อย
- ตลาด Trending
- ตลาด Sideway
- ช่วงข่าวแรง
- ช่วงวิกฤตเศรษฐกิจ
เพื่อให้มั่นใจว่า EA ไม่ได้เก่งเฉพาะบางช่วงเวลา
สรุป
Overfitting คือหนึ่งในสาเหตุสำคัญที่สุดที่ทำให้ EA ทำกำไรในอดีตแต่ขาดทุนในอนาคต แม้ผล Backtest จะดูสวยงามเพียงใด แต่หากระบบถูกปรับแต่งมากเกินไป ผลลัพธ์ที่ได้อาจเป็นเพียงภาพลวงตาทางสถิติ การพัฒนา EA ที่ยั่งยืนควรให้ความสำคัญกับ
- Walk Forward Analysis
- Monte Carlo Simulation
- Out-of-Sample Testing
- Risk Management
- การออกแบบระบบที่เรียบง่าย
เพราะเป้าหมายที่แท้จริงไม่ใช่การสร้าง Backtest ที่สวยที่สุด แต่คือการสร้าง EA ที่สามารถอยู่รอดและทำกำไรได้ในตลาดจริงระยะยาว
เขียนโดย ทีมงาน eaforexcenter.com





"เริ่มต้นอย่างช้าๆ แต่ชัดเจน"
ให้เราได้ดูแลคุณ...
eaforexcenter.com