บทที่ 7 · บอท & ระบบอัตโนมัติ · 20 นาที
Backtesting & Optimization
Backtesting คือการทดสอบกลยุทธ์การเทรดกับข้อมูลราคาในอดีต เพื่อประเมินว่าจะกำไรหรือขาดทุน เสมือนไทม์แมชชีนกลับไปเทรดตามกลยุทธ์ที่คิดไว้
"ถ้ากลยุทธ์ไม่ได้ผลกับข้อมูลอดีต ทำไมต้องเชื่อว่าจะได้ผลกับเงินจริง"
ทำไมต้อง Backtest
ยืนยันว่ากลยุทธ์มี Edge จริง · ประหยัดเงิน · สร้างความมั่นใจ · หาค่า Parameter ที่เหมาะสม
Backtest บอกได้: กำไร/ขาดทุน, Drawdown, Win Rate, ช่วงดี/แย่ บอกไม่ได้: อนาคต (อดีตไม่การันตี), สภาพจิตใจจริง, Slippage/Spread จริง
Strategy Tester ใน MT5
เปิด: View → Strategy Tester (Ctrl+R)
| รายการ | รายละเอียด |
|---|---|
| Expert | เลือก EA |
| Symbol/Period | คู่เงิน + TF |
| Date Range | อย่างน้อย 2-3 ปี (ครอบคลุม Trend + Range) |
Modeling Mode: "Every tick based on real ticks" แม่นสุดแต่ช้า · แนะนำ Every tick · Visual Mode ดูกราฟขณะทดสอบ (ช้า)
อ่านผล Backtest
- Net Profit — กำไรสุทธิ (ดูเป็น % ของทุน)
- Profit Factor = Gross Profit/Gross Loss — >1.5 ดี, >2.0 ดีมาก, >3.0 ระวัง Over-fit
- Max Drawdown — < 10% ดีเยี่ยม, 10-20% ดี, >30% อันตราย, >50% ไม่ควรใช้
- Sharpe Ratio — ผลตอบแทนเทียบความเสี่ยง (>1 ดี, >2 ดีมาก)
- Recovery Factor = Net Profit/Max DD (>3 ดี)
- Total Trades — อย่างน้อย 100+ (ต่ำกว่า 30 ไม่น่าเชื่อถือ)
- Equity Curve — ควรขึ้นสม่ำเสมอ ไม่ใช่กำไรจากช่วงเดียว
ถ้า Backtest Max DD 20% ของจริงอาจถึง 30-40%
Optimization — หาค่า Parameter ที่ดีที่สุด
Strategy Tester → Mode "Optimization" → Tab Inputs ตั้ง Start/Step/Stop
- Slow Complete — ลองทุกค่า แม่น 100% แต่ช้า (Parameter น้อย)
- Fast Genetic — เร็วกว่า (Parameter เยอะ 4+)
แนะนำ: Fast Genetic หาช่วงดี แล้ว Slow Complete ใน Range แคบ
หา "Robust" Parameter (อย่าเลือกแค่กำไรสูงสุด)
- เลือกค่าที่อยู่ใน "เกาะ" ของค่าดีๆ (ค่ารอบข้างก็ดี = Robust)
- Profit Factor > 1.5 + Max DD < 20% พร้อมกัน
- Equity Curve สม่ำเสมอ + Trade > 100
⚠️ Over-fitting — อันตรายที่สุด
กลยุทธ์ปรับจนเข้ากับอดีตสมบูรณ์ แต่ใช้ไม่ได้ในอนาคต (เหมือนท่องจำข้อสอบเก่า)
สัญญาณ: Backtest กำไรมหาศาลแต่ Demo ขาดทุน · Profit Factor > 5 · Win Rate > 80% · Parameter เยอะ · Equity Curve สวยเกินจริง
หลีกเลี่ยง:
- Walk-Forward Testing — Optimize ช่วงแรก → Test ช่วงถัดไป (Out-of-sample) ทำซ้ำหลายรอบ
- Out-of-Sample Test — 70% Optimize, 30% ทดสอบ (ห้ามแตะ)
- ใช้ Parameter น้อย · ทดสอบหลาย Symbol/Timeframe
ขั้นตอนที่ถูกต้อง
- Backtest (2-4 สัปดาห์) — ข้อมูล 3 ปี + Walk-Forward → PF>1.5, MaxDD<25%, Trade>100
- Forward Test บน Demo (1-3 เดือน) — ผลอย่างน้อย 70% ของ Backtest
- Small Real (3-6 เดือน) — Lot 0.01 เช็ก Execution จริง
- Scale Up — เพิ่ม Lot ทีละ 2-3x
อย่ากระโดดจาก Backtest ไปเทรดเงินจริง Lot ใหญ่ทันที
สรุป
- Backtest ก่อนเทรดจริงเสมอ · ดูหลายค่าประกอบ (ไม่ใช่แค่กำไร)
- ระวัง Over-fitting — ใช้ Walk-Forward
- ผ่านทุกขั้น: Backtest → Demo → Small Real → Scale Up
"Backtest บอกสิ่งที่ดีที่สุดเท่าที่เป็นไปได้ — ตลาดจริงจะแย่กว่าเสมอ"
เนื้อหาเพื่อการศึกษา ไม่ใช่คำแนะนำการลงทุน · การเทรดมีความเสี่ยง