ข้ามไปที่เนื้อหา

S1 · ระบบทั้งหมดในหน้าเดียว + กติกา

▶ clip: https://youtu.be/QIGRkFkYecQ

จบบทนี้แล้วทำได้:

  • บอกได้ว่างานวิจัย EA หนึ่งชิ้นเดินผ่านขั้นอะไรบ้าง และ Standard สอนขั้นไหน
  • บอกได้ว่าแต่ละขั้น "จบ" เมื่อผ่านด่านอะไร และเมื่อไรต้องเดินย้อนกลับ
  • จำกติกาสี่ข้อที่ใช้กับทุกงานในคอร์สนี้
  • จับได้เมื่อตัวเองกำลังสรุปผิดแบบใดแบบหนึ่งในสามแบบ

ต้องมีก่อน: ติดตั้ง kit ตาม M0-LAB แล้ว · บทนี้ไม่มี lab แต่เปิด research\README.md ใน kit อ่านคู่กันได้ ตารางในบทนี้มาจาก file นั้น


1 · pipeline 10 ขั้น · Standard สอนขั้น 3–5

S1-1

งานวิจัย EA ทุกชิ้นในระบบนี้เดินเส้นทางเดียวกัน คือขั้น 0 ถึงขั้น 9 (รวม 10 ขั้น)

ขั้น ชื่อ ทำอะไร สอนใน
0 intake รับ EA เข้ามา จด sha · ตัดตัวซ้ำ A2
1 screen คัดกรองบนกระดาษ G1 cost · G2 โครงสร้าง A3
2 decode ถอดกลไกจาก source หรือ log A4
3 prereg เขียน criteria ไว้ก่อน run S2 · A1
4 backtest run บน real ticks S3 · S4 · A6
5 verdict ตัดสินผล · 7 มิติ · R1–R6 S5–S8 · A7
6 release ใช้ binary ตัวที่ test A8
7 onboarding ตรวจบัญชีจริง A9
8 forward สอบยอด · ไม่แทรกแซง A10 · A11
9 evaluate เทียบกับ backtest A11

บนจอ ขั้นที่มีกรอบเขียวเข้มคือขั้นที่ Standard สอน (3–5) ส่วน Advanced สอนครบทุกขั้น

folder ใน research\ เรียงตามขั้นเหล่านี้ ดังนั้นเปิด folder ก็รู้ทันทีว่างานอยู่ตรงไหน ใน kit มี folder บางขั้นอยู่แล้ว (3-prereg · 6-release · 8-forward · 9-evaluate) ส่วน folder ของขั้นที่เหลือสร้างเพิ่มเมื่อมีงานในขั้นนั้น

หลักที่ต้องถือไว้: งานหนึ่งชิ้นอยู่ได้ขั้นเดียว ไม่ใช่อยู่ครึ่ง ๆ กลาง ๆ ระหว่างสองขั้น ทุกครั้งที่ทำงาน ให้ถามตัวเองสองข้อ

  1. ตอนนี้งานนี้อยู่ขั้นไหน
  2. ต้องผ่านอะไรก่อนจึงจะไปขั้นถัดไปได้

ถ้าตอบข้อ 1 ไม่ได้ แปลว่างานกำลังปนกันอยู่ เช่น run backtest ไปแล้วแต่ยังไม่ได้เขียน criteria ซึ่งเท่ากับข้ามขั้น 3 โดยไม่ได้บันทึกว่าข้าม

ของจริงไม่ตรง → ย้อนกลับ ไม่ใช่ tune ทับ (กรอบด้านล่างซ้ายของจอ)

เจออะไร ย้อนไปขั้น ทำไม
ผลขั้น 5 หรือ 9 ขัดกับกลไกที่ถอดไว้ 2 · decode แปลว่าเข้าใจกลไกผิด
แก้ code EA 3 · prereg version ใหม่คือการทดสอบใหม่
build หรือ preset บนบัญชีไม่ตรงกับที่ test 6 หรือ 7 สิ่งที่ run อยู่ไม่ใช่สิ่งที่ test

2 · ขั้นจบเมื่อผ่านด่าน ไม่ใช่เมื่อทำเสร็จ

S1-2

"ทำงานเสร็จ" กับ "ผ่านด่าน" คนละเรื่องกัน run backtest จบแล้วไม่ได้แปลว่าขั้น backtest จบ ขั้นจะจบเมื่อผ่านด่านของขั้นนั้นเท่านั้น

ขั้น ด่านที่ต้องผ่านก่อนไปขั้นถัดไป เครื่องมือ
3 · prereg criteria เขียนก่อน run · block IS/OOS จาก is_oos · ลง Šidák correction is_oos · tick_years
4 · backtest history_quality = real ticks · จด cost ของ era นั้น run · config_*.yaml
5 · verdict กวาดครบ 7 มิติ · ผ่าน/ตกตามเกณฑ์ที่เขียนในขั้น 3 mc
5R · robustness R1 เวลา · R2 broker · R3 ต้นทุน · R4 การส่งคำสั่ง · R5 parameter · R6 ข้อมูลรบกวน — ผ่าน หรือข้ามพร้อมเหตุผล ครบทุกข้อ walk · stability · slip_gate · sensitivity

ชื่อใน column เครื่องมือ = bt\ea-bt.exe <ชื่อ> เช่น bt\ea-bt.exe is_oos · ดูวิธีใช้ทุกตัวด้วย bt\ea-bt.exe <ชื่อ> --help

ขยายความแต่ละด่าน:

  • prereg — ช่วงทดสอบต้องเอามาจากเครื่องมือ is_oos ไม่ใช่พิมพ์วันที่เอง (รายละเอียดใน S2) เหตุผลคือถ้าพิมพ์เอง เราเลือกช่วงที่ "ถูกใจ" ได้โดยไม่รู้ตัว
  • backtest — รายงานต้องใช้ tick จริง (อ่านบรรทัด History Quality ตาม S5) และต้องจด cost ของยุคนั้นไว้ เพราะ spread เปลี่ยนตามยุค ผลที่แย่ลงอาจมาจาก cost ไม่ใช่กลยุทธ์ (S2)
  • verdict — กวาดครบเจ็ดมิติก่อนสรุป ลงรายละเอียดใน S7

ข้ามขั้นได้ เมื่อเขียนไว้ว่าข้ามเพราะอะไร ข้ามโดยไม่เขียน = คนที่มาอ่านทีหลัง (รวมถึงตัวคุณเองในอีกสามเดือน) ไม่รู้ว่าด่านนั้นถูกข้ามไป

งานเดินถอยหลังได้:

  • ผลที่ออกมาขัดกับกลไกที่ถอดไว้ → กลับขั้น decode
  • แก้ code EA แม้บรรทัดเดียว → กลับขั้น prereg เพราะ version ใหม่คือการทดสอบใหม่ทั้งชุด criteria เดิมเขียนไว้สำหรับ version เดิม

3 · กติกาที่ไม่ต่อรอง

S1-3

# กติกา ถ้าไม่ทำตาม
1 criteria เขียนก่อน run · แก้หลังเห็นผลไม่ได้ เกณฑ์ที่แก้หลังเห็นผล ถูกปรับให้เข้ากับผล ไม่ได้ทดสอบอะไรเลย
2 ตัวเลขทุกตัวต้องมีที่มา · ห้ามเดา spec ตัวเลขที่เดาผิดไม่มีอะไรเตือน ผลผิดไปเงียบ ๆ
3 ผลดี ≠ พร้อมใช้เงินจริง backtest ดีเป็นแค่ด่านหนึ่ง ยังมีขั้น 5R ถึง 9
4 ไม่มีคำชม — หน้าที่คือหาจุดอ่อน คำชมกินพื้นที่ของคำเตือน

ทำไมต้องเข้มขนาดนี้: ประวัติของ project นี้คือสรุปผิดแล้วต้องถอนหลายครั้ง และทุกครั้งเกิดจากการรีบสรุปด้านบวก ใน session เดียวเมื่อวันที่ 4 กันยายน 2026 สรุปผิดไปถึงเจ็ดครั้ง ปัญหาไม่ได้มาจากการวิจารณ์มากเกินไป แต่มาจากการเชื่อผลดีเร็วเกินไป

4 · สามแบบของการสรุปผิด

S1-4

การสรุปผิดเจ็ดครั้งในวันที่ 4 ก.ย. 2026 แบ่งได้แค่สามแบบ

แบบ จำนวนครั้ง คืออะไร
1 4/7 อ่าน proxy แทนตัวชี้ขาด
2 2/7 บอกว่า "ไม่มี / ไม่ต่าง" โดยไม่วัด
3 1/7 เชื่อตัวเลขจากตารางเก่าโดยไม่ตรวจ

แบบที่ 1 · อ่าน proxy แทนตัวชี้ขาด

proxy คือตัวเลขที่ "ดูเหมือน" ตอบคำถาม แต่ไม่ใช่ตัวที่ตัดสินจริง

proxy ที่อ่านแล้วหลง ตัวชี้ขาดจริง
expected_payoff E[R]
ΣR/DD equity multiplier แบบ compounding
สัดส่วน / percent จำนวนนับ
กำไรเป็นเงิน R
  • expected_payoff เป็นเงิน จึงขึ้นกับขนาด lot ส่วน E[R] คือค่าเฉลี่ยของ R ต่อ trade ไม่ขึ้นกับ lot
  • ΣR หารด้วย drawdown เป็นผลบวกเชิงเส้น แต่เงินในบัญชีที่ compounding โตแบบคูณกัน ต้องดูว่าทุนโตจริงกี่เท่า (ดูเฉลยข้อ 2 ท้ายบท)
  • สัดส่วนบอกไม่ได้ว่า n จริงเท่าไร ต้องดูจำนวนนับด้วย
  • กำไรเป็นเงินโตได้เพราะ lot ใหญ่ขึ้น ไม่ใช่เพราะกลยุทธ์ดีขึ้น

แบบที่ 2 · บอกว่า "ไม่มี / ไม่ต่าง" โดยไม่วัด

ข้อความที่บอกว่า ไม่มีอะไร ต้องวัดเหมือนข้อความที่บอกว่า มีอะไร case จริง: เคยบอกว่าสัดส่วน 90 ต่อ 10 "เป็นกลาง" จากการให้เหตุผลล้วน ๆ พอวัดจริงได้ +14.3%

แบบที่ 3 · เชื่อตัวเลขจากตารางเก่าโดยไม่ตรวจ

case จริง: spread ของบัญชี Razor จดไว้ในตารางเก่าว่า 0.18 แต่ของจริงอยู่ที่ 0.08 ถึง 0.10 ข้อสรุปที่ใช้ตัวเลขนั้นจึงกลับด้าน ตัวเลขที่ยืมมาจากรายงานหรือตารางเก่า ต้องมีแหล่งที่สองยืนยัน หรือเขียนกำกับว่ายังไม่ได้ตรวจ


จุดที่มักพลาด

พลาด ผลที่ตามมา ทางกัน
ถือว่า run backtest เสร็จ = ขั้น backtest จบ ใช้รายงานที่ไม่ได้ใช้ tick จริงหรือไม่ได้จด cost ตรวจด่านของขั้นก่อนไปขั้นถัดไป
แก้ code EA แล้วใช้ criteria เดิม run ต่อ ทดสอบ version ใหม่ด้วยเกณฑ์ที่ไม่ได้เขียนให้มัน แก้ code = กลับขั้น prereg เขียนเกณฑ์ใหม่
ข้ามขั้นโดยไม่เขียนเหตุผล ไม่มีใครรู้ว่าด่านนั้นถูกข้าม เขียนว่าข้ามเพราะอะไรทุกครั้ง
ผลไม่ตรงแล้ว tune ทับ ปิดบังว่ากลไกเข้าใจผิด ย้อนกลับขั้น decode
แก้เกณฑ์หลังเห็นผล เกณฑ์ไม่ได้ทดสอบอะไร เขียนเกณฑ์ก่อน run และห้ามแก้
ตัดสินด้วย expected_payoff หรือกำไรเป็นเงิน สรุปผิดแบบที่ 1 ตัดสินด้วย E[R]
บอกว่า "ไม่ต่าง" จากการให้เหตุผล สรุปผิดแบบที่ 2 (case 90 ต่อ 10 = +14.3%) วัดก่อนพูด
ยกตัวเลขจากตารางเก่ามาใช้ตรง ๆ สรุปผิดแบบที่ 3 (Razor 0.18 vs 0.08–0.10) หาแหล่งที่สอง หรือเขียนว่ายังไม่ตรวจ

ทวนท้ายบท

S1-Q

  1. แก้ code EA หนึ่งบรรทัดหลัง run backtest ไปแล้ว งานนี้ต้องกลับไปขั้นไหน เพราะอะไร
  2. portfolio ที่ผสมสอง EA ให้ ΣR/DD ดีขึ้น แปลว่าได้เงินมากขึ้นไหม
  3. บอกว่า "สองแบบนี้ไม่ต่างกัน" จากการให้เหตุผลโดยไม่ได้วัด เป็นการสรุปผิดแบบไหน
เฉลย
  1. กลับไปขั้น prereg เพราะ version ใหม่คือการทดสอบใหม่ ต้องเขียนเกณฑ์ใหม่ก่อน run
  2. ไม่แน่ เพราะ R บวกกัน แต่เงินคูณกัน case จริงของ EA-A ผสมกับ EA-C อัตราส่วน ΣR/DD ดีขึ้น +1% · +12% · +63% แต่เงินที่ได้จริงคือ −25% · −40% · +39%
  3. แบบที่สอง บอกว่าไม่มีหรือไม่ต่างโดยไม่วัด เหมือน case 90 ต่อ 10 ที่วัดจริงได้ +14.3%