หน้าหลัก > บล็อก > บทนำสู่การเพิ่มประสิทธิภาพ EA ด้วย Genetic Algorithm บน MT5

MT5EAการเพิ่มประสิทธิภาพGenetic AlgorithmStrategy Tester

บทนำสู่การเพิ่มประสิทธิภาพ EA ด้วย Genetic Algorithm บน MT5

เผยแพร่: 2026-05-12เวลาอ่าน: ประมาณ 1 นาที
This article reflects information as of its publish date. EA performance figures (PF, DD, annual return) change with live trading and re-validation — check the latest on the EA pages. See the latest EA results

บทนำสู่การเพิ่มประสิทธิภาพ EA ด้วย Genetic Algorithm บน MT5

เมื่อต้องการปรับแต่งพารามิเตอร์ของ EA นั้น Strategy Tester ของ MT5 มีโหมดการเพิ่มประสิทธิภาพอยู่ 2 รูปแบบ ได้แก่ Brute Force (ทดสอบทุกชุดค่าผสมอย่างครบถ้วน) และ Genetic Algorithm (GA)

สำหรับการค้นหาชุดค่าผสมที่มีจำนวนมหาศาลให้เสร็จสิ้นในเวลาอันสมเหตุสมผลนั้น Genetic Algorithm คือวิธีมาตรฐาน บทความนี้จะอธิบายหลักการพื้นฐานของการเพิ่มประสิทธิภาพด้วย Genetic Algorithm พร้อมแนะนำจุดสำคัญที่ควรทราบในการใช้งานจริง

Genetic Algorithm คืออะไร

Genetic Algorithm (GA) คือวิธีการเพิ่มประสิทธิภาพที่ได้รับแรงบันดาลใจจากกระบวนการวิวัฒนาการทางชีววิทยา โดยดำเนินการตามขั้นตอนดังนี้

  1. สร้างชุดพารามิเตอร์สุ่ม (individual) ขึ้นมาหลายชุด
  2. รัน Backtest กับแต่ละชุด แล้วให้คะแนนตามตัวชี้วัด (PF, Recovery Factor ฯลฯ)
  3. คัดเลือกชุดที่มีคะแนนสูงสุดเป็น "พ่อแม่" แล้วสร้างรุ่นต่อไปด้วยการ Crossover และ Mutation
  4. ทำซ้ำกระบวนการนี้ และยิ่งผ่านหลาย Generation มากขึ้น พารามิเตอร์ก็จะยิ่งลู่เข้าสู่ค่าที่มีคะแนนสูงขึ้น

ขณะที่ Brute Force จะ "กวาดทดสอบทุกชุดค่าผสม" นั้น GA จะ "โฟกัสการค้นหาเฉพาะพื้นที่ที่มีแนวโน้มดี" ทำให้ใช้เวลาในการคำนวณน้อยกว่าอย่างเห็นได้ชัด

เลือกใช้ Brute Force หรือ GA?

  • พารามิเตอร์น้อย ชุดค่าผสมไม่เกินหลักพัน → ใช้ Brute Force เพื่อครอบคลุมทุกความเป็นไปได้
  • พารามิเตอร์มาก ชุดค่าผสมหลักหมื่นขึ้นไป → ใช้ Genetic Algorithm

ตัวอย่างเช่น หากมี 3 พารามิเตอร์ที่แต่ละตัวมี 10 ขั้น จะได้ 1,000 ชุดค่าผสม ซึ่ง Brute Force เพียงพอ แต่หากมี 5 พารามิเตอร์ที่แต่ละตัวมี 20 ขั้น จะได้ถึง 3.2 ล้านชุดค่าผสม และนั่นคือเมื่อ Genetic Algorithm กลายเป็นสิ่งจำเป็น

การตั้งค่าใน Strategy Tester

เพื่อเปิดใช้งานการเพิ่มประสิทธิภาพ ให้ตั้งค่าใน Strategy Tester ดังนี้

  • Optimization: เลือก "Fast genetic based algorithm"
  • Optimization criterion: เลือกตัวชี้วัด เช่น "Maximum complex criterion", "Custom max", "Maximum recovery factor"
  • แท็บ Input parameters: ติ๊กถูกที่พารามิเตอร์ที่ต้องการปรับแต่ง แล้วกำหนดค่าเริ่มต้น ค่าสิ้นสุด และขั้นละเท่าไร

วิธีเลือกตัวชี้วัด (Optimization Criterion)

สิ่งที่กำหนดว่า "อะไรคือผลลัพธ์ที่ดี" ส่งผลโดยตรงต่อผลลัพธ์ที่ได้ ตัวชี้วัดที่นิยมใช้มีดังนี้

  • Maximum profit (Equity): เพิ่มกำไรสูงสุด โดยไม่สนใจความเสี่ยง จึงเสี่ยงต่อ Over-Optimization สูง
  • Recovery Factor: กำไรสุทธิ ÷ DD สูงสุด เน้นความสมดุล
  • Sharpe Ratio: คำนึงถึงความสม่ำเสมอของผลตอบแทน
  • Custom max: กำหนดเองในโค้ด EA ได้อย่างอิสระ (เช่น PF × จำนวนเทรด)

การใช้ Recovery Factor หรือ Sharpe Ratio เป็นวิธีที่ช่วยหลีกเลี่ยง Over-Optimization ในขณะที่ยังหาพารามิเตอร์ที่ใช้งานได้จริง

การรัน Genetic Algorithm Optimization

เมื่อเริ่มกระบวนการเพิ่มประสิทธิภาพ ค่าพารามิเตอร์ที่มีคะแนนสูงในแต่ละ Generation จะปรากฏใน แท็บ "Optimization Results" ของ MT5 โดย Genetic Algorithm จะวนซ้ำหลายร้อย Generation โดยอัตโนมัติ และลู่เข้าหาคำตอบที่ดีที่สุด

ข้อผิดพลาดที่พบบ่อย

  • ลู่เข้าเร็วเกินไป: อาจเกิดจากช่วงการค้นหาพารามิเตอร์แคบเกินไป
  • ไม่ลู่เข้าเลย: ตัวชี้วัดไม่เหมาะสม หรือมี Noise มากเกินไป
  • ลู่เข้าหาค่าที่ดูผิดปกติ: ไม่ได้กรองผลลัพธ์ที่มีจำนวนเทรดน้อยเกินไปออก

การกรองผลลัพธ์ที่มีจำนวนเทรดต่ำกว่า 50 ครั้งออกจากฟังก์ชันประเมินผล จะช่วยกำจัดชุดพารามิเตอร์ที่ไม่มีนัยสำคัญทางสถิติออกไปได้

การหลีกเลี่ยง Over-Optimization

ยิ่งรัน Optimization มากขึ้น ก็จะยิ่งได้พารามิเตอร์ที่ "สมบูรณ์แบบในอดีต แต่ใช้ไม่ได้ในอนาคต" ต่อไปนี้คือกฎเชิงปฏิบัติที่ช่วยป้องกัน

1. แบ่งช่วงเวลา

หากมีข้อมูลย้อนหลัง 10 ปี ให้ Optimize บนช่วง 7 ปีแรก แล้วใช้ 3 ปีหลังเป็น Out-of-Sample (OOS) ตรวจสอบ หากผลลัพธ์แย่ลงในช่วง OOS แสดงว่า Over-Fit กับช่วงแรก

2. เปรียบเทียบ 10-20 อันดับแรก

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

3. ตรวจสอบ Parameter Sensitivity

ลองขยับพารามิเตอร์ที่เป็นตัวเลือกอยู่ ±10-20% แล้วดูว่าผลลัพธ์พังทลายหรือไม่ หากพังทลาย แสดงว่าชุดนั้น Over-Fit กับ "จุดสูงสุดที่แหลมคม"

4. เก็บพารามิเตอร์ที่ไม่ Optimize ไว้

การคง "ค่าคงที่ที่สมเหตุสมผลตามตรรกะ ไม่ใช่จากการ Optimize" ไว้เสมอ ช่วยลดความเสี่ยงของ Over-Optimization ตัวอย่างเช่น Optimize ช่วง EMA แต่ตรึงค่าคูณ ATR ไว้คงที่

การใช้ Parallel Optimization

MT5 รองรับ Parallel Optimization โดยใช้หลาย CPU Core พร้อมกัน สามารถเพิ่มจำนวน Agent ที่ใช้ได้ใน "Tester" → "Settings" เพื่อลดเวลาคำนวณ

นอกจากนี้ยังสามารถใช้ MQL5 Cloud Network เพื่อรัน Optimization ขนาดใหญ่ด้วย Remote Agent จากทั่วโลก อย่างไรก็ตาม มีค่าใช้จ่าย ดังนั้นวิธีที่มีประสิทธิภาพกว่าคือการจำกัดช่วงพารามิเตอร์ใน Local ก่อน แล้วค่อยใช้ Cloud

แนวทาง Optimization สำหรับ EA ที่แจกจ่ายบนเว็บไซต์นี้

สำหรับ GOLD_EMA_ATR_EA (XAUUSD H1) เราจำกัดเป้าหมาย Optimization ไว้โดยเจตนา

  • ช่วง EMA ระยะสั้น
  • ช่วง EMA ระยะยาว
  • ค่าคูณ ATR (สำหรับ SL)

พารามิเตอร์อื่นๆ ทั้งหมดถูกกำหนดเป็น "ค่าตามธรรมชาติ" เพื่อป้องกัน Over-Optimization ค่า PF 1.30 จาก Backtest 10 ปีนั้น หากรัน Optimization ต่อไปก็อาจสูงขึ้นได้ แต่ก็ยิ่งเพิ่มโอกาสที่มันจะทำงานไม่ได้ในตลาดอนาคต การเลือกตัวเลขธรรมดาๆ แล้วรันให้ยาวนาน คือคำตอบที่ใช้ได้จริงในการซื้อขาย

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

GOLD_EMA_ATR_EA ให้ดาวน์โหลดฟรีพร้อมพารามิเตอร์ที่ปรับแต่งแล้วและคู่มือการ Optimize

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

โบรกเกอร์แนะนำ

เพื่อให้ผลลัพธ์จาก Backtest และ Optimization ได้รับการทำซ้ำในการใช้งานจริงได้มากที่สุด เว็บไซต์นี้แนะนำโบรกเกอร์ที่ให้ความสำคัญกับคุณภาพการ Execute คำสั่ง

ดูรายการโบรกเกอร์แนะนำ

คอร์สอีเมล 5 วัน (ฟรี)

รับอีเมลวันละหนึ่งฉบับครอบคลุมพื้นฐานการเทรด FX อัตโนมัติ วิธีอ่านแบ็คเทสต์อย่างถูกต้อง และเคล็ดลับเลือกโบรกเกอร์

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