A9 · check บัญชีก่อนลาก EA ขึ้น chart
▶ clip: https://youtu.be/73F5vxHqDJw
จบบทนี้แล้วทำได้:
- run
symbol_checkบนบัญชีที่จะใช้จริง และอ่านค่าที่ต้องใช้ออกมาได้ครบ - ตอบ checklist 9 ข้อของขั้น onboarding และรู้ว่าแต่ละข้อกันความเสียหายแบบไหน
- คำนวณ lot ที่คาดว่าจะได้ด้วยมือ แล้วเทียบกับ lot ของ trade แรกที่ EA เปิดจริง
- เขียน file
<login>.mdของบัญชี demo หนึ่งบัญชี
ต้องมีก่อน: จบ A8 · มีบัญชี demo ของตัวเองหนึ่งบัญชีที่ login ใน terminal ของ kit แล้ว · ขั้นนี้คือขั้น 7 (research\7-onboarding\) ในโครง folder ของ kit
1 · ทุกข้อวัดจากบัญชีนั้นจริง

ก่อนลาก EA ขึ้น chart บัญชีไหน ค่าทุกตัวที่ใช้คิด lot และความเสี่ยงต้องวัดจากบัญชีนั้นจริง ไม่ใช่ยืมจากบัญชีอื่น และไม่ใช่ยืมจาก broker อื่น แม้จะเป็นทองเหมือนกันก็ตาม
bt\ea-bt.exe symbol_check --terminal <path> --symbol <sym>
<path> คือ folder ของ terminal บัญชีนั้น (ใน kit อยู่ใต้ mt5\ เช่น mt5\MT5_<ชื่อ>) · <sym> คือชื่อ symbol ทองของบัญชีนั้นตามที่ broker ตั้ง
ค่าบนจอที่ต้องดู และเหตุผลที่ยืมกันไม่ได้:
| ค่า | ปัญหาถ้ายืมมา |
|---|---|
contract_size |
ทองมีอย่างน้อย 3 ค่า: 1 · 10 · 100 ผิดตัวเดียว lot ผิดได้ 10–100 เท่า |
tick_value |
บางบัญชี cent ส่งค่าเป็นคนละหน่วย (0.001 แทน 0.1) · บาง broker ส่ง tick_value=0 |
volume_max |
ตัด lot เงียบ ๆ ถ้า lot ที่คำนวณได้เกินเพดาน ผลของ risk 1% กับ 7% จะออกมาเท่ากันโดยไม่มีอะไรเตือน |
| GMT offset | นาฬิกา server ของแต่ละ broker ต่างกัน EA ที่ดูเวลาทำงาน (เช่นเปิด/ปิดตามชั่วโมง) จะทำงานผิดชั่วโมง |
อ่าน output ตรงไหน — บรรทัดที่เครื่องมือพิมพ์ออกมา (ตัวเลขจริงจะเป็นของบัญชีคุณ):
offset : GMT+x.xx <- use for ServerGMTOffset ...
account : <login> <server> <currency> balance=... leverage=1:...
=== <sym> (...)
contract_size=... tick_size=... tick_value=...
lot min/max/step = .../.../...
currency base/profit/margin = .../.../...
- บรรทัด
accountให้ข้อ 2 ของ checklist (สกุลเงินที่บัญชีคืนมาจริง เช่น USD หรือ USC) - บรรทัด
contract_sizeและlot min/max/stepให้ข้อ 3 - บรรทัด
offsetคำนวณจากราคาล่าสุดเทียบกับเวลา UTC จึงคำนวณไม่ได้ตอนตลาดปิด เครื่องมือจะพิมพ์ว่าcannot compute while the market is closed — rerun Mon–Friให้ run ใหม่วันจันทร์ถึงศุกร์ - ถ้า terminal ยังไม่ login เครื่องมือจะหยุดและบอกให้ login ก่อน (
symbol_checkต้องต่อบัญชีจึงจะอ่านค่าได้)
ผลทั้งหมดจดลง file ชื่อตามเลข login ของบัญชี (<login>.md) ตอบให้ครบ 9 ข้อในหัวข้อถัดไป
ข้อแรกคือ login ได้จริง ฟังดูเป็นเรื่องที่ไม่ต้อง check แต่ในระบบของผู้สอนเคยมี terminal บน VPS ขึ้น Invalid account อยู่ 38 ชั่วโมง โดยไม่มีใครรู้ ถ้า login ไม่ได้ ทุกข้อหลังจากนั้นก็ไม่มีความหมาย
2 · เก้าข้อที่ต้องตอบ

ทุกข้อมาจากความเสียหายที่เกิดขึ้นจริง (บรรทัดสีส้มบน slide) ไม่ใช่ checklist ที่คิดขึ้นลอย ๆ
| # | ต้องรู้ | ดูจากไหน | ความเสียหายจริงที่เป็นที่มา |
|---|---|---|---|
| 1 | terminal login ได้จริง | Journal ของ terminal ไม่มี authorization failed · บรรทัด account ของ symbol_check |
terminal บน VPS ขึ้น Invalid account 38 ชม. โดยไม่มีใครรู้ |
| 2 | สกุลเงินจริงของบัญชี (USD · USC · …) | บรรทัด account |
cent multiplier ตัดสินจาก string นี้ ผิดแล้ว lot ผิด 100 เท่า |
| 3 | contract_size · tick_value · volume (min/step/max) |
symbol_check |
ทองมี contract 1 / 10 / 100 · tick_value=0 บาง broker |
| 4 | ชั้น auto tier ที่ EA จะได้ตามขนาดทุน | ยอดเงินแปลงเป็น USD เทียบกับเกณฑ์ของ EA | EA-B บนทุนต่ำกว่า 2,700 USD ได้ชุดกลยุทธ์คนละชุดกับที่ backtest ไว้ |
| 5 | risk ขั้นต่ำต่อ trade ที่เกิดจากพื้นของ lot | lot ขั้นต่ำ × ระยะ SL × contract ÷ ทุน | บัญชีเล็ก พื้น lot ดัน risk เกินที่ตั้ง หรือถูกด่านปัดทิ้งจนไม่ trade |
| 6 | magic ที่ EA จะใช้บนเลขบัญชีนี้ ล้น int32 ไหม | คำนวณจากวิธีตั้ง magic ของ EA | magic = เลขบัญชี × 100 ล้น int32 บน 5 จาก 6 บัญชี |
| 7 | preset ที่ load บน chart ตรงกับที่ตั้งใจ | log ของ OnInit ไม่ใช่ชื่อ file .set |
.set ที่ load พลาด ค่า bool ตกกลับไปใช้ default เงียบ ๆ |
| 8 | ไม่มี trade หรือ pending order ค้างจาก magic เดิม | tab Trade ของ terminal | EA มองไม่เห็นของเดิม |
| 9 | บัญชีอยู่ใน registry และ risk% ที่จดตรงกับที่ใช้จริง | research\8-forward\accounts.yaml เทียบกับ input บน chart และ lot ของ trade แรก |
registry จด 1% แต่ใช้จริง 9–130% |
ขยายความบางข้อ:
- ข้อ 4 auto tier — EA บางตัวเลือกชุดกลยุทธ์ตามขนาดทุนเอง ถ้าทุนของบัญชีต่ำกว่าเกณฑ์ EA จะ run ชุดที่ไม่เคยผ่าน backtest ของคุณเลย ผล forward ที่ได้จึงเอาไปเทียบกับ backtest ไม่ได้ตั้งแต่วันแรก ต้องรู้ว่า EA ที่ใช้มีเกณฑ์นี้ไหม และบัญชีนี้ตกชั้นไหน
- ข้อ 5 พื้นของ lot — lot เล็กที่สุดที่ส่งได้คือ
volume_minถ้าทุนเล็กและ SL กว้าง lot ที่คำนวณจาก risk% อาจต่ำกว่าพื้น EA จะทำได้สองแบบ คือปัดขึ้นเป็นพื้น (เสี่ยงเกินที่ตั้ง) หรือไม่ยิง (ไม่ trade) ทั้งสองแบบทำให้ผลไม่ตรงกับ backtest ที่ใช้ทุนอีกขนาด - ข้อ 6 int32 — int32 (จำนวนเต็ม 32 bit แบบมีเครื่องหมาย) รับค่าได้สูงสุด 2,147,483,647 เลขบัญชีหลักร้อยล้านคูณ 100 เกินค่านี้ ค่าที่ได้จะไม่ใช่ magic ที่ตั้งใจ แล้ว EA ก็จะแยก trade ของตัวเองไม่ออก
- ข้อ 9 registry — ค่าที่จดไว้คือสิ่งที่ "ตั้งใจ" ไม่ใช่สิ่งที่ "เกิดขึ้น" ตรวจด้วย risk% ที่คำนวณย้อนจาก lot ของ trade จริงเท่านั้น
3 · Lab · เขียน onboarding บัญชี demo

ใช้บัญชี demo ของคุณเอง หนึ่งบัญชี ห้ามทำบนบัญชีจริง
clip ไม่ได้ระบุว่าต้องใช้ EA ตัวไหน ถ้ายังไม่มี EA ของตัวเองที่ผ่าน A8 ใช้ eas\LAB_MACROSS\LAB_MACROSS_v1.00.mq5 ใน kit ได้ EA ตัวนี้คิด lot จาก risk% และพิมพ์ค่าที่ใช้ลง log ตอน OnInit ซึ่งเป็นสิ่งที่ข้อ 7 ต้องการพอดี
ขั้นที่ 1 run symbol_check บนบัญชีนั้น
bt\ea-bt.exe symbol_check --terminal mt5\MT5_<ชื่อ> --symbol <ทอง>
จดข้อ 1–3 จาก output · ถ้าตลาดปิดอยู่ บรรทัด offset จะคำนวณไม่ได้ ให้ run อีกรอบวันจันทร์ถึงศุกร์
ขั้นที่ 2 คำนวณ lot ที่คาดด้วยมือ จากทุน risk% และระยะ SL
เงินต่อ lot ต่อการขยับ 1.00 = contract_size × ตัวคูณสกุลบัญชี (USD = 1 · บัญชี cent = 100)
lot = ทุน × risk% ÷ (ระยะ SL × เงินต่อ lot)
แล้วปัดลงให้เป็นทวีคูณของ volume step · ถ้าได้ต่ำกว่า volume min หรือสูงกว่า volume max ให้จดไว้ด้วยว่า EA ควรทำอะไร (LAB_MACROSS: ต่ำกว่า min = ไม่ยิง · เกิน max = ตัดลงเหลือ max และพิมพ์บอกใน log)
ขั้นที่ 3 ติด EA บน chart แล้วรอ trade แรก เอา lot ที่เปิดจริงมาเทียบกับที่คำนวณ ถ้าไม่ตรง ต้องหาให้เจอว่าต่างเพราะอะไรก่อนไปต่อ อย่าข้ามไปเพราะ "ต่างนิดเดียว"
ขั้นที่ 4 ส่ง <login>.md ที่ตอบครบ 9 ข้อตามแม่แบบนี้ (จาก slide) วางไว้ที่ research\7-onboarding\
# <login>.md
1 login ได้: ___
2 สกุลเงินจริง: ___
3 contract/tick_value/volume: ___
4 auto tier: ___
5 risk ขั้นต่ำ/trade: ___
6 magic · int32: ___
7 preset จาก OnInit: ___
8 trade ค้าง magic เดิม: ___
9 registry · risk% จริง: ___
lot คาด ___ · lot จริง ___
เฉลย — ทำเองก่อนแล้วค่อยเปิด
ไม่มีเฉลยเป็นตัวเลข เพราะทุกค่าเป็นของบัญชี demo ของคุณเอง สิ่งที่ใช้ตรวจว่าทำครบคือ:
- ข้อ 1–3 มาจาก output จริง ของ
symbol_checkบนบัญชีนี้ ไม่ใช่ค่าที่จำมาหรือยืมจากบัญชีอื่น - ข้อ 2 กับข้อ 3 สอดคล้องกัน ถ้าสกุลเงินเป็น USC ตัวคูณในขั้นที่ 2 ต้องเป็น 100
- ข้อ 4–6 ถ้าไม่เกี่ยวกับ EA ที่ใช้ ให้เขียนว่าไม่เกี่ยวเพราะอะไร (เช่น EA ไม่มี auto tier) ไม่ใช่เว้นว่าง
- ข้อ 7 อ้างบรรทัดจาก log ของ OnInit ถ้าใช้ LAB_MACROSS จะเป็นบรรทัดรูปแบบ
LAB_MACROSS v... | <PresetTag> | <sym> | EMA .../... | SL ... | TP ...R | risk ...% | contract ...ค่า risk และ contract ในบรรทัดนี้ต้องตรงกับที่ตั้งใจและตรงกับข้อ 3 - ข้อ 9 คำนวณ risk% ย้อนจาก lot จริง ของ trade แรก ไม่ใช่ลอกค่าจาก input
- บรรทัดสุดท้าย lot คาดกับ lot จริงตรงกัน หรือถ้าไม่ตรง มีคำอธิบายที่หาเจอแล้ว เช่นปัดตาม volume step · ชน volume max · ใช้ contract ผิดค่า · ลืมตัวคูณ cent
จุดที่มักพลาด
| พลาด | ผลที่ตามมา | ทางกัน |
|---|---|---|
| ยืม contract / tick_value จากบัญชีอื่นหรือ broker อื่น | lot ผิด 10–100 เท่า | run symbol_check บนบัญชีนั้นทุกครั้ง |
| ข้ามข้อ login เพราะคิดว่าไม่ต้อง check | terminal ไม่ทำงานโดยไม่มีใครรู้ (เคยเกิด 38 ชม.) | ตอบข้อ 1 จาก Journal และบรรทัด account |
| ไม่ดูชั้น auto tier | forward run ชุดกลยุทธ์ที่ไม่เคย backtest | ตอบข้อ 4 ก่อนติด EA |
| ตั้ง magic เป็นเลขบัญชี × 100 | ล้น int32 (เกิดจริง 5 จาก 6 บัญชี) | คำนวณ magic ของบัญชีนี้ก่อน ข้อ 6 |
ตรวจ preset จากชื่อ file .set |
ค่าที่ load พลาดตกกลับไปเป็น default โดยไม่มี error | อ่านค่าจาก log ของ OnInit |
| เชื่อ risk% ใน registry | จด 1% ใช้จริง 9–130% | คำนวณ risk% ย้อนจาก lot ของ trade แรก |
| lot ของ trade แรกไม่ตรงแต่ไปต่อ | ความเสี่ยงจริงต่างจากที่ตั้งไปทุก trade | หาสาเหตุให้เจอก่อนไปต่อ |
ทวนท้ายบท

- บัญชีใหม่อยู่ broker เดิม เอา contract / tick_value จากบัญชีเก่ามาใช้ได้ไหม และทำไมข้อแรกคือ login ได้จริง
- ตั้ง magic เป็นเลขบัญชี × 100 เสี่ยงอะไร
- registry จด risk_pct 1% เชื่อได้ไหม ตรวจด้วยอะไร
เฉลย
- ไม่ได้ ห้ามยืมค่าจากบัญชีอื่นหรือ broker อื่น ต้อง run
symbol_checkบนบัญชีนั้น · ข้อแรกคือ login เพราะ terminal บน VPS เคยขึ้น Invalid account อยู่ 38 ชั่วโมงโดยไม่มีใครรู้ - เสี่ยงล้น int32 ซึ่งเกิดจริงบน 5 จาก 6 บัญชี
- เชื่อไม่ได้ เคยจด 1% แต่ใช้จริง 9–130% · ตรวจ risk% ที่ใช้จริง และเทียบ lot ของ trade แรกกับที่คำนวณด้วยมือ