
Backtesting คืออะไร? วิธีทดสอบกลยุทธ์ก่อนเสียเงินจริง
Backtesting คือการทดสอบกลยุทธ์การเทรดกับข้อมูลราคาย้อนหลัง เพื่อดูว่ากลยุทธ์นั้นทำกำไรได้จริงหรือไม่ Backtesting Forex เป็นขั้นตอนที่สำคัญที่สุดก่อนนำกลยุทธ์ไปใช้จริง เทรดเดอร์ที่ไม่ Backtest ก็เหมือนนักบินที่ไม่เคยฝึกบน Simulator แล้วไปขับเครื่องบินจริง Backtesting ช่วยให้รู้ว่ากลยุทธ์มี Win Rate เท่าไหร่ R:R เป็นอย่างไร Max Drawdown สูงแค่ไหน และทำงานได้ดีในสภาพตลาดแบบไหน ก่อนเสียเงินจริงแม้แต่บาทเดียว
ทำไมต้อง Backtest?
- รู้ว่ากลยุทธ์ทำกำไรได้จริง: ไม่ใช่แค่ “คิดว่าน่าจะดี” แต่มีข้อมูลพิสูจน์
- รู้สถิติล่วงหน้า: Win Rate Profit Factor Max Drawdown Expectancy ก่อนใช้จริง
- สร้างความมั่นใจ: รู้ว่ากลยุทธ์ผ่านการทดสอบแล้ว ทำให้ทำตามแผนได้แม้ขาดทุนติดกัน
- ประหยัดเงิน: ค้นพบจุดอ่อนของกลยุทธ์ก่อนเสียเงินจริง
- ปรับปรุงกลยุทธ์: ทดลองปรับ Parameter ต่างๆ (SL TP Filter) ดูว่าอะไรดีที่สุด
2 วิธี Backtesting
1. Manual Backtesting (แนะนำสำหรับ Discretionary Trader)
- วิธี: เลื่อนกราฟย้อนหลัง ดูทีละแท่งเทียน หา Setup ตาม Rules แล้วบันทึกผล
- เครื่องมือ: TradingView (Replay Mode) MT4 (กด F12 เลื่อนทีละแท่ง) Forex Tester (โปรแกรมเฉพาะ)
- ขั้นตอน:
- ขั้นตอน 1: เขียน Rules ของกลยุทธ์ให้ชัดเจน (Entry Exit SL TP)
- ขั้นตอน 2: เลือกคู่เงินและ Timeframe
- ขั้นตอน 3: เลื่อนกราฟย้อนหลัง 6-12 เดือน
- ขั้นตอน 4: เมื่อเห็น Setup → บันทึก Entry SL TP ผลลัพธ์ ใน Spreadsheet
- ขั้นตอน 5: ทำซ้ำจนได้อย่างน้อย 50-100 เทรด
- ขั้นตอน 6: คำนวณสถิติ Win Rate R:R Profit Factor Max Drawdown
- ข้อดี: ฝึก Pattern Recognition ไปด้วย เข้าใจกลยุทธ์ลึกซึ้ง เหมาะกับ Price Action
- ข้อเสีย: ใช้เวลามาก (10-20 ชั่วโมง) อาจมี Bias (รู้ผลล่วงหน้า)
2. Automated Backtesting (สำหรับ Systematic/EA Trader)
- วิธี: เขียนโปรแกรม (EA) ให้ทดสอบกลยุทธ์กับข้อมูลย้อนหลังอัตโนมัติ
- เครื่องมือ: MT4/MT5 Strategy Tester TradingView Pine Script Python (Backtrader QuantConnect)
- ข้อดี: เร็วมาก (ทดสอบ 10 ปีใน 5 นาที) ไม่มี Bias ทดสอบ Parameter หลายค่าได้
- ข้อเสีย: ต้องเขียนโค้ด ไม่เหมาะกับ Discretionary Strategy ข้อมูลคุณภาพต่ำ = ผลไม่น่าเชื่อถือ
สถิติที่ต้องวัดจาก Backtest
| สถิติ | สูตร | ค่าที่ดี | ความหมาย |
|---|---|---|---|
| Win Rate | เทรดกำไร / เทรดทั้งหมด × 100 | 40%+ (R:R 1:2) 55%+ (R:R 1:1) | เปอร์เซ็นต์ชนะ |
| Avg R:R | กำไรเฉลี่ย / ขาดทุนเฉลี่ย | > 1.5 | กำไรเทียบกับขาดทุนต่อเทรด |
| Profit Factor | กำไรรวม / ขาดทุนรวม | > 1.5 (ดี > 2.0) | กำไรทุกบาทมาจากขาดทุนกี่บาท |
| Expectancy | (Win% × Avg Win) – (Loss% × Avg Loss) | > 0 | กำไรเฉลี่ยที่คาดหวังต่อเทรด |
| Max Drawdown | ขาดทุนสูงสุดจาก Equity Peak | ช่วงขาดทุนหนักที่สุด | |
| Max Consecutive Loss | จำนวนครั้งที่แพ้ติดกันมากที่สุด | เตรียมใจสำหรับ Losing Streak | |
| จำนวนเทรด | เทรดทั้งหมดในช่วงทดสอบ | > 50 (ดี > 100) | ยิ่งมาก ยิ่งน่าเชื่อถือ |
ข้อผิดพลาดที่พบบ่อยใน Backtesting
- Curve Fitting (Overfitting): ปรับ Parameter จนกลยุทธ์สมบูรณ์แบบบนข้อมูลเก่า แต่ใช้ไม่ได้จริง เพราะ “จำ” ข้อมูลเก่า ไม่ใช่ “เรียนรู้”
- วิธีป้องกัน: แบ่งข้อมูลเป็น In-Sample (ใช้พัฒนา) + Out-of-Sample (ใช้ทดสอบ) ถ้าทั้ง 2 ให้ผลดี = กลยุทธ์น่าเชื่อถือ
- Hindsight Bias: ดูกราฟย้อนหลังแล้ว “รู้คำตอบ” ทำให้เลือกเฉพาะเทรดที่ชนะ
- วิธีป้องกัน: ใช้ Replay Mode เลื่อนทีละแท่งเทียน ไม่ดูอนาคต
- ไม่รวม Spread/Commission: Backtest โดยไม่คิด Spread → ผลลัพธ์ดีเกินจริง
- ข้อมูลคุณภาพต่ำ: ข้อมูลไม่ครบ มี Gap → ผลลัพธ์ไม่น่าเชื่อถือ
- จำนวนเทรดน้อยเกินไป: Backtest แค่ 20 เทรด → ไม่มีนัยสำคัญทางสถิติ ต้อง 50+ เทรด
- ไม่ทดสอบในสภาพตลาดต่างๆ: กลยุทธ์ดีช่วง Trend แต่ไม่เคยทดสอบช่วง Ranging
ขั้นตอนหลัง Backtest
- Backtest ดี → Forward Test: ทดสอบบน Demo Account แบบ Real-time 1-3 เดือน
- Forward Test ดี → Live เงินน้อย: เทรดจริงด้วย Micro Lot 1-3 เดือน
- Live เงินน้อยดี → เพิ่ม Size: ค่อยๆ เพิ่ม Lot Size อย่างระมัดระวัง
- ทุกขั้นตอน: วัดสถิติเปรียบเทียบกับ Backtest ถ้าต่างกันมาก → ตรวจสอบ
สรุป Backtesting สำหรับ Forex
Backtesting เป็นขั้นตอนสำคัญที่ต้องทำก่อนใช้กลยุทธ์จริง ใช้ Manual Backtesting สำหรับ Price Action Strategy ทดสอบอย่างน้อย 50-100 เทรด วัดสถิติ Win Rate Profit Factor Max Drawdown ระวัง Curve Fitting และ Hindsight Bias แบ่งข้อมูลเป็น In-Sample/Out-of-Sample แล้วตาม Forward Test → Live เงินน้อย → เพิ่ม Size ตามลำดับ ติดตามสัญญาณเทรดได้ที่ xmsignal.com และอ่านบทความเพิ่มเติมที่ siamlancard.com และ siam2r.com







TH ▼
English
Tiếng Việt
Indonesia
Melayu
ខ្មែរ
ລາວ
日本語
한국어
简体中文