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

MT5EA

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

เผยแพร่: 2026-10-02เวลาอ่าน: ประมาณ 2 นาที
⏱ บทความนี้สะท้อนข้อมูล ณ วันที่เผยแพร่ ตัวเลขผลงาน EA (PF, DD, ผลตอบแทนต่อปี) เปลี่ยนแปลงตามการเทรดจริงและการตรวจสอบซ้ำ — ตรวจสอบล่าสุดได้ที่หน้า EA ดูผลงานล่าสุดของ EA →
สารบัญ (10)
  1. ขั้นตอนการ Optimize (ภาพรวม)
  2. Genetic Algorithm คืออะไร
  3. เลือกใช้ Brute Force หรือ GA?
  4. การตั้งค่าใน Strategy Tester
  5. การรัน Genetic Algorithm Optimization
  6. การหลีกเลี่ยง Over-Optimization
  7. การใช้ Parallel Optimization
  8. จำกัดเป้าหมาย Optimization ให้แคบ
  9. ดาวน์โหลด EA ฟรี
  10. โบรกเกอร์แนะนำ

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

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

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

ประเด็นสำคัญของบทความนี้

  • หากชุดค่าผสมมีมากกว่าหลักหมื่น ให้ค้นหาด้วย Genetic Algorithm (GA) แทน Brute Force
  • เลือกตัวชี้วัดเป็น Recovery Factor หรือ Sharpe Ratio และตัดชุดผลลัพธ์ที่มีจำนวนเทรดน้อยออก
  • อย่าเลือกจากคะแนนสูงสุดเพียง 1 ชุด แต่ให้ตัดสินค่าที่จะใช้จากการกระจุกตัวของ 10-20 อันดับแรก, Parameter Sensitivity และการตรวจสอบแบบแบ่งช่วงเวลา

ขั้นตอนการ Optimize (ภาพรวม)

ขั้นตอนสิ่งที่ต้องทำคำอธิบายโดยละเอียด
1จำกัดพารามิเตอร์ที่จะ Optimize ให้เหลือเพียงไม่กี่ตัวที่เป็นแกนหลักของลอจิกจำกัดเป้าหมาย Optimization ให้แคบ
2ดูจำนวนชุดค่าผสม แล้วตัดสินใจว่าจะใช้ Brute Force หรือ GAเลือกใช้ Brute Force หรือ GA?
3ตั้งค่า "Fast genetic based algorithm" และตัวชี้วัดใน Testerการตั้งค่าใน Strategy Tester
4รัน Optimization แล้วดูการลู่เข้าในแท็บ "Optimization Results"การรัน Genetic Algorithm Optimization
5คัด Over-Optimization ออกด้วยการแบ่งช่วงเวลา, เปรียบเทียบชุดอันดับต้น ๆ และตรวจ Sensitivityการหลีกเลี่ยง Over-Optimization
6หากใช้เวลานาน ให้ย่นเวลาด้วย Parallel Agent หรือ Cloudการใช้ Parallel Optimization

เปรียบเทียบโบรกเกอร์แนะนำ →

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

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

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

Genetic Algorithm คืออะไร

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

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

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

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

Brute ForceGenetic Algorithm (GA)
วิธีการค้นหากวาดทดสอบทุกชุดค่าผสมโฟกัสการค้นหาเฉพาะพื้นที่ที่มีแนวโน้มดี
ขนาดที่เหมาะสมพารามิเตอร์น้อย ชุดค่าผสมไม่เกินหลักพันพารามิเตอร์มาก ชุดค่าผสมหลักหมื่นขึ้นไป
เวลาคำนวณเพิ่มขึ้นตามจำนวนชุดค่าผสมสั้นกว่าอย่างเห็นได้ชัด

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

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

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

การเลือกโหมด Optimization และติ๊กพารามิเตอร์ที่จะปรับ
การเลือกโหมด Optimization และติ๊กพารามิเตอร์ที่จะปรับ

  • 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 ของ MT5 จะวนซ้ำหลายร้อย Generation โดยอัตโนมัติ และลู่เข้าหาคำตอบที่ดีที่สุด

แท็บ Optimization Results (ผลลัพธ์ของแต่ละชุดพารามิเตอร์)
แท็บ Optimization Results (ผลลัพธ์ของแต่ละชุดพารามิเตอร์)

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

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

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

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

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

กฎสิ่งที่ต้องตรวจสอบ
1. แบ่งช่วงเวลาผลลัพธ์ไม่พังในช่วง Out-of-Sample ช่วงหลังหรือไม่
2. เปรียบเทียบ 10-20 อันดับแรกชุดอันดับต้น ๆ อยู่ในพื้นที่ใกล้เคียงกันหรือไม่
3. ตรวจสอบ Parameter Sensitivityขยับ ±10-20% แล้วผลลัพธ์ไม่พังทลายมากหรือไม่
4. เก็บพารามิเตอร์ที่ไม่ Optimize ไว้ยังคงค่าคงที่ที่สมเหตุสมผลตามตรรกะไว้หรือไม่

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 ให้แคบ

โดยพื้นฐานแล้ว พารามิเตอร์ที่จะ Optimize ควรจำกัดไว้เพียงไม่กี่ตัวที่เป็นแกนหลักของลอจิก เช่น ช่วงเวลาสำหรับตัดสินใจเข้าเทรดหรือระยะ SL

การกำหนดพารามิเตอร์อื่นๆ เป็น "ค่าตามธรรมชาติ" จะช่วยป้องกัน Over-Optimization ได้ง่ายขึ้น

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

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

EA ฟรีของเว็บไซต์นี้ DONCHIAN ENGINE (USDJPY H1) ได้ผล Backtest บน USDJPY H1 ระยะ 9.4 ปี (2017-2026 Real Tick ของ Dukascopy) PF 1.50, อัตราชนะ 34.5%, Max DD 10.8%, จำนวนเทรด 631 ครั้ง

ดู EA ฟรี DONCHIAN ENGINE

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

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

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

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

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

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

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

ถามที่ Nattzy ↗

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