งานวิจัย · ระบบอัตโนมัติ
DeskTrend_H4 walk-forward 13.7 ปี
ระบบตามเทรนด์ทองรายสี่ชั่วโมงตัวเดียวในโปรแกรมที่ผ่านการตรวจสอบหลายชั้น — หน้านี้คือรายงานฉบับเต็มของการทดสอบรอบล่าสุด บนข้อมูล 21,132 แท่ง (ม.ค. 2013 – ก.ย. 2026) พร้อมส่วนที่มักถูกตัดออกจากรายงานทั่วไป: ปีที่ขาดทุน การกระจุกตัวของกำไร และสิ่งที่จะทำให้มันพัง
ระบบคืออะไร
ทิศทาง EMA 50 บน H4 ต้องอยู่ใต้ราคาและมีความชัน (slope) ขึ้น · ทริกเกอร์ แท่งปิดพ้นแถบมูลค่า Yang-Zhang (SMA 20 ± 2.0 × σYZ × ราคา) · ยืนยัน ระบอบความผันผวนต้องกำลังขยาย (YZ 20/100 ไม่ต่ำกว่า 0.7) · ออก Chandelier 3.0 × ATR 22 ไล่ตามจุดสูงสุดตั้งแต่เข้า ไม่มี take-profit + ออกเมื่อทิศทาง EMA พลิก · ขนาด 0.75% ของทุนต่อระยะ stop (ขั้นต่ำ 0.01 lot สูงสุด 0.10) · ระเบียบ หยุดวันเมื่อขาดทุน 12% · พัก 12 แท่งหลังแพ้ติดกัน 4 ครั้ง
ไม่มี oscillator ไม่มีระดับ GEX ไม่มีตัวกรองเซสชัน — จงใจให้บางที่สุดเพื่อดูว่า edge อยู่ที่โครงสร้าง (ทองเทรนด์บน H4) หรืออยู่ที่พารามิเตอร์ (บทเรียน M11: ระบบสามตัวก่อนหน้าที่ซับซ้อนกว่านี้พังทั้งหมดที่ด่าน walk-forward)
วิธีทดสอบ
- พอร์ต
DeskTrend_H4_v1.1.mq5เป็น Python ทีละบรรทัด ตรวจให้ตรงกับ MT5: EMA เริ่มจากราคาปิดแท่งแรก · iATR = SMA ของ True Range (ไม่ใช่ Wilder) · YZ ใช้ variance แบบ population และ k = 0.34 / (1.34 + (n+1)/(n−1)) - ข้อผิดพลาดที่ยอมรับและเอนไปทางอนุรักษ์: trail อัปเดตต่อแท่ง (EA จริงต่อ tick) · stop เติมที่ราคา stop โดยไม่คิด gap
- ต้นทุนฐาน spread $0.25 ต่อออนซ์ · ทุน $10,000 · ชุดค่าตั้ง = .set ที่ใช้จริง (long-only) โดยไม่ปรับอะไรให้ผลดีขึ้น
- Walk-forward แบบ anchored: ทุกปี OOS ใช้ข้อมูลทุกปีก่อนหน้าเป็น in-sample เลือกชุดพารามิเตอร์จากตาราง 27 ชุดด้วย IS PF อย่างเดียว แล้วรันปี OOS ด้วยชุดนั้นโดยไม่มองผล — ต่อผล OOS ของทุกปีเป็นเส้นเดียว
1 · ผลเต็มช่วงด้วยค่าตั้งจริง
| เทรด | PF | ชนะ | เฉลี่ยชนะ/แพ้ | กำไรสุทธิ | ผลตอบแทน | Max DD | ออกโดย stop / flip |
|---|---|---|---|---|---|---|---|
| 290 | 1.30 | 36.6% | 2.26× | +2,125 | 21.2% | 7.4% | 226 / 64 |
ชนะ 36.6% แต่ชนะเฉลี่ยใหญ่กว่าแพ้ 2.26 เท่า — ลายเซ็นของระบบตามเทรนด์ตามตำรา (M5: อัตราชนะไม่สำคัญ R:R สำคัญ)
รายปี (พารามิเตอร์คงที่ · เทรดนับตามปีที่เข้า)
| ปี | เทรด | PF | กำไรสุทธิ | สัดส่วน | |
|---|---|---|---|---|---|
| 2013 | 11 | 0.33 | −150 | -7.1% | |
| 2014 | 18 | 0.99 | −3 | -0.1% | |
| 2015 | 19 | 1.16 | +63 | 3% | |
| 2016 | 23 | 1.15 | +100 | 4.7% | |
| 2017 | 23 | 1.43 | +215 | 10.1% | |
| 2018 | 26 | 0.80 | −99 | -4.6% | |
| 2019 | 27 | 1.28 | +183 | 8.6% | |
| 2020 | 24 | 1.57 | +286 | 13.5% | |
| 2021 | 16 | 0.60 | −106 | -5% | |
| 2022 | 23 | 0.93 | −42 | -2% | |
| 2023 | 20 | 2.82 | +676 | 31.8% | |
| 2024 | 21 | 1.78 | +348 | 16.4% | |
| 2025 | 23 | 4.34 | +968 | 45.6% | |
| 2026* | 16 | 0.74 | −317 | -14.9% |
* 2026 ถึง 4 ก.ย. — ปีนี้ระบบขาดทุน −$317 (PF 0.74) หลังจากปีที่ดีที่สุดในประวัติ
2 · Walk-forward แบบ anchored
นี่คือตารางที่ตัดสินทุกอย่าง แต่ละแถวคือปีที่ระบบไม่เคยเห็นตอนเลือกพารามิเตอร์ ชุดที่เลือก (EMA / band / chandelier) เปลี่ยนไปตามที่อดีตบอก และผล OOS คือสิ่งที่เกิดจริงในปีนั้น
| ปี OOS | ชุดที่เลือกจาก IS | IS PF | IS n | OOS PF | OOS n | OOS net |
|---|---|---|---|---|---|---|
| 2016 | 60 / 1.5 / 3.5 | 1.09 | 46 | 0.72 | 27 | −192 |
| 2017 | 60 / 2.5 / 3.0 | 1.07 | 57 | 1.66 | 18 | +252 |
| 2018 | 60 / 2.5 / 3.0 | 1.27 | 74 | 0.87 | 20 | −50 |
| 2019 | 60 / 2.5 / 3.0 | 1.25 | 93 | 1.25 | 21 | +135 |
| 2020 | 60 / 2.5 / 3.0 | 1.27 | 113 | 1.84 | 22 | +362 |
| 2021 | 60 / 2.5 / 3.0 | 1.36 | 135 | 0.54 | 16 | −112 |
| 2022 | 60 / 2.5 / 3.0 | 1.28 | 151 | 1.10 | 20 | +40 |
| 2023 | 60 / 2.5 / 3.5 | 1.25 | 155 | 3.80 | 15 | +661 |
| 2024 | 60 / 2.5 / 3.5 | 1.46 | 170 | 1.49 | 15 | +128 |
| 2025 | 40 / 2.5 / 3.5 | 1.52 | 194 | 3.62 | 18 | +898 |
| 2026* | 40 / 2.5 / 3.5 | 1.72 | 212 | 0.74 | 14 | −245 |
| รวม OOS 2016→2026 | 1.39 | 206 | +1,878 | |||
OOS PF 1.39 สูงกว่า IS PF เฉลี่ย (อัตราส่วน 1.05) — ปกติ OOS จะแย่กว่า IS เสมอ การที่มันไม่แย่กว่าแปลว่าพารามิเตอร์ที่เลือกแทบไม่มีผล edge อยู่ที่โครงสร้างของกฎ ไม่ใช่ที่ตัวเลข · แต่สังเกตว่า 4 ใน 11 ปี OOS ขาดทุน (2016, 2018, 2021, 2026) และสองปี (2023, 2025) ให้กำไร 83% ของ OOS ทั้งหมด
3 · ความไวต่อพารามิเตอร์ (±20% รอบค่าตั้ง)
27 ชุด — ถ้า edge เป็นของจริง ทุกชุดควรกำไร ถ้า .set เป็นยอดเขาที่ curve-fit ชุดข้างเคียงจะพัง
| EMA | band | chand | n | PF | net | Max DD | |
|---|---|---|---|---|---|---|---|
| 40 | 1.6 | 2.4 | 414 | 1.09 | +877 | 11.8% | |
| 40 | 1.6 | 3.0 | 338 | 1.26 | +1,877 | 6.9% | |
| 40 | 1.6 | 3.6 | 300 | 1.30 | +1,790 | 7.6% | |
| 40 | 2.0 | 2.4 | 371 | 1.05 | +435 | 8.7% | |
| 40 | 2.0 | 3.0 | 306 | 1.22 | +1,596 | 7.8% | |
| 40 | 2.0 | 3.6 | 270 | 1.20 | +1,172 | 9.6% | |
| 40 | 2.4 | 2.4 | 319 | 1.15 | +1,260 | 5.8% | |
| 40 | 2.4 | 3.0 | 260 | 1.37 | +2,207 | 4.5% | |
| 40 | 2.4 | 3.6 | 230 | 1.45 | +2,247 | 5.4% | |
| 50 | 1.6 | 2.4 | 397 | 1.15 | +1,580 | 9.4% | |
| 50 | 1.6 | 3.0 | 323 | 1.31 | +2,269 | 6.6% | |
| 50 | 1.6 | 3.6 | 281 | 1.45 | +2,703 | 7% | |
| 50 | 2.0 | 2.4 | 359 | 1.12 | +1,150 | 6.4% | |
| 50 | 2.0 | 3.0 | 290 | 1.30 | +2,125 | 7.4% | ◀ .set |
| 50 | 2.0 | 3.6 | 255 | 1.36 | +2,109 | 8.9% | |
| 50 | 2.4 | 2.4 | 310 | 1.15 | +1,252 | 5.5% | |
| 50 | 2.4 | 3.0 | 251 | 1.40 | +2,374 | 4.3% | |
| 50 | 2.4 | 3.6 | 221 | 1.50 | +2,461 | 5.2% | |
| 60 | 1.6 | 2.4 | 391 | 1.14 | +1,505 | 9.1% | |
| 60 | 1.6 | 3.0 | 313 | 1.39 | +2,783 | 6% | |
| 60 | 1.6 | 3.6 | 272 | 1.51 | +2,969 | 7.4% | |
| 60 | 2.0 | 2.4 | 352 | 1.11 | +1,101 | 6.8% | |
| 60 | 2.0 | 3.0 | 287 | 1.31 | +2,167 | 7.7% | |
| 60 | 2.0 | 3.6 | 251 | 1.39 | +2,216 | 9.1% | |
| 60 | 2.4 | 2.4 | 310 | 1.14 | +1,185 | 5.6% | |
| 60 | 2.4 | 3.0 | 249 | 1.43 | +2,499 | 4.6% | |
| 60 | 2.4 | 3.6 | 219 | 1.55 | +2,645 | 5.5% |
27/27 ชุดกำไร PF 1.05–1.55 · ค่าตั้งจริง (PF 1.30) อยู่กลางตาราง ไม่ใช่ยอด — ชุด EMA 60 / band 2.4 / chand 3.6 ให้ PF 1.55 พร้อม DD ต่ำกว่า (5.5%) แต่ไม่ถูกนำไปใช้: การเลือกชุดที่ดีที่สุดจากตารางนี้คือนิยามของ curve-fit ค่าตั้งจริงยังคงเดิม
4 · ต้นทุนจริงและตัวแปรอื่น
| ตัวแปร | n | PF | net | DD | WF-OOS PF | WF-OOS net | อ่านว่า |
|---|---|---|---|---|---|---|---|
| ค่าตั้งจริง (.set, long-only) | 290 | 1.30 | +2,125 | 7.4% | 1.39 | +1,878 | ฐานอ้างอิง |
| ต้นทุนจริง: spread .35 · comm $7 · swap −$10/คืน · slip .10 | 289 | 1.22 | +1,586 | 7.7% | 1.32 | +1,525 | ผ่าน — ต้นทุนกินไป 0.08 PF |
| เปิด short ด้วย | 548 | 1.17 | +2,286 | 9.9% | — | — | เพิ่ม 258 เทรด ได้ +$161 · DD แย่ลง → short คือตัวถ่วง |
| ปิด governors (daily-loss / consec-loss) | 291 | 1.29 | +2,100 | 7.4% | — | — | แทบไม่ต่าง — แทบไม่เคยถูกกระตุ้น |
| ปิด exit-on-flip (ถือจนโดน stop) | 274 | 1.22 | +1,702 | 10% | 1.47 | +2,457 | in-sample แย่ลง แต่ OOS ดีขึ้น — ตัวเลือกสำหรับ tester |
Walk-forward รายปีของสองตัวแปรที่สำคัญ
| ปี OOS | ฐาน PF | ต้นทุนจริง PF | net | ไม่ออกเมื่อ flip PF | net |
|---|---|---|---|---|---|
| 2016 | 0.72 | 0.67 | −235 | 0.79 | −135 |
| 2017 | 1.66 | 1.49 | +196 | 1.89 | +348 |
| 2018 | 0.87 | 0.95 | −16 | 0.73 | −128 |
| 2019 | 1.25 | 0.95 | −25 | 1.15 | +86 |
| 2020 | 1.84 | 1.77 | +337 | 2.33 | +466 |
| 2021 | 0.54 | 0.48 | −131 | 1.03 | +7 |
| 2022 | 1.10 | 0.90 | −31 | 1.33 | +147 |
| 2023 | 3.80 | 3.63 | +634 | 2.90 | +625 |
| 2024 | 1.49 | 1.42 | +114 | 1.16 | +49 |
| 2025 | 3.62 | 3.25 | +851 | 4.95 | +1,227 |
| 2026* | 0.74 | 0.82 | −170 | 0.80 | −236 |
| รวม | 1.39 | 1.32 | +1,525 | 1.47 | +2,457 |
การออกเมื่อทิศทางพลิก (exit-on-flip) เป็นเรื่องที่ค่าสองด้านขัดกัน: ในช่วงเต็ม การออกแบบ flip 64 ครั้งขาดทุนรวม −$1,744 ขณะที่การออกด้วย stop 226 ครั้งได้ +$3,869 → ปิดมันแล้ว OOS ดีขึ้น (1.47, 7/11 ปีบวก) แต่ DD เพิ่มเป็น 10% และ in-sample แย่ลง ยังไม่มากพอจะเปลี่ยนค่าที่ใช้จริง — เป็นตัวเลือกให้ทดสอบใน MT5 tester ต่อ
5 · สิ่งที่ต้องยอมรับ
- กำไรกระจุกตัวรุนแรง — 2023–25 ให้ 94% ของกำไรสุทธิ (2025 ปีเดียว 46%) · 2013–2022 สิบปีรวมกันได้ประมาณ +$450 = เสมอตัว · ด่านที่ 4 (ปีเดียว < 60%) ผ่านแบบเฉียด และถ้ามองเป็นช่วง 3 ปีจะไม่ผ่าน
- 10 เทรดที่ดีที่สุด = 142% ของกำไรสุทธิ — ตัดออกแล้วระบบขาดทุน −$902 · นี่คือธรรมชาติของ CTA: edge คือ การไม่พลาดเทรดใหญ่ไม่กี่ครั้ง → ตัวกรอง ตัวตัดขาดทุนรายวัน หรือ “พักเมื่อแพ้ติดกัน” ที่ทำให้พลาดเทรดเหล่านั้นแม้เพียงครั้งเดียวจะฆ่าระบบ (บทเรียนเดียวกับ ScalperVBubble ใน M11)
- ขนาดสถานะติดขั้นต่ำ — บน $10,000 ระบบใช้ 0.01–0.03 lot ความเสี่ยงจริงต่อเทรดจึงราว 0.15–0.4% ไม่ใช่ 0.75% ที่ตั้ง → ผลตอบแทน % จะเปลี่ยนตามทุน แต่ PF และอัตราชนะจะไม่เปลี่ยน
- 2026 กำลังขาดทุน (PF 0.74, −$317) หลังปี 2025 ที่ดีที่สุด — ผู้ที่เริ่มใช้ระบบต้นปีนี้จะเห็นแต่ขาดทุน นี่ไม่ใช่หลักฐานว่าระบบพัง แต่เป็นสิ่งที่ตารางรายปีเตือนไว้แล้ว: 6 ใน 14 ปีขาดทุน
- ด่านที่ 5 ยังไม่ผ่าน — ทดสอบบนฟีด OANDA ฟีดเดียว ต้องรันซ้ำบนโบรกเกอร์ที่สองก่อนจึงจะนับว่าผ่านครบ (ผลก่อนหน้าบน Exness ให้ PF 1.13–1.31 ในช่วงสั้นกว่า สอดคล้องกัน แต่ยังไม่ใช่ 13.7 ปี)
สรุปและขั้นต่อไป
- Edge เป็นของจริง ทนต่อพารามิเตอร์ (27/27) ทนต่อต้นทุน (OOS 1.32) และ OOS ไม่แย่กว่า IS — แต่มันคือเครื่องเก็บเกี่ยวขาขึ้นของทอง ที่ต้องอดทนผ่านช่วงราบหลายปี
- ค่าที่ใช้จริงไม่เปลี่ยน (EMA 50 / band 2.0 / chand 3.0 / ATR 22 / ExitOpp on) — ชุด EMA 60 / 2.4 / 3.6 และ ExitOpp = off เป็นตัวแปรสำหรับ MT5 tester เท่านั้น
- ขั้นต่อไปตามลำดับ: (1) รันซ้ำบนฟีดโบรกเกอร์ที่สองเพื่อปิดด่าน 5 (2) เดโมเดินหน้าด้วยขนาดเล็กที่สุด (3) ตัดสินใจเรื่องทุนโดยรู้ว่าปีขาดทุนคือเรื่องปกติ
- ห้ามเพิ่มตัวกรอง “ฉลาด” ใดๆ ก่อนพิสูจน์ด้วย walk-forward ว่ามันไม่ตัดเทรดใหญ่ทิ้ง — ทุกตัวกรองที่เคยลองในโปรแกรมนี้ทำให้ผลแย่ลง
สคริปต์: G:\Trader\Research\desktrend_wf.py · ข้อมูล: XAUUSD_OANDA_H4.csv (21,132 แท่ง) · รายการเทรด: desktrend_h4_trades.csv ·
บทเรียนที่เกี่ยวข้อง: M11 — ทำไม backtest ที่สวยงามถึงอันตราย · M5 — การควบคุมความเสี่ยง