วิธีเปิด MT5 หลายตัวพร้อมกันแบบเป็นชุดและอัตโนมัติ | คู่มือ Startup และ Task Scheduler


กลุ่มเป้าหมายและเป้าหมาย

บทความนี้สำหรับเทรดเดอร์ที่ใช้งาน MT5 หลายตัวพร้อมกันในสภาพแวดล้อม Windows โดยจะอธิบายขั้นตอนการทำงานที่เจาะจงสำหรับ ① การเปิดใช้งานเป็นชุดด้วยไฟล์ .bat และ ② การเปิดใช้งานอัตโนมัติ (Startup / Task Scheduler) เป้าหมายสุดท้ายคือการทำให้ MT5 ทั้งหมดเปิดขึ้นมาโดยไม่ต้องคลิกใดๆ หลังจากรีสตาร์ท PC/VPS

สำหรับขั้นตอนการติดตั้ง MT5 หลายตัวจากโบรกเกอร์เดียวกันหรือต่างกันบน PC/VPS เดียว โปรดดูบทความที่เกี่ยวข้อง (วิธีติดตั้งและเปิดใช้งาน “MT5 หลายตัว” บน PC/VPS เดียว【คู่มือฉบับสมบูรณ์สำหรับผู้เริ่มต้น】)


ข้อดีของการเปิดใช้งานเป็นชุดและอัตโนมัติ

1) การกู้คืนหลังรีสตาร์ทแบบ Zero-Click

แม้หลังจากการอัปเดต Windows หรือการบำรุงรักษา VPS, MT5 จะเปิดตัวตามลำดับโดยอัตโนมัติ และ EA จะเริ่มทำงานทันที

2) ลดข้อผิดพลาดด้วยการกำหนดมาตรฐานขั้นตอนการเปิดใช้งาน

ป้องกันการลืมเปิดหรือเปิดผิดลำดับเมื่อเปิดด้วยตนเอง การเก็บ Log ทำให้ง่ายต่อการติดตามสาเหตุ

3) การปรับสมดุลภาระงาน

การเปิดใช้งานแบบหน่วงเวลาเป็นเวลาหลายวินาทีช่วยหลีกเลี่ยงการพุ่งสูงของ CPU/IO ซึ่งนำไปสู่การทำงานที่เสถียร


การเตรียมการเบื้องต้น: การจัดวาง MT5 และการออกแบบโฟลเดอร์

ข้อสันนิษฐาน: บทความนี้ถือว่าโฟลเดอร์ MT5 แต่ละตัวถูกจัดวางโดยตรงใต้ไดรฟ์ C เช่น C:\HFM Metatrader 5\ หรือ C:\MetaTrader 5 IC Markets (SC)\ (ไม่จำเป็นต้องสร้างโฟลเดอร์เฉพาะ C:\MT5\)

เหตุผล: การจัดวางโดยตรงใต้ไดรฟ์ C มีประโยชน์ในทางปฏิบัติในด้านการจัดการพาธ (การใช้เครื่องหมายคำพูดเมื่อมีช่องว่างหรือวงเล็บ), ความชัดเจนของสิทธิ์ในการเขียน, และความง่ายในการสำรองข้อมูล/การทำสำเนาใช้งาน แม้ว่าจะสามารถเปิดใช้งานใน Program Files ได้ แต่การจัดวางโดยตรงใต้ไดรฟ์ C มีแนวโน้มที่จะจัดการได้ง่ายกว่าสำหรับการใช้งานหลายอินสแตนซ์ โปรดดู ข้อผิดพลาดสิทธิ์ UAC (User Account Control) ใน MT5×EA: สาเหตุและวิธีการหลีกเลี่ยง

หน้าจอไดรฟ์ C → โฟลเดอร์ Programภาพหน้าจอของโฟลเดอร์ MT5 ที่อยู่ใต้ไดรฟ์ C โดยตรง

 

  • หากคุณย้ายการติดตั้งที่มีอยู่ ให้คัดลอกโฟลเดอร์ทั้งหมดเพื่อให้ terminal64.exe อยู่ภายในแต่ละโฟลเดอร์โดยตรง

【การเปิดใช้งานเป็นชุด】ขั้นตอนการสร้างไฟล์ .bat

ขั้นตอน

สร้างไฟล์ Notepad (เอกสารข้อความ) ใหม่บนเดสก์ท็อปหรือที่ใดก็ได้
สร้างไฟล์ Notepad (เอกสารข้อความ) จากเดสก์ท็อป Windows

วางเนื้อหาด้านล่างและบันทึก (แก้ไขพาธให้ตรงกับชื่อโฟลเดอร์ MT5 ของคุณ)

@echo off
rem ===== สคริปต์เปิดใช้งาน MT5 เป็นชุด =====
setlocal

rem (ทางเลือก) รอความเสถียรของเครือข่าย (วินาที)
set WAIT_NET=10
timeout /t %WAIT_NET% /nobreak >nul

rem ---- ตัวที่ 1 (ระบุไดเรกทอรีการทำงานอย่างชัดเจน) ----
start "" /D "C:\MetaTrader 5 IC Markets (SC)" "terminal64.exe" /portable
timeout /t 3 /nobreak >nul

rem ---- ตัวที่ 2 ----
start "" /D "C:\HFM Metatrader 5" "terminal64.exe" /portable
timeout /t 3 /nobreak >nul

rem ---- ตัวที่ 3 เป็นต้นไปให้ทำเช่นเดียวกับข้างต้น ----

endlocal

ตัวอย่างชื่อไฟล์: เปลี่ยนเป็น mt5_start_all.bat
(จำเป็นต้องเปลี่ยนนามสกุลจาก .txt เป็น .bat หากนามสกุลไม่แสดง ให้ตรวจสอบ “นามสกุลชื่อไฟล์” ในแท็บ [มุมมอง] ของ Windows และคลิก “ใช่” หากมีคำเตือนปรากฏขึ้น)
การตั้งค่ามุมมองไฟล์ Windows: แสดง 'นามสกุลชื่อไฟล์' ในแท็บมุมมอง การเปลี่ยนจาก txt เป็น bat: กล่องโต้ตอบคำเตือนการเปลี่ยนนามสกุล

เปิดใช้งาน MT5

ดับเบิลคลิกที่ mt5_start_all.bat เพื่อเปิดใช้งาน MT5 หลายตัวตามลำดับ

ประเด็นสำคัญ

  • การใช้ start "" /D "โฟลเดอร์" "terminal64.exe" ช่วยให้คุณสามารถระบุไดเรกทอรีการทำงานได้อย่างถูกต้อง
  • ใส่ timeout /t 3 ระหว่างการเปิดใช้งานแต่ละครั้งเพื่อลดการพุ่งของภาระงาน เพิ่มช่วงเวลาเป็น 5-10 วินาทีหากมีเทอร์มินัลจำนวนมาก
  • หากต้องการแก้ไข MT5 ที่จะเปิดใช้งาน (เพิ่ม/ลบ) ให้คลิกขวาที่ไฟล์ .bat แล้วเลือก “แก้ไข”

【การเปิดใช้งานอัตโนมัติ – แนะนำ】การลงทะเบียนใน Startup

นี่คือวิธีที่ง่ายที่สุดและมีปัญหาน้อยที่สุด ไฟล์ .bat จะถูกเรียกใช้โดยอัตโนมัติเมื่อเข้าสู่ระบบ Windows

ขั้นตอน

พิมพ์ shell:startup ในแถบที่อยู่ของ File Explorer เพื่อเปิดโฟลเดอร์ Startup
พิมพ์ 'shell:startup' ในแถบที่อยู่ของ File Explorer


คัดลอก mt5_start_all.bat ที่คุณสร้างไว้ก่อนหน้านี้ไปยังโฟลเดอร์นี้ ชอร์ตคัท (Shortcut) ก็ใช้ได้
วางไฟล์ .bat ในโฟลเดอร์ Startup ของ Windows

ข้อควรระวัง: เนื่องจาก Startup ทำงานหลังการเข้าสู่ระบบ จะไม่มีผลกับ PC/VPS ที่ไม่ได้ตั้งค่าการเข้าสู่ระบบอัตโนมัติ


【การเปิดใช้งานอัตโนมัติ – ทางเลือก】การลงทะเบียนด้วย Task Scheduler

ช่วยให้คุณควบคุมได้ละเอียดยิ่งขึ้น เช่น การเปิดใช้งานแบบหน่วงเวลาและการลองใหม่ (ต้องมีการเข้าสู่ระบบ เนื่องจากเป็นแอปพลิเคชัน GUI)

การตั้งค่าพื้นฐาน

  1. “Task Scheduler” → “Create Task”
  2. ทั่วไป (General): ชื่อ “MT5 Auto Start”,
    เลือก “Run only when user is logged on” (เพื่อให้แสดง GUI)
    “Run with highest privileges” มักจะปิดอยู่
  3. ทริกเกอร์ (Triggers): “At log on” หากจำเป็น ให้เลือก “Delay task for” (เช่น 30 วินาที)
  4. การกระทำ (Actions): “Start a program”
    โปรแกรม/สคริปต์: C:\mt5_start_all.bat
    เริ่มใน (โฟลเดอร์ทำงาน): C:\ (เปลี่ยนตามตำแหน่งของไฟล์ .bat)
  5. เงื่อนไข (Conditions): แนะนำให้ทำเครื่องหมาย “Start only if the following network connection is available”
  6. การตั้งค่า (Settings): “If the task fails, restart every” → เช่น 1 นาที, 3 ครั้ง, ฯลฯ

หมายเหตุ: ทริกเกอร์ “At system startup” ทำงานเหมือนบริการ (Session 0) และ UI ของ MT5 จะไม่ปรากฏ ดังนั้นไม่แนะนำ


ประยุกต์: การหน่วงเวลา, บันทึก (Log), ลำดับความสำคัญ/การจัดสรร CPU

การบันทึก Log การเปิดใช้งาน

เพิ่มเอาต์พุต Log ที่จุดเริ่มต้นและจุดสิ้นสุดของ .bat

@echo off
set LOG=%~dp0mt5_start.log
echo [%date% %time%] --- MT5 Start Initiated --- >> "%LOG%"
rem ... (คำสั่งเปิดใช้งาน) ...
echo [%date% %time%] --- MT5 Start Completed --- >> "%LOG%"

การระบุลำดับความสำคัญและความสัมพันธ์ของ CPU (CPU Affinity)

มีประสิทธิภาพเมื่อมีภาระงานสูง (สำหรับผู้ใช้ขั้นสูง)

start "" /HIGH /AFFINITY 3 /D "C:\HFM Metatrader 5" "terminal64.exe" /portable
rem /AFFINITY 3 = ใช้ CPU0+CPU1 (Hexadecimal Bitmask)

สคริปต์สำหรับการหยุด (บังคับปิด – ข้อควรระวัง)

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

@echo off
taskkill /IM terminal64.exe /F
rem * สิ้นสุดอินสแตนซ์ทั้งหมด หากต้องการจำกัดเป้าหมาย ให้ใช้เงื่อนไขบรรทัดคำสั่งในการกรอง

การแก้ไขปัญหา

  • ไม่เปิด/เปิดได้เพียงบางส่วน: ตรวจสอบพาธใน .bat ว่าผิดพลาดหรือไม่ หรือไม่มีเครื่องหมายคำพูดสำหรับช่องว่าง (ให้ใส่เครื่องหมายคำพูดคู่ เช่น "C:\HFM Metatrader 5\terminal64.exe")
  • EA มีข้อผิดพลาดเนื่องจากไม่ได้เชื่อมต่อเครือข่าย: เพิ่ม timeout ที่จุดเริ่มต้นของ .bat เพื่อหน่วงเวลาการเปิดใช้งาน ใน Scheduler ให้เปิดเงื่อนไข “การเชื่อมต่อเครือข่ายใช้งานได้” เป็น ON
  • ทำงานช้าเมื่อเปิดพร้อมกัน: เพิ่ม timeout ระหว่างเทอร์มินัลเป็น 5-10 วินาทีเพื่อเปิดใช้งานแบบเป็นขั้นตอน พิจารณาการระบุความสัมพันธ์ของ CPU (Affinity) หากจำเป็น
  • /portable จำเป็นหรือไม่?: แนะนำสำหรับการใช้งาน MT5 หลายตัวพร้อมกัน ป้องกันการผสม/ความขัดแย้งของการตั้งค่าและ MQL


คำถามที่พบบ่อย

Q. อะไรคือความแตกต่างระหว่าง C:\Users\…\AppData\Roaming\MetaQuotes\Terminal\… และ C:\HFM Metatrader 5\?
A. อย่างแรกคือโฟลเดอร์ข้อมูลเริ่มต้นของ MT5 (ต่อผู้ใช้) อย่างที่สองคือตัวอย่างตำแหน่งการติดตั้งโปรแกรมในบทความนี้ สำหรับการใช้งานหลายตัว การจัดวางในโฟลเดอร์ที่กำหนดเองโดยตรงใต้ C (เช่น C:\HFM Metatrader 5\) และการใช้ /portable เพื่อแยกข้อมูลจะช่วยให้จัดการได้ง่ายขึ้น
Q. /portable จำเป็นหรือไม่?
A. แนะนำสำหรับการใช้งานหลายตัวพร้อมกัน โปรไฟล์จะถูกรวมไว้ในแต่ละโฟลเดอร์ ป้องกันความขัดแย้งของการตั้งค่าและ MQLs (ไม่แนะนำให้ใช้ /portable ใน Program Files)
Q. Startup กับ Task Scheduler อันไหนดีกว่ากัน?
A. ควรเริ่มต้นด้วย Startup (เมื่อเข้าสู่ระบบ) ซึ่งง่ายและเสถียร หากต้องการการควบคุม เช่น การหน่วงเวลาหรือการลองใหม่ ให้เปลี่ยนไปใช้ Task Scheduler (เมื่อเข้าสู่ระบบ / Run only when user is logged on)
Q. การเข้าสู่ระบบอัตโนมัติจำเป็นหรือไม่?
A. วิธี Startup จะทำงานหลังการเข้าสู่ระบบ ดังนั้นการเข้าสู่ระบบอัตโนมัติจึงจำเป็น สำหรับการทำงานอัตโนมัติอย่างสมบูรณ์ จำเป็นต้องใช้การตั้งค่าการเข้าสู่ระบบอัตโนมัติหรือ RMM เพื่อทำให้การเข้าสู่ระบบเป็นไปโดยอัตโนมัติ
Q. จะกำหนดลำดับการเปิดใช้งานได้อย่างไร?
A. ในทางปฏิบัติ ให้ระบุบัญชี (EA) ที่สำคัญที่สุดก่อน จากนั้นใส่ timeout สองสามวินาทีระหว่างการเปิดใช้งานแต่ละครั้ง

ใส่ความเห็น