Danh mục
Nền tảng
Độ khó
Cơ bản
Dùng trong
Vận hành MT5Đánh giá EA

Máy chủ riêng ảo (VPS)

Máy chủ riêng ảo (VPS) là máy tính từ xa được thuê để giữ MetaTrader mở suốt ngày đêm — nhờ đó EA vẫn giao dịch khi máy của bạn ngủ hoặc rớt kết nối, và nó được đặt gần máy chủ của nhà môi giới hơn.

còn gọi: VPS, VPS giao dịch, VPS MT5, virtual hosting

Đã cập nhật · Đã đánh giá

Nói đơn giản

Một máy tính đặt trong trung tâm dữ liệu mà việc duy nhất của nó là giữ MetaTrader luôn mở. Nó không làm chiến lược tốt lên; nó gỡ bỏ những cách khiến một chiến lược ngừng chạy vì các lý do chẳng liên quan gì tới giao dịch.

Vì sao quan trọng

Một EA chỉ tồn tại chừng nào terminal của nó còn chạy, nên thời gian ngừng hoạt động xóa mất giao dịch chứ không phải làm thua lỗ giao dịch. Trên 27 bản ghi công bố ở đây, hơn một nửa số lượt vào lệnh trong backtest rơi ra ngoài khung 08:00–16:59 UTC — và giờ bận nhất, 00:00 UTC, là chín giờ sáng ở Tokyo.

  • Một lượt vào lệnh bị bỏ lỡ không ghi lại gì cả. Giao dịch đơn giản là vắng mặt, và bản ghi trôi xa khỏi backtest mà không có lỗi nào để lần theo.
  • Windows tự khởi động lại theo lịch của riêng nó. Trên máy để bàn, đó là một lần gián đoạn; trên một cỗ máy đang giữ vị thế, đó là một lần ngừng hoạt động.
  • Độ trễ chỉ quan trọng tương ứng với mục tiêu, và những mục tiêu ở đây đều dài: không bản ghi nào giữ giao dịch trung vị của mình dưới một giờ.

Trong MetaTrader 5

Xuất hiện ở đâu trong MT5

  • Navigator → chuột phải vào tài khoản → Register a Virtual Server — dịch vụ hosting của chính MetaTrader, thuê ngay trong terminal
  • Tools → Options → Expert Advisors → Allow Algo Trading — công tắc phải kiểm tra lại sau mỗi lần khởi động lại
  • Toolbox → Journal — nhật ký cục bộ. Terminal được host giữ một nhật ký riêng

EA dùng nó thế nào

  • Không có gì trong EA thay đổi cả. VPS là nơi terminal chạy, chứ không phải thứ mà mã lệnh phải gọi tới.
  • Virtual hosting chỉ di chuyển một bản chụp. Một VPS bên thứ ba chạy trọn một terminal đầy đủ — thứ mà các tệp tùy chỉnh, DLL hoặc nhiều terminal cùng lúc cần tới.
  • Uptime chỉ giúp được nếu EA sống sót qua một lần khởi động lại. EA dựng lại trạng thái từ các vị thế đang mở trong OnInit thì hồi phục được; EA giữ trạng thái trong bộ nhớ thì không.

Thiết lập thường gặp

Thiết lập Giá trị thường dùng Ghi chú
Độ trễ và RAM không được đo trong danh mục này Trang này không công bố dữ liệu đo từ nhà cung cấp máy chủ, nên mọi con số mili giây hay bộ nhớ ở đây đều không có nguồn. Thứ được đo là thời gian giữ lệnh: 1.362,6 phút.
Hệ điều hành Windows Server MetaTrader là một tệp nhị phân Windows. Một lớp tương thích sẽ thêm vào những kiểu hỏng của riêng nó.
Đồng hồ của máy chủ VPS cứ để nguyên EA đọc TimeCurrent(), tức giờ của nhà môi giới, chứ không phải giờ của máy chủ VPS. Bảy trong số 27 bản ghi này có tham số GMT-offset và sáu bản để nguyên ở 0.

Sự cố vận hành thường gặp

  • Hợp đồng thuê hết hạn hoặc thẻ hết hiệu lực, và máy ảo bị tạm ngưng trong lúc vị thế còn mở.
  • Terminal khởi động nhưng tài khoản chưa đăng nhập. Biểu đồ trông bình thường; EA thì nằm không.

Hàm MT5 liên quan

TerminalInfoInteger(TERMINAL_CONNECTED)
Terminal có đường kết nối tới máy chủ giao dịch hay không — nhịp tim cần ghi log.
TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)
Quyền ở cấp terminal. Trả về false sau một lần khởi động lại mà Algo Trading bị tắt.
TimeCurrent()
Giờ máy chủ của nhà môi giới — chiếc đồng hồ mà bộ lọc phiên đọc, chứ không phải đồng hồ của máy chủ VPS. Dấu thời gian trong sổ trên trang này là UTC, lại là một hệ thứ ba.

Ví dụ

Một giờ ngừng hoạt động lấy đi của mỗi chiến lược một tỷ lệ khác nhau trong cả năm của nó, bởi các lượt vào lệnh không trải đều.

Sundial, số lượt vào lệnh nằm trong đúng một giờ UTC
557 trên 557
Tradewind, cùng phép đo
6,12 %
Trung vị trên 27 bản ghi
14,85 %

Hãy hỏi EA của bạn cần giờ nào, trước khi so sánh các con số uptime giữa những nhà cung cấp máy chủ.

Phép tính 555 trong số 557 lượt vào lệnh của Sundial mang dấu thời gian 00:55 UTC

Kết quả Một cửa sổ gián đoạn xóa sổ trọn một chiến lược và gần như không chạm tới chiến lược khác

Cách sử dụng

Hãy chọn dịch vụ hosting theo độ dài thời gian chiến lược giữ lệnh, chứ không theo giá của gói.

Khoảng Ý nghĩa
Thời gian giữ trung vị dưới 2 giờ (2 trên 27) Vòng đi-về chiếm một phần thấy được trong biên độ; hãy chọn theo vùng của nhà môi giới.
Thời gian giữ trung vị 2–24 giờ (6 trên 27) Một máy ảo cơ bản đặt gần là đủ; hãy mua hành vi khởi động lại thay vì mua tốc độ.
Thời gian giữ trung vị trên một ngày (19 trên 27) Độ trễ không còn liên quan. Uptime là toàn bộ thứ bạn mua.
Thời gian giữ bất kỳ, trên máy tính ở nhà Chỉ chạy được khi có người trông; phần lớn các vị thế này sống lâu hơn ngày mở lệnh.
  • Đặt MetaTrader khởi động cùng Windows, rồi chủ động khởi động lại máy để chứng minh điều đó. Xác nhận tài khoản đã đăng nhập lại và Algo Trading vẫn đang bật.
  • Hãy đo vòng đi-về từ VPS tới máy chủ giao dịch của nhà môi giới, chứ không phải từ bàn làm việc của bạn.

Các gói VPS miễn phí do nhà môi giới cung cấp đều kèm điều kiện số dư tối thiểu hoặc khối lượng giao dịch hằng tháng; hãy đọc điều khoản đủ điều kiện trước.

Sai lầm thường gặp

Chọn vị trí gần bản thân bạn nhất

Chặng đường quan trọng chạy từ máy chủ tới nhà môi giới. Bạn kết nối mỗi tuần một lần; EA kết nối trên từng lệnh.

Cho rằng virtual hosting của MetaTrader vẫn đồng bộ liên tục

Nó chỉ di chuyển một bản chụp khi được yêu cầu. Sau đó bạn đổi một tham số ở máy cục bộ thì bản được host vẫn giao dịch bằng giá trị cũ.

Đọc giờ bận nhất trên sai chiếc đồng hồ

Các dấu thời gian trong sổ này là UTC. Đọc 08:00–16:59 theo giờ máy chủ của nhà môi giới thì tỷ lệ nằm ngoài giờ ngồi trước màn hình dịch từ 54,28 % thành 64,49 %.

Chi tiết

Khi nào terminal thực sự phải thức

Đo trên 27 bản ghi công bố, 18.219 lượt vào lệnh trong backtestGiá trị
Lượt vào lệnh nằm ngoài khung 08:00–16:59 UTC54,28 %
Giao dịch mở và đóng vào hai ngày lịch khác nhau64,71 %
Thời gian giữ lệnh trung vị, toàn bộ giao dịch1.362,6 phút
Thời gian giữ trung vị ngắn nhất trong các bản ghi (Chrysalis)67,5 phút
Bản ghi có đặt tham số GMT-offset, DST hoặc giờ phiên8 trên 27
Trung vị số lượt vào lệnh mỗi năm, trên mỗi bản ghi56,4

Hai dòng quyết định việc mua. Hơn một nửa số lượt vào lệnh rơi ra ngoài giờ ngồi trước màn hình, và gần hai phần ba vị thế sống sang ngày lịch kế tiếp — dù chỉ 48,36 % chạy quá 24 giờ, bởi một ranh giới lịch không phải là một khoảng thời lượng. Bảy bản ghi có tham số GMT-offset và sáu trong số đó để nguyên ở 0; chỉ ba trong tám bản ghi đặt bất kỳ tham số đồng hồ nào ở giá trị khác 0. Chuyển một terminal sang vùng khác không thay đổi gì về thời điểm nó giao dịch.

Một giờ bị bỏ lỡ không phải lúc nào cũng là một giờ bị bỏ lỡ

Bản ghi trung vị đặt 14,85 % số lượt vào lệnh của nó vào đúng một giờ bận nhất. Sundial đặt toàn bộ 557 lượt vào đó, với 555 lượt đóng dấu đúng 00:55. Tidewell Slack nhét mọi lượt vào lệnh vào hai giờ liên tiếp; Almanac vào lệnh vào ba thời điểm cố định mỗi ngày — 00:55, 07:50 và 15:00 — nên một lần gián đoạn nhiều nhất cũng chỉ lấy đi được một trong ba. Giờ bận nhất của Tradewind chỉ chứa 6,12 %.

Chi phí của một lần gián đoạn là thuộc tính của chiến lược, không phải của nhà cung cấp máy chủ. Con số uptime 99 % nói lên một điều với EA giao dịch mỗi giờ, và một điều khác hẳn với EA chỉ tồn tại vào lúc 00:55.

Một chiến lược im ắng và một terminal đã chết trông giống hệt nhau

Vào lúc im ắng nhất, bản ghi trung vị để trôi 53,4 ngày giữa hai lượt vào lệnh liên tiếp. Windrose từng trôi 193,4 ngày mà không có lượt nào. Chrysalis trôi tới 760,8 ngày — nhưng nó là bản ghi duy nhất ở đây có sổ bỏ trống trọn một năm lịch, và 26 bản ghi còn lại đã ghi nhận 3.770 lượt vào lệnh trong quãng im lặng đó. Một quy tắc kiểu “báo cho tôi nếu tuần này không có giao dịch nào” sẽ kêu liên tục trên các chiến lược khỏe mạnh và im lặng suốt một lần gián đoạn trên các chiến lược chậm.

Hãy theo dõi terminal, chứ không phải cuốn sổ. Ghi log TERMINAL_CONNECTED theo bộ đếm thời gian và coi nhịp tim biến mất chính là tiếng chuông báo động.

Thuật ngữ liên quan và điều cần kiểm tra tiếp theo

Một VPS thay đổi nơi một expert advisor chạy, chứ không bao giờ thay đổi điều nó làm. Nửa phần thực thi của quyết định thuộc về trượt giámô hình khớp lệnh của nhà môi giới. Nửa phần chiến lược thì đọc cùng với scalping, loại có mục tiêu nhỏ tới mức vòng đi-về của gói tin hiện rõ. Các gói VPS mà nhà môi giới tặng kèm đều ràng buộc theo số dư và khối lượng; gói của XM là gói được ghi lại ở đây. Mọi mục trong danh mục đều công bố cuốn sổ đằng sau nó, nên bạn kiểm tra được phân bố theo giờ của chính EA mà bạn định đem lên máy chủ.

Câu hỏi thường gặp

Tôi có cần VPS để chạy một EA trên MT5 không?
Chỉ khi bạn muốn nó chạy mà không cần người trông. EA chỉ giao dịch khi terminal đang mở và còn kết nối, nên một cỗ máy ngủ, cập nhật hoặc rớt đường truyền sẽ làm chiến lược dừng lại trong im lặng — và phần lớn lượt vào lệnh trong các bản ghi chúng tôi công bố rơi ra ngoài giờ ngồi trước màn hình.
Một EA cần độ trễ VPS bao nhiêu?
Nó co giãn theo mục tiêu. Một chiến lược scalping đuổi theo vài pip cần ở chung vùng trung tâm dữ liệu với nhà môi giới; danh mục này không công bố phép đo độ trễ nào, nên chúng tôi sẽ không gán một con số mili giây cho điều đó. Bất cứ chiến lược nào giữ lệnh hàng giờ đều không bị vài trăm mili giây ảnh hưởng, và mọi bản ghi ở đây đều giữ lệnh lâu hơn một giờ.
Virtual hosting tích hợp sẵn của MetaTrader có phải là một VPS không?
Nó phục vụ cùng mục đích theo cách khác. Nó thuê một terminal được host từ ngay bên trong MetaTrader và di chuyển một bản chụp các biểu đồ cùng EA của bạn — đơn giản, nhưng là một bản sao chép một lần. Một VPS thông thường là trọn một máy Windows do bạn quản trị, và đó mới là thứ mà các tệp tùy chỉnh hoặc nhiều terminal cùng lúc cần tới.
VPS có làm EA của tôi sinh lời hơn không?
Không. Nó gỡ bỏ thời gian ngừng hoạt động và rút ngắn quãng đường một lệnh phải đi; nó không chạm tới chiến lược. Thứ nó thay đổi là khoảng cách giữa những giao dịch có trong backtest và những giao dịch mà tài khoản thực sự đã vào.
Làm sao kiểm tra một terminal được host vẫn đang giao dịch?
Đừng nhìn danh sách giao dịch — một chiến lược im ắng và một terminal đã chết cho ra cùng một màn hình trống suốt nhiều tuần. Hãy ghi log TerminalInfoInteger(TERMINAL_CONNECTED) theo bộ đếm thời gian và cảnh báo khi nhịp tim biến mất.

Bài viết liên quan