Python กับ MT5 บัญชีจริงต่างกัน 92-98% เรื่องที่พบ
สารบัญ
- รายละเอียดกลยุทธ์ — Asia Range → NY Session Breakout
- ผลลัพธ์จาก Python Walk-Forward — ตัวเลขที่ดูโดดเด่น
- แต่เมื่อทดสอบย้อนหลัง 14 ปีบนบัญชีจริง MT5 (USDJPY_NY_BREAKOUT_EA.mq5 v2.0)
- ทำไมถึงต่างกันมากขนาดนี้ — 5 สมมติฐาน
- 1. ไม่ได้คำนึงถึง Spread/Slippage
- 2. คุณภาพของข้อมูล
- 3. ความต่างของโมเดลการส่งคำสั่ง
- 4. จุดอ่อนของ TP แบบ 2 ขั้นด้วย ATR บนบัญชีจริง
- 5. ผลเสียของ CASCADE ดอกเบี้ยทบต้นครึ่งอัตราบนบัญชีจริง
- บทเรียนระดับอุตสาหกรรม
- 1. Python Backtest/Walk-Forward **ไม่สามารถใช้อ้างอิงผลบนบัญชีจริง MT5 ได้**
- 2. แม้แต่ "สมมติฐานที่มีเหตุผลทางเศรษฐศาสตร์" ก็ต้องทดสอบบัญชีจริง
- 3. เสริมความหนักแน่นให้กฎ "ทดสอบบัญชีจริงต้องทำเสมอ" ใน CLAUDE.md
- การตัดสินใจของ FXEA365
- ข้อเสนอแนะสำหรับผู้ใช้ Python Backtest
- ลิงก์ที่เกี่ยวข้อง
Python กับ MT5 บัญชีจริงต่างกัน 92-98% เรื่องที่พบ
นี่คือทีมงาน FXEA365
บทความนี้จะเปิดเผยทั้งหมดเกี่ยวกับ ผลการเปรียบเทียบกลยุทธ์ NY Session Breakout ระหว่าง Python Walk-Forward กับการทดสอบย้อนหลัง 14 ปีบนบัญชีจริง MT5 เมื่อวันที่ 2026-05-29 ซึ่งพบว่า PF ต่างกันถึง 92-98%
ข้อมูลนี้เป็นการยืนยันในระดับอุตสาหกรรมอีกครั้งว่า "ถึงแม้ตัวเลขจาก Python Backtest จะดูดีเกินจริง ก็ไม่ได้หมายความว่าจะทำงานได้จริงบน MT5 บัญชีจริง"
รายละเอียดกลยุทธ์ — Asia Range → NY Session Breakout
| รายการ | การตั้งค่า |
|---|---|
| Timeframe | H1 |
| Asia Range | 0-4h UTC (ช่วงสร้างเรนจ์เวลาเอเชีย) |
| ช่วงเวลาเทรด | 15-20h UTC (ระหว่าง NY Session) |
| เงื่อนไขเข้า | เบรกเอาต์ High/Low ของช่วงเวลาเอเชีย |
| เงื่อนไขออก | SL = ATR × 0.5 / TP1 = ATR × 0.5 (ปิด 50%) / TP2 = ATR × 7.0 |
| ขนาดล็อต | Risk 2% (CASCADE ดอกเบี้ยทบต้นครึ่งอัตรา) |
กลยุทธ์ที่ในทางทฤษฎีมีความได้เปรียบ:
- NY Session (UTC 15-20 น. = เวลาไทย 22-03 น.) เป็นช่วงที่นักลงทุนสถาบันเทรดมากที่สุด สภาพคล่องสูง
- Asia Range เป็นค่าอ้างอิงตามธรรมชาติ การเบรกขึ้นหรือลงจากเรนจ์นี้เป็นสัญญาณทิศทางที่ชัดเจน
- การปิดออเดอร์แบบ 2 ขั้น (TP1=ATR×0.5/TP2=ATR×7) ช่วยป้องกันเบรกเอาต์หลอกและจับเทรนด์ไปพร้อมกัน
ผลลัพธ์จาก Python Walk-Forward — ตัวเลขที่ดูโดดเด่น
ระหว่างวันที่ 2026-05-27 ถึง 28 ได้รันสคริปต์ scripts/gen_h1_ny_walkforward.py เพื่อทำ Walk-Forward (Train 60% / Test 40%) กับ 9 คู่เงิน:
| คู่เงิน | train PF | test PF | test DD | test WR | ความสม่ำเสมอ | อัตรารอดชีวิต OOS |
|---|---|---|---|---|---|---|
| EURUSD | 7.42 | 9.03 | 5.47% | 79.6% | 0.82 | 500/500 |
| GBPUSD | 11.78 | 13.00 | 31.85% | 84.2% | 0.91 | 500/500 |
| XAUUSD | 7.76 | 11.96 | 13.18% | 80.9% | 0.65 | (ทดสอบครั้งก่อน) |
| EURJPY | 9.41 | 7.93 | 7.46% | 79.2% | 0.84 | 500/500 |
| GBPJPY | 9.74 | 8.24 | 12.30% | 79.3% | 0.85 | 500/500 |
| USDJPY | 6.12 | 11.62 | 36.24% | 80.7% | 0.53 | (ทดสอบครั้งก่อน) |
| CADJPY | 7.59 | 5.76 | 32.81% | 75.9% | 0.76 | 499/500 |
| AUDJPY | 8.49 | 6.32 | 27.33% | 74.4% | 0.74 | 351/500 |
| NZDJPY | 9.22 | 6.51 | 15.05% | 70.6% | 0.71 | 500/500 |
ทั้ง 9 คู่เงินได้ PF≥5 × อัตราชนะ≥70% × อัตรารอดชีวิต OOS 500/500
ตามธรรมเนียมของอุตสาหกรรมแล้ว นี่คือผลลัพธ์ที่ควรจะประกาศบนเว็บไซต์ว่า "ค้นพบความได้เปรียบสากลในฝัน!" "ขยายไลน์อัพครอบคลุมทุกคู่เงิน!"
แต่เมื่อทดสอบย้อนหลัง 14 ปีบนบัญชีจริง MT5 (USDJPY_NY_BREAKOUT_EA.mq5 v2.0)
ตามกฎ "ทดสอบบัญชีจริงต้องทำเสมอ" ใน CLAUDE.md จึงนำ 4 คู่เงินที่แข็งแกร่งที่สุดจาก Python WF มาทดสอบย้อนหลัง 14 ปีบนบัญชีจริง MT5 อีกครั้ง:
| คู่เงิน | Python WF (test) | MT5 บัญชีจริง 14 ปี | อัตราความต่าง | ผลลัพธ์บัญชี |
|---|---|---|---|---|
| USDJPY | PF 11.62 / DD 36% | PF 0.77 / DD 99.72% | −93% | -$9,966 (เกือบล้างพอร์ต) |
| EURUSD | PF 9.03 / DD 5.47% | PF 0.73 / DD 99.84% | −92% | -$9,984 (เกือบล้างพอร์ต) |
| GBPUSD | PF 13.00 / DD 31.85% | PF 0.21 / DD 101.12% | −98% | -$10,112 (บัญชีล้าง) |
| EURJPY | PF 7.93 / DD 7.46% | PF 0.49 / DD 100.01% | −94% | -$10,001 (บัญชีล้าง) |
ทั้ง 4 คู่เงินขาดทุนหมด ความต่างของ PF ระหว่าง Python WF กับบัญชีจริงอยู่ที่ 92-98%
ทำไมถึงต่างกันมากขนาดนี้ — 5 สมมติฐาน
1. ไม่ได้คำนึงถึง Spread/Slippage
Python Backtest คำนวณแบบ close-to-close ส่วนบัญชีจริงแต่ละออเดอร์จะถูกลดทอนด้วย spread (0.5-2 pips) + slippage ทำให้ขาดทุนสะสม 1-3 pips ต่อการเทรดหนึ่งครั้ง
2. คุณภาพของข้อมูล
Python ใช้ข้อมูล Dukascopy M5 รวมเป็น H1 ส่วน MT5 บัญชีจริงใช้ ข้อมูล tick จากโบรกเกอร์ (การเคลื่อนไหวของราคาละเอียดกว่า) แม้จะเป็น "แท่งเทียน H1" เหมือนกัน แต่การเคลื่อนไหวของราคาภายในแท่งต่างกัน
3. ความต่างของโมเดลการส่งคำสั่ง
Python สมมติว่าคำสั่งจะถูกส่งที่ราคาที่ต้องการเสมอ (ideal execution) ส่วน MT5 บัญชีจริงมี ข้อจำกัดด้าน volume/spread ทำให้ราคาที่ต้องการกับราคาที่ส่งจริงต่างกัน โดยเฉพาะในช่วงเวลาที่ผันผวนสูง (เช่นทันทีที่ NY เปิดตลาด)
4. จุดอ่อนของ TP แบบ 2 ขั้นด้วย ATR บนบัญชีจริง
แม้ในทางทฤษฎีจะออกแบบมาอย่างสวยงาม แต่ TP2=ATR×7 แทบไม่มีทางไปถึงบนบัญชีจริง
- Python Backtest: คำนวณ SL/TP ที่เหมาะสมที่สุดจากข้อมูลย้อนหลังแบบรู้ผลล่วงหน้า
- บัญชีจริง: SL=ATR×0.5 โดนบ่อยครั้ง ในขณะที่เทรนด์ไม่ต่อเนื่องจนถึง TP2=ATR×7 ทำให้ขาดทุนต่อเนื่อง
5. ผลเสียของ CASCADE ดอกเบี้ยทบต้นครึ่งอัตราบนบัญชีจริง
การออกแบบให้ปรับขนาดล็อตตามยอดคงเหลือแบบไดนามิก กลับ เร่งความเสียหายในช่วงขาดทุน:
- ยอดคงเหลือ $10K → Risk 2% → ล็อต 0.2
- แพ้ติดต่อกัน ยอดคงเหลือ $8K → Risk 2% → ล็อต 0.16 (ลดลงเล็กน้อย)
- แพ้ติดต่อกัน ยอดคงเหลือ $5K → Risk 2% → ล็อต 0.10 (ไม่สามารถควบคุมความเสียหายได้)
"มนตราดอกเบี้ยทบต้น" ในทางทฤษฎีกลับกลายเป็นผลลบบนบัญชีจริง
บทเรียนระดับอุตสาหกรรม
1. Python Backtest/Walk-Forward ไม่สามารถใช้อ้างอิงผลบนบัญชีจริง MT5 ได้
- แม้แต่ "PF≥5 × อัตราชนะ≥70% × อัตรารอดชีวิต OOS 500/500" ก็ไม่มีความหมายบนบัญชีจริง
- การตัดสินว่า WF "robust" หรือ "OOS หนักแน่น" เป็นการประเมิน ความหนักแน่นภายในข้อมูล Python เท่านั้น ไม่ใช่ตัวแทนของบัญชีจริง
2. แม้แต่ "สมมติฐานที่มีเหตุผลทางเศรษฐศาสตร์" ก็ต้องทดสอบบัญชีจริง
- "นักลงทุนสถาบันเทรดมากในช่วงเวลา NY" หรือ "การเบรกขึ้น/ลงของ Asia Range เป็นสัญญาณทิศทาง" เป็นแนวคิด ที่ถูกต้องในทางทฤษฎี
- แต่เมื่อทดสอบบัญชีจริง MT5 ย้อนหลัง 14 ปีกลับขาดทุนทั้งหมด = ความต่างระหว่างทฤษฎีกับบัญชีจริงมีมาก
3. เสริมความหนักแน่นให้กฎ "ทดสอบบัญชีจริงต้องทำเสมอ" ใน CLAUDE.md
- 25 EA + NY Session 4 ตัว = รวม 29 ตัวที่ทดสอบแล้วพบว่า Python Backtest เชื่อถือไม่ได้ อย่างชัดเจน
- นี่คือข้อมูลที่สนับสนุนแกนหลักของแบรนด์ FXEA365 ("ไม่ใช่ตัวเลขหวือหวา แต่เป็นการพิสูจน์จริงบนบัญชีจริง") ในระดับอุตสาหกรรม
การตัดสินใจของ FXEA365
เนื่องจากกลยุทธ์ NY Session ทั้ง 9 คู่เงินขาดทุนทั้งหมดเมื่อทดสอบบนบัญชีจริง MT5 จึงไม่สามารถนำขึ้นเผยแพร่บนเว็บไซต์ได้
ยังคงไลน์อัพเดิมไว้: EURJPY ASIA / GBPJPY ASIA / BLAZE GOLD / AUDCAD PEACE-CLONE 4 ตัวหลักเท่านั้น
ผลตอบแทนรวมต่อปี +35.5% (Risk5%) แม้จะไม่ใช่ตัวเลขที่หวือหวา แต่เป็น ตัวเลขที่พิสูจน์แล้วว่าทำงานได้จริงจากการทดสอบบัญชีจริง 14 ปี
ข้อเสนอแนะสำหรับผู้ใช้ Python Backtest
เราไม่ได้ปฏิเสธ Python Backtest แต่ขอแนะนำการใช้งานที่เหมาะสมดังนี้:
| การใช้งาน Python Backtest ที่ถูกต้อง | ระดับคำแนะนำ |
|---|---|
| ตรวจสอบไอเดียกลยุทธ์เบื้องต้น (ทิศทางนี้มีความเป็นไปได้หรือไม่) | ✅ แนะนำ |
| คัดกรองช่วงพารามิเตอร์ (จะทดสอบละเอียดตรงไหน) | ✅ แนะนำ |
| ตรวจสอบความหนักแน่นของ WF (แยก Train/Test เพื่อเช็ค overfitting) | ✅ แนะนำ |
| ใช้เป็นหลักฐานตัวเลขที่เผยแพร่บนเว็บไซต์ | ❌ ห้าม (ต่างจากบัญชีจริง) |
| ใช้ "อัตรารอดชีวิต OOS" เป็นจุดขาย | ❌ ห้าม (ไม่ใช่ตัวแทนบัญชีจริง) |
| ใช้ตัดสินการเผยแพร่ EA | ❌ ห้าม (ต้องทดสอบบัญชีจริง MT5 เสมอ) |
ตัวเลขจาก Python Backtest เป็นเพียง "ตัวชี้วัดคัดกรองเบื้องต้น" เท่านั้น การเผยแพร่จริงต้องผ่านการทดสอบบัญชีจริง MT5
ลิงก์ที่เกี่ยวข้อง
- EA หลัก (ผ่านการทดสอบบัญชีจริงแล้ว):
- ★1 EURJPY ASIA BREAKOUT (PF บัญชีจริง 14 ปี=1.18)
- ★2 GBPJPY ASIA BREAKOUT (PF บัญชีจริง 14 ปี=1.38)
- ★3 BLAZE GOLD v2.30 (PF บัญชีจริง 7 ปี=1.61)
- ★4 AUDCAD PEACE-CLONE (PF บัญชีจริง 10 ปี=1.36)
- บทความที่เกี่ยวข้อง:
FXEA365 — เราเผยแพร่ฟรีเฉพาะกลยุทธ์ที่พิสูจน์แล้วว่าทำงานได้จริงจากการทดสอบบัญชีจริง MT5 ย้อนหลัง 14 ปี ไม่ใช่ตัวเลขอ้างอิงที่หวือหวา
บทความที่เกี่ยวข้อง
📧 แจ้งเตือนก่อนขึ้นราคา + คอร์สอีเมลฟรี 5 วัน
EA ทั้งหมดจำหน่ายในราคาเปิดตัวและจะปรับขึ้นเป็นขั้นตามยอดขาย รับการแจ้งเตือนก่อนการขึ้นราคาแต่ละครั้ง พร้อมอีเมลรายวันเกี่ยวกับการเทรดอัตโนมัติ การอ่านแบ็กเทสต์ และการเลือกโบรกเกอร์
* ปกป้องความเป็นส่วนตัวอย่างเคร่งครัด คุณสามารถยกเลิกการสมัครได้ตลอดเวลา