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

S5 · อ่านรายงาน .htm และ summary.csv

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

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

  • อ่านรายงาน backtest ของ MT5 ตามลำดับที่ถูก และรู้ว่าเมื่อไรต้องทิ้งรายงานทั้งใบโดยไม่อ่านต่อ
  • บอกได้ว่า drawdown สองแถวในรายงานต่างกันยังไง และต้องใช้แถวไหน
  • แยกตัวเลขที่ใช้ตัดสินได้ ออกจากตัวเลขที่ใช้เป็นข้อมูลประกอบเท่านั้น
  • ใช้ summary.csv กรองรายงานหลายใบในครั้งเดียว

ต้องมีก่อน: ติดตั้ง kit ตาม M0-LAB แล้ว · รายงานที่ใช้ในบทนี้อยู่ใน kit ที่ lab\reports\ ไม่ต้อง run backtest เอง


1 · ลำดับการอ่านรายงาน

S5-1

คนส่วนใหญ่เปิดรายงานแล้วดู Total Net Profit ก่อน นี่คือลำดับที่ผิด เพราะถ้าข้อมูลที่ใช้ test เชื่อไม่ได้ ตัวเลขทุกตัวหลังจากนั้นก็เชื่อไม่ได้ทั้งหมด อ่านตามลำดับนี้แทน

ลำดับ ดูบรรทัด ถามว่า ถ้าไม่ผ่าน
1 History Quality real ticks ถึง 90% ไหม ทิ้งรายงานทั้งใบ ไม่ต้องอ่านต่อ
2 Symbol · Period · Initial Deposit และ leverage ตรงกับแผนที่ตั้งไว้ไหม run ผิด config ต้อง run ใหม่
3 Equity Drawdown Relative ร่วงหนักสุดกี่ % ดูหัวข้อ 2
4 ราย trade ผลมาจาก trade ส่วนใหญ่ หรือมาจากไม่กี่ trade ดูใน S6
สุดท้าย Total Net Profit — —

ทำไม History Quality ต้องมาก่อน: ถ้าในช่วงที่ขอไม่มี tick จริง MT5 จะไม่เตือนอะไร มันสร้าง tick จากแท่ง M1 ขึ้นมาแทนเงียบ ๆ ตั้ง model เป็น "Every tick based on real ticks" ก็ไม่ช่วย ทางเดียวที่จะรู้ว่าเกิดขึ้นคือบรรทัด History Quality ในรายงาน ถ้าต่ำกว่า 90% แปลว่ามี tick จำนวนมากที่ MT5 สร้างขึ้นเอง ผลของ EA ที่ไวต่อราคาในแท่ง เช่น EA ที่ใช้ trailing หรือ SL แคบ จะผิดไปจากของจริงได้มาก

ทำไมกำไรเป็นเงินดูท้ายสุด: ตัวเลขนี้ขึ้นกับขนาด lot การ compounding และ contract size ของ symbol (XAUUSD กับ XAUUSDc ต่างกัน 100 เท่า) จึงไม่ได้บอกคุณภาพของกลยุทธ์โดยตรง

2 · Drawdown: ใช้แถว Relative ไม่ใช่ Maximal

S5-2

รายงาน MT5 มี Equity Drawdown สองแถว และสองแถวนี้วัดคนละอย่าง

แถว วัดอะไร ปัญหา
Maximal ขาดทุนเป็นเงินก้อนใหญ่ที่สุด แล้วคิดเป็น % ณ จุดนั้น บนเส้นที่ compounding เงินก้อนใหญ่สุดมักเกิดตอนทุนโตแล้ว % จึงดูเล็ก
Relative ร่วงเป็น % มากที่สุด — นี่คือตัวที่ใช้ และเป็นตัวที่ prop firm วัด

บรรทัดจริงจากรายงาน Robo ใน lab (lab\reports\tick-quality\Robo\A1-base.htm):

Equity Drawdown Maximal:   6 480.00 (24.67%)
Equity Drawdown Relative:  33.70% (4 776.00)

อ่านแบบนี้:

  • Maximal บอก 24.67% เพราะเงิน 6,480 หายไปตอนทุนโตแล้ว
  • Relative บอก 33.70% เกิดตอนทุนยังเล็ก เงินหายแค่ 4,776 แต่คิดเป็น % แล้วมากกว่า
  • ถ้าเกณฑ์คือ DD ไม่เกิน 30% อ่าน Maximal จะผ่าน อ่าน Relative จะตก คำตอบที่ถูกคือตก

ระวัง: MT5 พิมพ์สองแถวนี้กลับด้านกัน แถว Maximal เป็น เงิน (%) แต่แถว Relative เป็น % (เงิน) ถ้าอ่านเร็ว ๆ จะหยิบตัวเลขผิดตำแหน่ง

case จริงจากงานวิจัยของผู้สอน: รายงานหนึ่งขึ้น Maximal 12.8% แต่ของจริงคือ 99.8% ปัญหานี้กระทบ 463 จาก 4,375 run และเคยต้องถอนข้อสรุปที่ publish ไปแล้ว

3 · ตัวเลขที่ห้ามใช้ตัดสิน

S5-3

ดูเป็นข้อมูลประกอบได้ ตัดสินด้วย
Profit Factor ค่าเฉลี่ย R ต่อ trade (E[R])
win rate พร้อมช่วงความเชื่อมั่น (CI)
กำไรเป็นเงิน — สอนใน S6

ตัวเลขฝั่งซ้ายขึ้นกับ lot การ compounding และ contract size จึงเทียบข้าม broker หรือข้ามบัญชีไม่ได้

ถ้าเป็นบัญชี cent ต้องหาร 100 ก่อนทำอย่างอื่น กำไรในรายงานบัญชี cent เป็นหน่วย cent ถ้าเอาไปคิด R หรือเทียบกับบัญชี USD ตรง ๆ ตัวเลขจะพองขึ้น 100 เท่าโดยไม่มีอะไรเตือน

case partial close — ทุกตัวเลขดีขึ้น แต่กลยุทธ์แย่ลง

ก่อน หลังเพิ่ม partial close
Profit Factor 2.02 2.30 ↑
drawdown 15.1% 9.7% ↑
win rate 62% 80% ↑
E[R] ต่อ trade +0.169 +0.017 ↓
กำไรจริง ลดลง 42% ↓

ทำไมเป็นแบบนี้: partial close ปิดกำไรบางส่วนเร็วขึ้น trade ที่เคยจบเสมอหรือแพ้นิดหน่อยจึงกลายเป็นชนะนิดหน่อย win rate เลยขึ้น และ drawdown ลด แต่ trade ที่เคยวิ่งไปได้ไกลก็ถูกปิดไปบางส่วนก่อนถึงเป้าด้วย กำไรต่อ trade เฉลี่ยจึงหายไปเกือบหมด ถ้าดูแค่ตัวเลขฝั่งซ้ายจะสรุปผิดว่าดีขึ้น

4 · summary.csv — column ที่ใช้จริง

S5-4

เมื่อมีรายงานหลายใบ bt\ea-bt.exe run รวมตัวเลขไว้ให้ใน summary.csv (และ summary.html) ที่ folder backtest_root ใน config ของคุณ หนึ่งแถวต่อหนึ่งรายงาน

column ใช้ทำอะไร
history_quality กรองก่อนอย่างอื่น ต่ำกว่า 90% ทิ้งแถว
equity_dd_rel_pct drawdown แถว Relative ความเสี่ยงที่ prop firm วัด
payoff · win_rate_pct ใช้คู่กัน ดูใน S6
exit_sl_pct · sl_win_pct % ของ trade ที่ปิดด้วย SL · และ % ของ trade ที่ปิดด้วย SL แล้วยังกำไร บอกว่า trailing lock กำไรได้แค่ไหน
profit_factor · profit ข้อมูลประกอบ เทียบข้ามแถวไม่ได้ ถ้าทุนต่างกัน

ตัวอย่างบนจอ: แถว Inter ตกตั้งแต่ column แรก ทั้งที่ Profit Factor 15.12 สูงสุดในตาราง ส่วน column profit เทียบกันไม่ได้ เพราะ Inter ทุน 1,000 แต่อีกสองใบทุน 10,000

summary ไม่มีทุกอย่าง เช่น drawdown รายวัน และ lot ที่ถูกตัดเพราะชน volume_max ต้องใช้เครื่องมืออื่น


Lab · คัดรายงานที่ใช้ไม่ได้ทิ้ง

S5-L

รายงานสามใบใน lab\reports\tick-quality\ เป็น EA ตัวเดียวกัน (TWISTER_CLONE) preset A1-base เดียวกัน ต่างกันแค่ broker

ขั้นที่ 1 เปิดแต่ละใบใน browser แล้วจดบรรทัดตามลำดับในหัวข้อ 1

lab\reports\tick-quality\Inter\A1-base.htm
lab\reports\tick-quality\Robo\A1-base.htm
lab\reports\tick-quality\Exness\A1-base.htm

ขั้นที่ 2 ตัดสินว่าใบไหนทิ้ง และใบที่เหลือต้องอ่าน drawdown แถวไหน ทุกคำตอบต้องอ้างบรรทัดจริงใน file

ขั้นที่ 3 (ทำต่อใน S6) run mc กับทั้งสามใบ แล้วจด E[R] กับ bootstrap 95%

bt\ea-bt.exe mc lab\reports\tick-quality\Inter\A1-base.htm
bt\ea-bt.exe mc lab\reports\tick-quality\Exness\A1-base.htm
bt\ea-bt.exe mc lab\reports\tick-quality\Robo\A1-base.htm

ส่งคำตอบเป็น file research\4-backtest\_lab\<ชื่อคุณ>\L1.md

เฉลย — ทำเองก่อนแล้วค่อยเปิด

ค่าจากรายงานจริงทั้งสามใบ:

Inter Robo Exness
Symbol XAUUSD.v XAUUSD XAUUSDc
Period M5 · 2026.01.01–07.26 M5 · 2026.01.01–07.29 M5 · 2026.01.01–07.29
Initial Deposit 1 000.00 10 000.00 10 000.00
History Quality 17% real ticks 100% real ticks 100% real ticks
Profit Factor 15.12 1.30 3.06
Total Trades 253 256 244
Equity DD Maximal 12.20 (0.57%) 6 480.00 (24.67%) 11.28 (0.11%)
Equity DD Relative 0.57% (12.20) 33.70% (4 776.00) 0.11% (11.28)
  • Inter — ทิ้งทันที real ticks 17% ต่ำกว่า 90% ไม่ต้องอ่านบรรทัดอื่น แม้ Profit Factor 15.12 จะสูงสุดในสามใบ ตัวเลขจากข้อมูลที่ MT5 สร้างขึ้นเองบอกอะไรเกี่ยวกับ EA ไม่ได้
  • Robo — ใช้ได้ แต่ drawdown คือแถว Relative 33.70% ไม่ใช่ Maximal 24.67% ใบนี้คร่อมเส้น 30% พอดี อ่าน Maximal จะผ่าน อ่าน Relative จะตก
  • Exness — ใช้ได้ Relative 0.11% สองแถวเท่ากันเพราะ drawdown ต่ำมาก · symbol XAUUSDc เป็นบัญชี cent ก่อนเอากำไรไปเทียบกับ Robo ต้องหาร 100
  • ทั้งสามใบอยู่ในช่วง ม.ค.–ก.ค. 2026 ซึ่งเป็นช่วงข้อมูลที่ใช้ไปแล้ว ผลที่ได้จึงตอบไม่ได้ว่า EA จะทำได้แบบนี้ในช่วงข้อมูลใหม่

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

พลาด ผลที่ตามมา ทางกัน
ดู Total Net Profit ก่อน เชื่อรายงานที่ข้อมูลปลอม อ่าน History Quality ก่อนทุกครั้ง
ใช้ DD แถว Maximal DD ต่ำกว่าความจริง ผ่านเกณฑ์ทั้งที่ควรตก ใช้แถว Relative เสมอ
หยิบตัวเลขผิดตำแหน่งในแถว Relative ได้เงินแทน % จำว่าแถว Relative พิมพ์ % (เงิน)
เทียบ profit ข้ามแถวใน summary สรุปว่าใบที่ทุนใหญ่กว่าดีกว่า เทียบด้วย E[R] ใน S6
ลืมหาร 100 บนบัญชี cent ตัวเลขพอง 100 เท่า ดู symbol / สกุลเงินบัญชีก่อน
เห็นทุกตัวเลขดีขึ้นแล้วสรุปว่าดีขึ้น พลาดแบบ case partial close ตัดสินด้วย E[R] ต่อ trade

ทวนท้ายบท

S5-Q

  1. รายงานสามใบ EA เดียวกัน ใบที่ Profit Factor สูงสุด 15.12 ควรเป็นใบที่เชื่อมากที่สุดไหม ต้องดูอะไรก่อน
  2. รายงานขึ้น Maximal 24.67% แต่ Relative 33.70% เกณฑ์ drawdown คือ 30% ผ่านหรือตก
  3. เพิ่ม partial close แล้ว Profit Factor, drawdown และ win rate ดีขึ้นหมด สรุปว่าดีกว่าได้ไหม
เฉลย
  1. ไม่ ต้องดู History Quality ก่อน ใบนั้นมี real ticks 17% ต่ำกว่า 90% ทิ้งเลย และทุนก็ไม่เท่ากัน (1,000 กับ 10,000) เทียบเป็นเงินไม่ได้
  2. ตก ต้องใช้แถว Relative 33.70% เพราะบนเส้น compounding แถว Maximal ต่ำกว่าความจริงเสมอ
  3. ไม่ได้ E[R] ต่อ trade ตกจาก +0.169 เหลือ +0.017 และกำไรจริงลดลง 42%