# Backtest infra survey — 30 ส.ค. 2026

สำรวจว่าเครื่องนี้ (Mac, wine) พร้อม backtest EA แค่ไหน ก่อนเริ่มทำ EA ให้ระบบแม่ปลา

## งาน 1 — Gems-Master-Instruction.md คืออะไร

`_Course/Trade/Book/Gems-Master-Instruction.md` (11KB) = **system prompt สำหรับ AI ผู้ช่วยวิเคราะห์กราฟ** ตาม "ระบบแม่ปลาปากกาเขียว" — price action ล้วนบนกราฟเปล่า ใช้กับ XAUUSD

หลักการแกนกลาง: **เทรน ชนะ กรอบ → กรอบ ชนะ Sig** (Trend > Frame > Signal)

นิยาม/กฎที่แปลงเป็น EA logic ได้ตรงๆ:
- **PA 5 รูปแบบ**: PAT1 (Pin Bar) / PAT2 (Engulfing, เนื้อเกิน 50% ของแท่งก่อน) / PAT3×3 แบบ (Three-inside variants) / Doji — ทั้งหมด mechanical นับได้จาก OHLC
- **กรอบ (S/R)**: จุดสัมผัส 7-14 จุดใน H4 หรือราคาลงท้าย 0/5 (กรอบนัยยะ) — คำนวณได้จาก swing points
- **ไส้หลัง Sig** = SL + จุดเริ่มนับรอบวิ่ง (TP) — กฎ SL/TP ชัดเจน เขียนเป็นโค้ดได้
- **รอบวิ่ง TP ตาม TF**: H1=1,000pt / H4=1,500-3,000 / Day=5,000-10,000 / Week=15,000-30,000
- **การถูกทำลาย**: Sig ถูกทำลายเมื่อราคาเกินไส้หลัง Sig, จุดเช็คถูกทำลายหลัง TP1 — invalidate rule ชัด
- **OVL (Overlab)**: วิ่งเลยกรอบไม่เกิน 300 จุดยังนับอยู่ในโซน — edge case ต้อง handle
- กฎเข้า 2 กรณี (เข้าที่ไส้หลัง Sig ทันที vs รอคอนเฟิร์ม) — ทั้งคู่แปลงเป็น entry logic ได้

**ข้อสังเกต**: เอกสารนี้เขียนมาเป็น prompt ให้ AI ตอบคำถามคน (ภาษาไทย, ศัพท์เฉพาะ) ไม่ใช่ pseudocode ของ EA — ถ้าจะเอาไปทำ EA จริงต้อง "แปล" นิยามพวกนี้เป็นตัวเลข/เงื่อนไข mechanical เอง (เช่น "จุดสัมผัส 7-14 จุด" ต้อง define algorithm หา swing point + clustering ก่อน) ยังไม่มี threshold ที่ชัดพอจะ code ตรงๆ ทุกจุด (เช่น ATR filter ของ "กรอบเช้า", "พักครึ่ง/พักสวิงตาม Fibonacci" ไม่มีตัวเลข % ระบุ)

## งาน 2 — โครงสร้าง EA/MT5 ที่มีอยู่ (`trade/ea/`)

**คนละโปรเจกต์กับแม่ปลา** — `trade/ea/CLAUDE.md` เขียนกำกับไว้ชัดว่า "กองเรือ EA เทรดทอง" แยกจาก Mother Fish (เว็บความรู้). แต่โครงสร้าง/pipeline ใช้ร่วมกันได้เต็มที่

### 1. MT5 ติดตั้งอยู่ — พร้อมใช้งานจริง ไม่ใช่แค่ลง
- `/Applications/MetaTrader 5.app` (native wrapper, ใช้ wine ข้างใน)
- Wine prefix: `~/Library/Application Support/net.metaquotes.wine.metatrader5/`
- มี terminal ติดตั้งซ้อน 3 broker: **MetaTrader 5** (MetaQuotes-Demo), **MetaTrader 5 EXNESS** (Exness-MT5Trial17), **FTMO Global Markets MT5 Terminal**
- มี MT5Lab2/3/4 อีก 3 instance แยก (`drive_c/MT5Lab2..4/terminal64.exe`) — รองรับรัน backtest ขนานหลาย lane

### 2. EA ที่โครงใกล้เคียง price-action มากสุด
- **FTMO_Guardian.mq5** — Asian Range Breakout, มีคู่มือละเอียดสุด (§4-9 ครบ วิธี install/backtest/สอบจริง) → ใช้เป็น template ตั้งต้นดีที่สุด
- **FTMO_Sniper.mq5** — Liquidity Sweep Reversal (Wyckoff spring/stop-hunt fade) → concept ใกล้ "เก็บบอดี้" ของแม่ปลา แต่ตกสนาม (0 ผ่าน, ห้ามใช้)
- **FTMO_TrendRider.mq5** — H1 EMA pullback continuation, เข้าที่ resume bar → concept ใกล้ "Sig ค้ำ Sig" (เทรนแล้วรอย่อเข้า) และเป็นแชมป์กองเรือ (3/4 ผ่าน, 0 ตาย)
- **FTMO_NyOrb.mq5** — NY Opening Range Breakout (ACD/Crabel) → ใกล้ concept "กรอบเช้า"
- ไม่มี EA ตัวไหนตรงกับนิยาม Sig/PAT1-3/กรอบ-สัมผัสของแม่ปลาแบบ 1:1 — ทุกตัวเป็น breakout/trend/mean-reversion แบบทั่วไป ต้องเขียนใหม่ถ้าจะตาม spec แม่ปลาเป๊ะ

### 3. Pipeline backtest อัตโนมัติ — มีจริง พิสูจน์แล้วด้วยผลลัพธ์จริง
- คำสั่ง headless เต็ม (จาก `FTMO_Guardian.html` §6):
  ```
  export WINEPREFIX="$HOME/Library/Application Support/net.metaquotes.wine.metatrader5"
  WINE="/Applications/MetaTrader 5.app/Contents/SharedSupport/wine/bin/wine"
  "$WINE" "C:\\Program Files\\MetaTrader 5\\terminal64.exe" /config:C:\\backtest.ini
  ```
  ผลออก HTML report ที่ `drive_c/Program Files/MetaTrader 5/<name>_report.htm` + PNG กราฟ
- เจอ `.ini` config เกือบ 80 ไฟล์ใน `drive_c/` (bt_*.ini, opt_*.ini, rg_*.ini ฯลฯ) — เคยรัน backtest/optimization/walk-forward มาแล้วนับสิบ EA ทุกตัว, มี `optimize.ini` รองรับ walk-forward (ForwardMode=3)
- เจอ report จริง (`.htm`/`.png`) ของ TrendRider, Turtle, Vwap, Guardian, Sniper, Pyramid, Squeeze, Dipper, Ignition, Marathon, NightOwl, PairTrader, SweepGate ฯลฯ — ระบบนี้ **ผ่านการใช้งานจริงมาแล้ว ไม่ใช่ทฤษฎี**
- `gatekeeper/gate_daemon.py` — daemon Python คุมรอบเทรด/reporting เพิ่มเติม (ยังไม่ได้อ่านลึก)

### 4. Historical data XAUUSD — มีจริง
- ไม่มี .csv/.hst แยกไฟล์ต่างหาก แต่ MT5 เก็บ history เองใน bases:
  - `MetaTrader 5/Bases/MetaQuotes-Demo/history/XAUUSD/` + `Tester/bases/MetaQuotes-Demo/history/XAUUSD/`
  - `MetaTrader 5 EXNESS/Bases/Exness-MT5Trial17/history/XAUUSDm/` + `XAUEURm/`
  - FTMO terminal มี Bases โฟลเดอร์แต่ยังไม่เจอ history XAU แยก (อาจต้อง download ครั้งแรกตอนเปิด terminal)
- ข้อจำกัดที่บันทึกไว้เอง (Guardian.html §8): **backtest ใช้ M1 OHLC จาก MetaQuotes-Demo ไม่ใช่ real tick + spread/commission แบบ FTMO จริง** — เพียงพอสำหรับทดสอบ logic ระบบแม่ปลา แต่ไม่ใช่ระดับ production-grade เต็มร้อย

### 5. README/CLAUDE.md ใน trade/ea/
- `CLAUDE.md` ชี้ไปที่ `_doc/STATUS.md` (สถานะเต็ม), `_doc/TODO.md`, กฎ "ทุก mq5 ต้องมี html คู่", deploy เว็บผ่าน `build_site.py`
- `README.md` = สรุปอันดับ EA 30 ตัว, ผลสอบ 4 ช่วงเวลา, insight สำคัญ: **ตระกูล trend/breakout รอด 8/8, ตระกูล fade (mean-reversion) ตาย 2/2** — ทองปี 2025-26 regime เทรนด์แรง (relevant ถ้าจะออกแบบ EA แม่ปลาที่เน้น PA reversal ที่กรอบ ต้องระวัง regime นี้)

## งาน 3 — Backtest แบบไม่ง้อ MT5

- **python3**: `/Library/Frameworks/Python.framework/Versions/3.14/bin/python3` (3.14.3)
- **pandas**: 2.3.3 ✅ มีแล้ว
- **numpy**: 2.4.2 ✅ มีแล้ว
- **backtesting.py**: ❌ ไม่มี
- **vectorbt**: ❌ ไม่มี
- **backtrader**: ❌ ไม่มี

**ถ้าจะ backtest ทาง Python (ไม่ผ่าน MT5)** ต้องติดตั้งเพิ่ม 1 ใน:
- `pip install backtesting` (เบาสุด, เหมาะ prototype price-action rule เร็วๆ, single-asset)
- หรือ `pip install vectorbt` (เร็วกว่ามากสำหรับ vectorized/parameter sweep แต่ curve ชันกว่า)
- หรือ `pip install backtrader` (ครบเครื่องสุด แต่ setup event-driven ซับซ้อนกว่า)
- ยังต้อง**หา historical data XAUUSD เป็น CSV** ด้วย (export จาก MT5 ผ่าน Script/Terminal → History Center → Export, หรือดึงจาก data vendor อื่น) เพราะ python ไม่อ่าน `.hst` ของ MT5 ตรงๆ

## สรุป — เทสได้ไหม / ทางไหนเร็วสุด

**เทสได้เลยวันนี้ ไม่ต้องติดตั้งอะไรเพิ่ม** — ทาง MT5 headless backtest พร้อมสมบูรณ์แบบที่สุด: ติดตั้งแล้ว, มี XAUUSD history แล้ว, มี pipeline+ตัวอย่าง .ini +คู่มือ command เต็ม, พิสูจน์แล้วว่าใช้งานได้จริงจากผล report ของ EA อื่นๆ นับสิบตัว

**ทางเร็วสุด**: เขียน EA ตาม logic แม่ปลา (.mq5) โดย clone โครงจาก `FTMO_Guardian.mq5` (มี compliance shell + คู่มือ backtest พร้อมสุด) → compile → เขียน `bt_<name>.ini` ใหม่ (มีตัวอย่างเพียบใน `drive_c/`) → รันคำสั่ง headless ตาม §6 ของ Guardian.html → ได้ report .htm ทันที

**ทางเลือก (ถ้าอยากลองกฎ PA ไวๆ แบบ vectorized ก่อนลงมือ .mq5 จริง)**: ใช้ python — แต่ต้อง (1) ติดตั้ง `backtesting`/`vectorbt` อย่างใดอย่างหนึ่ง (2) export XAUUSD history จาก MT5 เป็น CSV ก่อน (ยังไม่มี CSV อยู่ในเครื่อง) — ช้ากว่าทาง MT5 เพราะต้องเตรียม 2 อย่างที่ยังไม่มี

**ข้อควรระวังที่เจอจาก README กองเรือเดิม**: กลยุทธ์แนว fade/mean-reversion ตายทุกตัว (Sniper, NightOwl) ในระบบทองปี 2025-26 — ถ้า logic แม่ปลาเน้น PA reversal ที่กรอบ (fade-ish) ต้องเผื่อใจ/ทดสอบ regime นี้ให้หนักเป็นพิเศษ
