Blog

Chạy nhiều MT5 trên một VPS: cách làm đúng, cần bao nhiêu RAM, và lỗi hay gặp

2026-09-06

Một VPS Windows 2–4 GB RAM chạy được nhiều hơn một MT5, nếu bạn cài đúng cách. Bài này là checklist thực tế: cài kiểu portable để mỗi tài khoản có thư mục riêng, ước lượng tài nguyên theo số terminal, và những lỗi làm bot dừng "trong im lặng" mà nhìn RDP vẫn thấy xanh.

1. Vì sao không nên cài MT5 nhiều lần bằng bộ cài mặc định

Bộ cài mặc định của MetaQuotes ghi dữ liệu vào %APPDATA%\MetaQuotes\Terminal\<hash>. Cài lần hai từ một broker khác thì được, nhưng cài lần hai cùng broker sẽ ghi đè lên bản cũ. Đến lúc muốn chạy hai tài khoản của cùng broker với hai EA khác nhau, bạn sẽ thấy hai terminal dùng chung thư mục MQL5\Experts, chung file .set, chung log. Sửa một cái là hỏng cái kia.

Cách đúng là chế độ portable: mỗi terminal nằm trọn trong một thư mục, chạy bằng cờ /portable.

Bốn thư mục MT5 portable trên một VPS, một cái cần khởi động lại
Mỗi tài khoản một thư mục, chạy bằng /portable. Agent đánh dấu terminal nào mất tiến trình.

2. Cài portable: một thư mục cho mỗi tài khoản

C:\MT5\
  acct-01-exness\    terminal64.exe  (chạy: terminal64.exe /portable)
  acct-02-icm\       terminal64.exe
  acct-03-exness\    terminal64.exe
  1. Tải bộ cài của broker, cài một lần vào C:\MT5\base.
  2. Copy nguyên thư mục base thành acct-01-..., acct-02-....
  3. Tạo shortcut, thêm /portable vào cuối dòng Target. Từ giờ terminal đó chỉ đọc/ghi trong thư mục của nó.
  4. Đăng nhập tài khoản, đặt EA vào MQL5\Experts của thư mục đó.

Lợi ích không phải chỉ là gọn: khi một terminal hỏng, bạn xoá thư mục và copy lại từ base trong 30 giây, không ảnh hưởng terminal khác.

3. Cần bao nhiêu RAM và CPU

Số terminalRAM tối thiểuRAM thoải máiCPU
1–21 GB2 GB1 vCPU
3–42 GB3 GB2 vCPU
5–63 GB4 GB2 vCPU
8+4 GB6–8 GB4 vCPU

Quy tắc đủ dùng: 300–350 MB cho mỗi MT5 chạy 1–2 chart, cộng 600–800 MB cho Windows. Terminal mở nhiều chart, nhiều indicator hoặc EA nạp lịch sử sâu sẽ ăn 500 MB trở lên. Khi RAM vượt 85%, Windows bắt đầu swap và terminal treo từng cái; tin lệnh đến muộn, EA báo "timeout" dù mạng bình thường.

Ba thứ nên tắt trong mỗi terminal để tiết kiệm: Tools → Options → Charts giảm "Max bars in chart" xuống 5.000–10.000; đóng cửa sổ Market Watch chỉ giữ symbol cần; tắt News và Signals trong Toolbox.

4. Năm lỗi làm bot dừng mà RDP vẫn thấy xanh

  1. Windows Update khởi động lại VPS. VPS lên, MT5 không tự mở. Cách chống: đặt shortcut vào thư mục Startup, hoặc tốt hơn là dùng Task Scheduler với "Run whether user is logged on or not". Và hoãn update: Settings → Windows Update → Pause hoặc đặt Active Hours.
  2. EA bị tắt AutoTrading. Nút AutoTrading màu đỏ sau khi terminal khởi động lại vì tuỳ chọn "Allow automated trading" chưa bật trong Options → Expert Advisors. Terminal mở, chart mở, EA gắn trên chart, nhưng không đặt lệnh.
  3. Mất kết nối broker nhưng terminal không đóng. Góc dưới phải hiện "No connection". EA vẫn "chạy" nhưng mọi OrderSend đều lỗi. Không có gì báo cho bạn.
  4. WebRequest bị chặn. EA cần gọi API ngoài phải có URL trong danh sách cho phép (Options → Expert Advisors → Allow WebRequest). Quên một dòng là EA lỗi 4014 mãi mãi.
  5. Terminal chạy nhưng EA đã bị gỡ khỏi chart. Chart bị đóng, template bị đổi, hoặc terminal khởi động lại mà không nhớ profile. Nhìn từ xa không phân biệt được với "đang chạy bình thường".
Màn hình VPS của AutoBotCenter liệt kê các terminal MT5 đang chạy trên một máy
"Mọi terminal trên VPS này" nhìn từ ngoài RDP: tiến trình, tài khoản, EA, heartbeat gần nhất.

5. Phân biệt "MT5 đang mở" và "EA thật sự chạy"

Đây là điểm mấu chốt của mọi hệ thống giám sát. Tiến trình terminal64.exe tồn tại không có nghĩa bot đang làm việc. Cách kiểm tra đáng tin nhất là heartbeat: EA ghi một file nhỏ (hoặc gửi một ping) mỗi phút với thời điểm hiện tại. Thứ gì đó bên ngoài terminal đọc file này; nếu thời điểm cũ hơn 3–5 phút, EA đã dừng dù terminal còn mở.

Bạn có thể tự viết: một script PowerShell chạy 5 phút một lần, đọc thời gian sửa đổi của file heartbeat từng thư mục C:\MT5\acct-*, gửi Telegram nếu quá cũ, và khởi động lại terminal nếu tiến trình biến mất. Khoảng 40 dòng.

Hoặc để một agent làm việc đó: AutoBotCenter cài một agent nhỏ lên VPS, agent quét mọi terminal đang chạy (kể cả cái bạn mở tay), đọc health của EA, tự dựng lại terminal chết và báo về một dashboard chung cho tất cả VPS. Cùng ý tưởng, chỉ khác là bạn không phải viết và không phải nhớ nó có còn chạy hay không.

6. Checklist trước khi để VPS chạy qua đêm

Muốn khỏi mở RDP từng máy?

AutoBotCenter gom mọi VPS, MT5 và EA của bạn về một dashboard: watchdog tự dựng MT5 chết, cài EA từ xa, cảnh báo Telegram. Gói Free đủ chạy 1 VPS, không cần thẻ.

Dùng thử miễn phí

Bài liên quan

Tự khởi động lại MT5 khi treo: dựng watchdog cho terminal trên VPS

Watchdog quyết định một terminal MT5 đã chết dựa trên ba phép thử (tiến trình đúng thư mục, kết nối broker, heartbeat của EA), kèm script PowerShell 40 dòng chạy mỗi 5 phút bằng Task Scheduler, những chỗ nó mù, và khi nào nên thay bằng agent.

Giám sát VPS MT5: cần theo dõi gì, kiểm tra thế nào, và tự động hoá đến đâu

Cách giám sát MetaTrader 5 trên VPS: 5 tín hiệu báo trước bot sắp chết, cách đọc từng tín hiệu từ log hoặc script, ngưỡng cảnh báo, và điểm mà watchdog + cảnh báo Telegram thay thế việc mở RDP.

VPS tích hợp của MetaTrader và VPS riêng: EA của bạn thật sự cần cái nào

Hosting của MetaQuotes chỉ một cú bấm và ping rất thấp, nhưng chỉ chạy một terminal, giấu máy đi và không script được. So sánh thẳng với thuê VPS Windows riêng, kèm các trường hợp mỗi bên là lựa chọn đúng.

Quản lý nhiều tài khoản MT5: một màn hình cho mọi terminal, EA và VPS

MetaTrader 5 chỉ giữ một tài khoản cho mỗi terminal, nên quản lý mười tài khoản là bài toán kiểm kê chứ không phải bài toán giao dịch. Cái gì gãy ở mốc 5, 20 và 100 tài khoản, những cột thật sự cần trên một màn hình, một VPS chứa được bao nhiêu terminal, và thứ tự nên tự động hoá.