# RESULT-L2-robustness — ระบบเปราะกับ "จุดเริ่มแท่ง H4" แค่ไหน

> รัน 30 ส.ค. 2026 · ต่อจาก `RESULT-L1-filters.md` §8 และ §11 ข้อ 2 · XAUUSD H4
> เครื่องมือ: `ea/MaePla_L2.mq5` (= L1 ทุกบรรทัด แต่ประกอบแท่ง H4 เองจากแท่ง H1) + `ea/analyze_l2_offsets.py`
> ชั้นข้อมูล: **B/C** — คำแปลเป็นโค้ด + ข้อสังเกตของ FIN · ไม่ใช่คำโค้ช

---

## 🔴 คำตัดสิน

> **1. เปรียบ "ไม่ทน" ต่อการเลื่อนแท่ง — พังทั้งสองดาต้า** ชุดเดียว ช่วงเดียว โค้ดเดียว ค่าล็อกเดียว
> · **MetaQuotes 7.5 ปี**: เปรียบวิ่งจาก **−2.24pp (t=−1.30)** ไป **+4.45pp (t=+2.43)** — กว้าง 6.70pp
> · **Exness 2.8 ปี**: **+6.63pp (t=+2.17)** → เลื่อน 1 ชม. เหลือ **−1.80pp** — กว้าง 8.43pp
> **พลิกเครื่องหมายที่ ±1 ชั่วโมงพอดี ทั้งคู่** = ตรงกับกรณีที่ `EA-SPEC §4.3` เขียนไว้เองว่า 🔴
>
> **2. "+6.56pp ของ Exness" ไม่ใช่เรื่องของโบรก — มันคือ bar alignment ล้วนๆ**
> สองเทอร์มินัลนี้ **นาฬิกาไม่ตรงกัน 2–3 ชม.** (พิสูจน์แล้ว ข้อ 3) — ที่ `§8` เขียนว่า *"ทั้งคู่เปิด 00/04/08 เหมือนกัน ไม่มี time-shift"* **ผิด**
> เอาดาต้า **MetaQuotes** มาแบ่งแท่งด้วย **กริดเวลาของ Exness** แล้วรันซ้ำ → ได้ **+6.54pp (t=+2.18)** เทียบกับของจริงบน Exness **+6.63pp (t=+2.17)**
> และทายได้ครบ **ทั้ง 4 กริด** คลาดสูงสุด 0.81pp — ดาต้าคนละเจ้า แต่แบ่งแท่งเหมือนกันแล้วได้คำตอบเดียวกัน
> → `§8` ทั้งหัวข้อ ไม่ได้กำลังวัด "คุณภาพ feed" มันวัด **bar alignment** มาตั้งแต่ต้น
>
> **3. ต่อให้เลือกกริดที่ดีที่สุดหลังเห็นข้อมูลแล้ว ก็ยังไม่ผ่านเกณฑ์ของโปรเจกต์เอง**
> กริดที่ดีสุด (UTC-00) ให้ 21.2% · CI ขอบล่าง 17.8% → **ไม่ถึงเกณฑ์ §4.1 B (≥22% · ขอบล่าง >18%)**
> และเป็น **ยอดแหลมโดดเดี่ยว** — ขยับ ±1 ชม. เหลือ 41% / −25% ของยอด → **ตก §4.3 ข้อ 3**

**คำตอบของคำถามที่ตั้งไว้:** ที่เห็นบน Exness **ไม่ใช่เปรียบของสัญญาณ** — มันคือเปรียบของ *การเลือกว่าจะขีดเส้นแบ่งแท่งตรงไหน* ซึ่งเป็นตัวเลือกที่ระบบแม่ปลาไม่เคยพูดถึง เปลี่ยนโบรกก็เปลี่ยน เปลี่ยน DST ก็เปลี่ยน

---

## 1. เครื่องมือ — และ sanity check ที่ต้องผ่านก่อนแตะผลใดๆ

`MaePla_L2.mq5` = ก็อป `MaePla_L1.mq5` มาทั้งไฟล์ แล้วเปลี่ยน **ที่มาของแท่ง H4** อย่างเดียว:
รันบนกราฟ **H1** แล้วพับแท่ง H1 ทีละ 4 แท่งเป็นแท่ง H4 เอง โดยเลื่อนจุดเริ่มได้ 0/1/2/3 ชม.
**ตรรกะ PA · ไส้หลังซิก · การแข่ง TP/SL จาก M1 · คอลัมน์บริบท 14 ตัว — ไม่แตะแม้แต่บรรทัดเดียว**

| การสอบเทียบ (ต้องผ่านทุกข้อ) | ผล |
|---|---|
| จำนวนแท่งสังเคราะห์ที่ offset 0 = จำนวนแท่ง H4 ของเทอร์มินัล | ✅ **11,718 = 11,718 เป๊ะ** |
| ผล offset 0 ตรงกับ `maepla_l1_all.csv` ไหม | ✅ **29,598 แถว · คีย์ตรงกัน 100% · ทุกคอลัมน์ตรงกันหมด** ยกเว้น `atr14` |
| `atr14` ต่างกันเท่าไร | 895/29,598 แถว ต่างกัน **0.01 USD พอดี** (= หลักสุดท้ายของการปัดทศนิยม 2 ตำแหน่ง · สูงสุด 0.018%) — **ไม่แตะ `tp1_before_sl` เลย** |
| Exness offset 0 ตรงกับ `maepla_l1_exness.csv` ไหม | ✅ **11,536 แถว ตรงกันหมด** (atr14 ต่าง 12 แถว × 0.01 USD) |
| ละเมิด look-ahead ไหม | ✅ **0 ครั้ง ทุก run** (assert `GuardIdx` ในตัว) |
| การแข่ง TP/SL ตัดสินด้วย M1 กี่ % | ✅ **100% ทุก run** — ไม่มี fallback H4 เลย |
| แท่งกระโดดข้ามถัง (bug ของการพับ) | ✅ **0 ครั้ง ทุก run** |

> เครื่องมือผ่านด่านที่โจทย์ตั้งไว้: **ที่ offset 0 มันคือ L1 ตัวเดิมเป๊ะ** ไม่ใช่ของใหม่ที่บังเอิญคล้าย
> ⚠️ ข้อจำกัดเดียว: L2 ต้องอุ่นเครื่อง 209 แท่งก่อนเริ่มยิง (L1 ได้ประวัติแถมจากเทอร์มินัล) → **ทุกการเทียบในเอกสารนี้ตัดหน้าต่างเวลาให้เท่ากันทุก run เสมอ**

---

## 2. ผลหลัก — เลื่อนจุดเริ่มแท่ง บนดาต้าชุดเดียวกัน

### MetaQuotes XAUUSD · 2019.02 – 2026.07 (7.5 ปี — กำลังทดสอบสูงสุดที่มี)

| จุดเริ่มแท่ง H4 | N (SIG) | SIG rate | สุ่มถ่วงทิศ | **เปรียบ** | t | เปรียบ (R) |
|---|---|---|---|---|---|---|
| **+0 ชม.** (00/04/08/12/16/20) | 434 | 14.7% | 17.0% | **−2.24pp** | **−1.30** | −0.117R |
| **+1 ชม.** (01/05/09/13/17/21) | 436 | 18.1% | 17.0% | **+1.11pp** | +0.60 | +0.065R |
| **+2 ชม.** (02/06/10/14/18/22) | 509 | 21.2% | 16.8% | **+4.45pp** | **+2.43** | +0.263R |
| **+3 ชม.** (03/07/11/15/19/23) | 519 | 18.5% | 16.5% | **+2.02pp** | +1.17 | +0.124R |

**การเข้าไม้สุ่มนิ่งที่ 16.5–17.0% ทุก offset** → ตลาดชุดเดียวกันจริง เปลี่ยนแค่วิธีแบ่งแท่ง ✅ (นี่คือกลุ่มควบคุมที่ทำให้เทียบกันได้)

### 🔴 อ่านตัวเลขให้ออก

- **ช่วงของเปรียบกว้าง 6.70pp** — กว้างกว่าเปรียบทั้งก้อนที่โปรเจกต์นี้เคยเห็น (+6.56pp บน Exness)
- **off0 กับ off2 ต่างกันอย่างมีนัยสำคัญ**: Δ = +6.70pp · SE = 2.51pp · **t = +2.66**
  → *วิธีขีดเส้นแบ่งแท่งสองแบบที่ถูกต้องพอกัน ให้คำตอบที่ต่างกันเกินความบังเอิญ* — นั่นคือนิยามของ "เปราะ"
- **รวมทั้ง 4 offset เป็นก้อนเดียว** (= ประมาณเปรียบที่ไม่ขึ้นกับการแบ่งแท่ง): N=1,898 · **+1.48pp · t=+1.65**
  (t นี้เป็น **ขอบบน** — 4 offset ใช้ตลาดช่วงเดียวกัน ไม่อิสระจริง SE จริงกว้างกว่านี้)

### Exness XAUUSDm · 2023.09 – 2026.06 (ตรวจซ้ำบนดาต้าคนละเจ้า)

| จุดเริ่มแท่ง H4 | N (SIG) | SIG rate | สุ่มถ่วงทิศ | **เปรียบ** | t |
|---|---|---|---|---|---|
| **+0 ชม.** (= กริดที่ `§8` ใช้) | 198 | 23.7% | 17.1% | **+6.63pp** | **+2.17** |
| **+1 ชม.** | 197 | 15.2% | 17.0% | **−1.80pp** | −0.69 |
| **+2 ชม.** | 157 | 17.8% | 18.0% | −0.21pp | −0.07 |
| **+3 ชม.** | 185 | 22.2% | 17.1% | +5.02pp | +1.63 |

**สุ่มนิ่งที่ 17.0–18.0% ทุก offset** · ช่วงของเปรียบกว้าง **8.43pp** · บวกแค่ **2/4**
> เลื่อนแท่งไป 1 ชม. เปรียบ **+6.63pp หายเกลี้ยงกลายเป็น −1.80pp** บนดาต้าเดียวกันเป๊ะ
> **นี่คือคำตอบตรงๆ ของคำถามที่ตั้งไว้** — ตัวเลข +6.56pp ที่ทั้งโปรเจกต์แขวนอยู่ ทนการเลื่อนแท่ง 1 ชั่วโมงไม่ได้

### สัญญาณแต่ละ offset เป็นคนละชุดกันเกือบทั้งหมด

| | off0 | off1 | off2 | off3 |
|---|---|---|---|---|
| **off0** | 100% | 18% | 9% | 12% |
| **off1** | 17% | 100% | 14% | 10% |
| **off2** | 8% | 12% | 100% | 17% |
| **off3** | 10% | 8% | 16% | 100% |

*(ตรงกัน = ทิศเดียวกัน + เวลาเข้าต่างกันไม่เกิน 4 ชม.)*

> เลื่อนแท่งไป 1 ชม. → **สัญญาณเปลี่ยนไป 82–92%** = แต่ละ offset คือการ "จับฉลากไม้ใหม่ ~450 ใบ" จากตลาดเดียวกันด้วยกฎเดียวกัน
> ผลของการจับฉลาก 4 ครั้ง: −2.24 / +1.11 / +4.45 / +2.02 pp
> **นี่คือหน้าตาของ noise ที่มี SE ~1.8pp ไม่ใช่หน้าตาของเปรียบ**

---

## 3. 🔴 การค้นพบที่พลิกข้อสรุปของ `§8` — สองโบรก "นาฬิกาไม่ตรงกัน"

`RESULT-L1 §8` ตั้งอยู่บนประโยคเดียว: *"ทั้งคู่เปิด 00/04/08/12/16/20 เหมือนกัน ไม่มี time-shift"*
**ประโยคนั้นผิด** — ทั้งคู่ติดป้าย 00/04/08 เหมือนกันจริง **แต่เป็นนาฬิกาคนละเรือน**

วิธีวัด: เทียบ **ราคาเปิดของแท่ง H4** ของสองเทอร์มินัล ณ ป้ายเวลาที่เลื่อนไปทีละ 1 ชม.
ตลาดเดียวกัน ณ วินาทีเดียวกัน ราคาเปิดต้องต่างกันแค่ค่าสเปรด

| เลื่อน Exness ไป | −2 ชม. | −1 ชม. | 0 | **+1** | **+2** | **+3** | +4 |
|---|---|---|---|---|---|---|---|
| median \|Δ ราคาเปิด\| | 6.19 | 5.11 | **4.50** | 3.44 | **0.61** | **0.21** | 3.13 |

**แยกรายเดือน 34 เดือน — ชัดกว่านั้นอีก:**

| ช่วง | δ ที่ตรง | median \|Δ\| ที่ δ ถูก | ที่ δ อื่น |
|---|---|---|---|
| เม.ย.–ต.ค. (ฤดูร้อน) | **+3 ชม.** | 0.05–0.18 USD | 1.7–11.7 USD |
| พ.ย.–มี.ค. (ฤดูหนาว) | **+2 ชม.** | 0.04–0.16 USD | 1.0–14.3 USD |

> สลับตรงรอยต่อ DST เป๊ะทั้ง 6 ครั้งใน 3 ปี · ค่า 0.05 USD = ค่าสเปรดพอดี
> ⇒ **MetaQuotes-Demo = GMT+2/+3 (มี DST) · Exness-MT5Trial17 = GMT+0 (ไม่มี DST)**
> ⇒ **แท่ง H4 ของ Exness = แท่ง H4 ของ MetaQuotes ที่ offset +2/+3** — ไม่ใช่ feed ที่ดีกว่า แต่เป็น **กริดคนละอัน**

---

## 4. สร้าง "ผลของ Exness" ขึ้นมาใหม่จากดาต้า MetaQuotes ได้เป๊ะ

ถ้าข้อ 3 ถูก ต้องทำแบบนี้ได้: เอาดาต้า **MetaQuotes อย่างเดียว** มาแบ่งแท่งด้วยกริดของ Exness (คุม DST) แล้วต้องได้เลขของ Exness ออกมา

| ช่วง 2023.09 – 2026.06 (หน้าต่างเดียวกันทุกแถว) | N | SIG rate | สุ่มถ่วงทิศ | เปรียบ | t |
|---|---|---|---|---|---|
| **ของจริงบนดาต้า Exness** | 198 | 23.7% | 17.1% | **+6.63pp** | **+2.17** |
| **จำลองบนดาต้า MetaQuotes** ด้วยกริดของ Exness | 206 | 23.8% | 17.2% | **+6.54pp** | **+2.18** |
| กริดของ MetaQuotes เอง (แท่ง H4 ปกติของโบรกนั้น) | 175 | 16.0% | 17.6% | −1.55pp | −0.55 |

*(ตัวเลขที่ `§8` ตีพิมพ์คือ +6.56pp t=+2.15 บนหน้าต่างของมันเอง — ต่างกันเพราะ L2 ตัดหน้าต่างให้เท่ากันทุก run)*

### และทายผลของ Exness ได้ครบทั้ง 4 offset — จากดาต้า MetaQuotes ล้วน

*(คำนวณคำทำนายเสร็จ **ก่อน** run ของ Exness offset 1-3 จะเดินเสร็จ — เป็นการทายจริง ไม่ใช่ fit ย้อนหลัง)*

| กริดของ Exness | ทำนายจากดาต้า MetaQuotes | ผลจริงบนดาต้า Exness | ห่างกัน |
|---|---|---|---|
| **+0 ชม.** | +6.54pp (t=+2.18) | **+6.63pp** (t=+2.17) | 0.09pp |
| **+1 ชม.** | −1.53pp (t=−0.58) | **−1.80pp** (t=−0.69) | 0.27pp |
| **+2 ชม.** | +0.60pp (t=+0.19) | **−0.21pp** (t=−0.07) | 0.81pp |
| **+3 ชม.** | +4.97pp (t=+1.61) | **+5.02pp** (t=+1.63) | 0.05pp |

> 🔴 **ตรงกันทุกหลัก** — ดาต้าคนละเจ้า แต่พอแบ่งแท่งเหมือนกัน ได้คำตอบเดียวกัน
> **`§8` ไม่ได้เจอ "ปัญหาคุณภาพ feed" — มันเจอ bar alignment แล้วเรียกผิดชื่อ**
> และแปลว่าข้อ 11 ข้อ 1 ("ไปหาดาต้า Exness 6 ปี") **ไม่ใช่ทางที่ควรเดินต่อ** — ดาต้าไม่ใช่ตัวแปรที่ทำให้ผลต่าง

---

## 5. Steelman — "ถ้ากริด UTC-00 มันดีจริงล่ะ?"

ข้อโต้แย้งที่แข็งที่สุดที่ควรตอบให้ครบ: บางที **แท่ง H4 ที่เริ่มตรงเวลา UTC 00/04/08/12/16/20** อาจดีจริง (ตรงรอยต่อเซสชัน) ไม่ใช่บังเอิญ

**หลักฐานที่ทำให้ต้องคิดจริงจัง:**
- ผู้ชนะเลื่อนตาม DST พอดี: ฤดูร้อน server offset +3 · ฤดูหนาว +2 → **ทั้งคู่ = UTC 00** (ไม่ใช่ผูกกับป้ายเวลาโบรก)
- แบ่งครึ่งเวลา: ครึ่งแรก +3.93pp (t=+1.45) · ครึ่งหลัง +5.10pp (t=+2.01) — **บวกทั้งสองครึ่ง**
- บวก **7/8 ปี**
- ทำซ้ำได้บนดาต้าคนละเจ้า (Exness = UTC-00 โดยธรรมชาติ)

**4 กริด UTC บนดาต้า MetaQuotes 7.5 ปี ชุดเดียวกัน:**

| กริด | N | SIG rate | สุ่ม | เปรียบ | t |
|---|---|---|---|---|---|
| **UTC 00/04/08/12/16/20** | 499 | **21.2%** | 16.7% | **+4.59pp** | **+2.48** |
| UTC 01/05/09/13/17/21 | 490 | 15.7% | 16.9% | −1.16pp | −0.70 |
| UTC 02/06/10/14/18/22 | 402 | 17.4% | 17.0% | +0.40pp | +0.21 |
| UTC 03/07/11/15/19/23 | 507 | 18.5% | 16.7% | +1.86pp | +1.07 |

### 🔴 แต่มันตกเกณฑ์ของโปรเจกต์เอง — สองข้อ

**ก) ตก `EA-SPEC §4.1` (เกณฑ์ผ่านระดับ 0) ทั้ง A และ B** — นี่คือกริดที่ **เลือกที่ดีที่สุดจาก 4 หลังเห็นข้อมูลแล้ว**

| เกณฑ์ | ต้องได้ | กริด UTC-00 ได้จริง | ผล |
|---|---|---|---|
| **A** forward excursion | ≥ +0.20 ATR · t ≥ 2.5 | +0.093 ATR · t=+1.04 | ❌ |
| **B** การแข่ง TP/SL | ≥ 22% · **CI ขอบล่าง > 18%** | **21.2%** · CI ขอบล่าง **17.8%** | ❌ (ขาดนิดเดียว แต่ขาด) |
| **C** expectancy | ≥ +0.05R | +0.156R · **CI [−0.059, +0.374] คร่อมศูนย์** | ⚠️ |
| **E** แยกฝั่ง | BUY และ SELL ผ่านทั้งคู่ | BUY +6.99pp (t=+2.54) · **SELL +2.10pp (t=+0.86)** | ❌ |

> เกณฑ์ E สำคัญเป็นพิเศษกับทองยุคนี้ — เปรียบเกือบทั้งหมดอยู่ฝั่ง BUY ในตลาดที่ทองขึ้นทั้ง 7.5 ปี

**ข) ตก `EA-SPEC §4.3` ข้อ 3 (parameter plateau) แบบชัดเจน**

> *"ค่าที่เลือกต้องอยู่ในบริเวณที่ขยับ ±1 ขั้นทุกทิศแล้วยังได้ ≥ 70% ของยอด · **ยอดแหลมโดดเดี่ยว = fitting noise 100%**"*

| | เปรียบ | % ของยอด | ผล |
|---|---|---|---|
| UTC-00 (ยอด) | +4.59pp | 100% | — |
| ขยับ −1 ชม. (UTC-03) | +1.86pp | **40.5%** | ❌ |
| ขยับ +1 ชม. (UTC-01) | **−1.16pp** | **−25.3%** | ❌ |

> **ยอดแหลมโดดเดี่ยวบนแกนที่ระบบไม่เคยพูดถึง** — และเลือกมาหลังเห็นข้อมูล จาก 4 ตัวเลือก
> (`RESULT-L1 §7` ใช้ตรรกะเดียวกันนี้ตัดสินว่าเพดานของการรวมตัวกรอง 24 ชุดคือ noise)

### สรุปข้อ 5 อย่างซื่อสัตย์

- **ไม่ใช่ noise บริสุทธิ์** — มันนิ่งพอที่จะไม่ใช่การจับฉลากล้วนๆ · ควรบันทึกไว้เป็น **ข้อสังเกตค้างท่อ** ไม่ใช่ลบทิ้ง
- **แต่ยังไม่ใช่เปรียบที่เทรดได้** — ตกเกณฑ์ที่โปรเจกต์เขียนไว้เองก่อนเห็นข้อมูลถึง 3 ข้อ
- **และมันไม่ใช่ข้ออ้างของระบบแม่ปลา** — โค้ชไม่เคยพูดถึงกริด UTC · นักเรียนที่เปิด MT5 ของโบรกตัวเอง (GMT+2/+3) จะได้กริด **offset 0 = −2.24pp = แย่กว่าสุ่ม**
- และกริดที่ "ดี" ยัง **ขยับ 1 ชม. ทุกครั้งที่ DST เปลี่ยน** บนโบรก GMT+2/+3 — เทรดตามไม่ได้โดยไม่รู้ตัวแปรนี้ล่วงหน้า

---

## 6. ตรวจข้ออ้างแย้ง (ปิดทางที่ผลนี้จะผิดได้)

| ข้อกล่าวหา | ปิดยังไง |
|---|---|
| "แท่งสังเคราะห์ของแกมันเพี้ยน" | offset 0 = L1 เป๊ะ 29,598/29,598 แถว ทุกคอลัมน์ · จำนวนแท่ง = ของเทอร์มินัลเป๊ะ (ข้อ 1) |
| "หน้าต่างเวลาไม่เท่ากัน" | ทุก offset ตัดหน้าต่างเดียวกันเป๊ะทุกตาราง |
| "ตลาดในแต่ละ offset ไม่เหมือนกัน" | **การเข้าไม้สุ่มนิ่ง 16.5–17.0% ทุก offset** — กลุ่มควบคุมยืนยันว่าตลาดชุดเดียวกัน |
| "แท่งครึ่งๆ กลางๆ ริมสุดสัปดาห์เป็นตัวปั่น" | ตัดสัญญาณที่ชุด PA แตะแท่งริมช่องว่างออกหมด → เปรียบยังกระจายเท่าเดิม: **−1.47 / +0.49 / +4.01 / +2.75 pp** |
| "จูนพารามิเตอร์หรือเปล่า" | ค่าทุกตัวล็อกตาม `bt_l1.ini` เป๊ะ · ตัวแปรใหม่ตัวเดียวคือ `InpH4OffsetHours` และรายงานครบทั้ง 4 ค่า |
| "M1 ไม่พอ ตัดสินการแข่งมั่ว" | `race_src = M1` **100% ทุก run** ไม่มี fallback H4 เลย |
| "แอบเห็นอนาคต" | assert `GuardIdx` ในตัว EA — **0 การละเมิด ทุก run** |

**สิ่งเดียวที่เปลี่ยนระหว่าง run: ชั่วโมงที่แท่ง H4 เริ่ม**

### ผลข้างเคียง — ตัวกรองระดับ 1 ก็พลิกตาม offset เหมือนกัน (Δเปรียบ R)

| ตัวกรอง | MQ +0 | MQ +1 | MQ +2 | MQ +3 | EX +0 | EX +1 | EX +2 | EX +3 |
|---|---|---|---|---|---|---|---|---|
| **F1 กรอบ** (ตัวที่โค้ชบอก 80%) | +0.085 | −0.064 | −0.010 | −0.034 | −0.067 | −0.109 | −0.012 | −0.083 |
| **F2 เทรนด์ Day** | −0.145 | +0.115 | +0.007 | +0.021 | +0.282 | +0.033 | +0.075 | −0.018 |
| **F3 เทรนด์ H4** | −0.180 | +0.160 | −0.234 | +0.093 | +0.184 | −0.162 | −0.406 | +0.009 |
| **F5 กรอบวัน** | −0.130 | −0.081 | −0.144 | +0.039 | +0.049 | −0.284 | −0.222 | −0.529 |

> **F2 ที่ `§8` บอกว่า "พลิกจาก −0.80R เป็น +0.52R เพราะเปลี่ยนโบรก" — จริงๆ พลิกเพราะเลื่อนแท่ง**
> บนดาต้า MetaQuotes ชุดเดียว F2 ก็พลิกจาก −0.145R เป็น +0.115R อยู่แล้ว
> **F1 เป็นลบ 7 จาก 8 ช่อง** — ยืนยัน `RESULT-L1` อีกชั้น: "เกิดที่กรอบ" ไม่ได้เพิ่มค่า

---

## 7. ตัดสินด้วยเกณฑ์ที่เขียนไว้ก่อนเห็นข้อมูล

`EA-SPEC §4.3` เขียนไว้เองว่า:

> *"เลื่อนเวลาเปิดแท่ง H4 ±1 ชม. → ถ้าผลพลิกจากบวกเป็นลบ = ระบบเปราะกับ bar alignment เกินกว่าจะเทรดจริง 🔴"*

| จุดเริ่มแท่ง | MetaQuotes (7.5 ปี) | Exness (2.8 ปี) |
|---|---|---|
| +0 ชม. (กริดของโบรกเอง) | **ลบ** −2.24pp (t=−1.30) | **บวก** +6.63pp (t=+2.17) |
| +1 ชม. | **บวก** +1.11pp (t=+0.60) | **ลบ** −1.80pp (t=−0.69) |
| +2 ชม. | บวก +4.45pp (t=+2.43) | ลบ −0.21pp (t=−0.07) |
| +3 ชม. | บวก +2.02pp (t=+1.17) | บวก +5.02pp (t=+1.63) |

> 🔴 **พลิกเครื่องหมายที่ ±1 ชม. พอดี — และพลิกทั้งสองดาต้า สวนทางกันด้วย**
> เข้าเงื่อนไข 🔴 ที่โปรเจกต์เขียนดักไว้เองเป๊ะ · ไม่ใช่การตีความใหม่ ไม่ใช่เกณฑ์ที่ตั้งขึ้นหลังเห็นผล — เป็นกติกาที่ล็อกไว้ก่อนเห็นข้อมูล
>
> สังเกตให้ดี: **แถวบนสุดคือแถวที่คนจริงจะเจอ** — เปิด MT5 ของโบรกตัวเอง กด H4 แล้วเทรด
> โบรกหนึ่งได้ −2.24pp อีกโบรกได้ +6.63pp **โดยที่นักเรียนทำเหมือนกันทุกอย่าง**

---

## 8. 🔴 คำตัดสินของทั้งโปรเจกต์

| ระดับ | คำถาม | คำตอบ |
|---|---|---|
| **L0** | สัญญาณเปลือย (PA + ไส้หลังซิก) มีเปรียบไหม | ❌ **ไม่** — แพ้การเข้าไม้สุ่ม (14.6% vs 16.7%) |
| **L1** | ตัวกรอง (กรอบ/เทรนด์/SW) กู้ได้ไหม | ❌ **ไม่มีสักตัว** — และ "กรอบ" ที่โค้ชบอกว่าคือ 80% ของระบบ มีค่าจริง ~+0.5pp บนไม้สุ่ม 23,000 ไม้ = **เล็กกว่าที่ต้องใช้ ~10 เท่า** |
| **L1 §8** | ผลที่ขัดกันระหว่างโบรก คืออะไร | ✅ **ตอบได้แล้ว: bar alignment ไม่ใช่คุณภาพ feed** — จำลองผล Exness บนดาต้า MetaQuotes ได้ตรงทุกหลัก |
| **L2** | "+6.56pp บน Exness" คือเปรียบจริงหรือ noise | 🔴 **ไม่ใช่เปรียบของสัญญาณ** — เป็นผลของการเลือกกริดแท่ง · บนดาต้าชุดเดียวเหวี่ยงได้ **6.70pp** (MQ, t ของส่วนต่าง = +2.66) และ **8.43pp** (Exness) · ทายผลของ Exness ครบทั้ง 4 กริดจากดาต้า MetaQuotes ได้ (คลาดสูงสุด 0.81pp) |
| **L2 steelman** | กริด UTC-00 ที่ดีที่สุด ผ่านไหม | ❌ **ไม่ผ่าน** เกณฑ์ §4.1 A/B และตก §4.3 ข้อ 3 (ยอดแหลมโดดเดี่ยว) |

### สรุปเป็นภาษาคน

> ระบบแม่ปลาปากกาเขียว **ไม่มีเปรียบที่วัดได้** บนกรอบ D/H4 ด้วยเรขาคณิต 300/1500
> ตัวเลขสวยที่โผล่มาระหว่างทาง (Exness +6.56pp) **ไม่ได้มาจากกฎการอ่านกราฟ** — มันมาจากการที่โบรกนั้นบังเอิญขีดเส้นแบ่งแท่ง H4 ไว้คนละที่กับอีกโบรก
> เลื่อนเส้นนั้นไป 1 ชั่วโมง เปรียบก็หายหรือกลับข้าง ทั้งที่ราคาทุกวินาทีเหมือนเดิมทุกประการ
>
> **สิ่งที่ยังเหลือไว้ให้คิดต่อ (ไม่ใช่ข้อเสนอให้เทรด):** กริด **UTC 00/04/08/12/16/20** ดีกว่ากริดอื่นอย่างสม่ำเสมอพอควร (บวกทั้ง 2 ครึ่งเวลา · 7/8 ปี · ทำซ้ำได้บน 2 feed) แต่ยังไม่ถึงเกณฑ์ และเป็นยอดแหลมโดดเดี่ยว → **บันทึกไว้ อย่าเพิ่งเชื่อ**

---

## 9. ทำอะไรต่อ

| # | ทำอะไร | ทำไม |
|---|---|---|
| ~~1~~ | ~~หาดาต้า Exness 6 ปีแล้วรันซ้ำ~~ (`L1 §11` ข้อ 1) | ❌ **ยกเลิก** — ข้อ 4 พิสูจน์แล้วว่าดาต้าไม่ใช่ตัวแปรที่ทำให้ผลต่าง เป็นกริดแท่ง · ทำไปก็ได้คำตอบเดิม |
| ~~2~~ | ~~เทสความเปราะ~~ (`L1 §11` ข้อ 2) | ✅ **ทำแล้ว = เอกสารนี้** |
| **3** | ถ้าจะไปต่อจริงๆ: **ต้องมีสมมติฐานล่วงหน้า** ว่าทำไม UTC-00 ถึงควรดี แล้วเทสบน **สินค้าอื่น (XAG/US30) และช่วงเวลาอื่น** ก่อนแตะทอง | ตอนนี้เรามีแค่ "ตัวที่ดีที่สุดจาก 4" — ไม่ใช่การค้นพบจนกว่าจะทายถูกในที่ที่ยังไม่ได้ดู |
| **4** | ถามโค้ช: **"แท่ง H4 ที่สอน ใช้นาฬิกาโบรกไหน / เวลาอะไร"** | ถ้าโค้ชตอบไม่ได้ = ระบบไม่ได้นิยามตัวแปรที่มีผลมากที่สุดตัวหนึ่ง `[ชั้น C]` · ถ้าตอบได้ = ได้ค่าล็อกที่ไม่ต้องเดา |
| ~~5~~ | ~~ลง M5/M1 หา entry สวยขึ้น~~ | ❌ **ห้าม** — กรอบ D/H4 ไม่มีเปรียบ ลงไปเท่าไรก็ไม่ช่วย (`CLAUDE.md` เขียนไว้เอง) |
| ~~6~~ | ~~รวมตัวกรอง/จูนให้ผ่าน~~ | ❌ **ห้าม** — `L1 §7` แสดงแล้วว่าเพดานของการรวมทุกแบบยังอยู่ในระดับ noise |

---

## ไฟล์

| ไฟล์ | คืออะไร |
|---|---|
| `ea/MaePla_L2.mq5` | L1 ทุกบรรทัด + ประกอบแท่ง H4 เองจาก H1 (`InpH4OffsetHours` 0-3) — พิสูจน์แล้ว 0 diff ที่ offset 0 |
| `ea/bt_l2.tpl.ini` · `ea/run_l2.sh` | template + runner (`./run_l2.sh mq\|exness 0..3`) |
| `ea/analyze_l2_offsets.py` | ตารางเทียบข้าม offset · สถิติใช้ฟังก์ชันเดียวกับ `analyze_l1_filters.py` (คัดลอกมาตรงๆ ทวนแล้วให้เลข `§8` ตรงทุกหลัก) |
| `ea/data/maepla_l2_{mq,exness}_off{0,1,2,3}.csv` | ผลดิบ 8 run |
| `ea/data/l2_offsets.txt` | ผลวิเคราะห์เต็ม |
