KhiemFX Monitor — Bộ cài BKHOST Pro 02

Phiên bản 1.0 RC — bản chạy thử. Tên miền dự kiến: https://ngockhiem.io.vn

Bộ này gồm web PHP/MySQL và EA chỉ đọc dữ liệu MT5. EA không có chức năng vào/đóng/sửa lệnh. Web dựng theo bố cục ảnh mẫu: tổng quan, từng tài khoản, biểu đồ, lịch lợi nhuận và quản trị. Đây không phải mã nguồn của website mẫu và chưa xác minh giống 100% công thức/chức năng ẩn của website đó.

1. Bắt đầu ở đâu?

Bạn đang mua hosting: chọn Pro 02, xem kỹ chu kỳ thanh toán, VAT và phí gia hạn. Xác nhận với BKHOST gói cho phép nhận HTTPS POST/JSON từ khoảng 20–40 MT5, PHP 8.2 trở lên, PDO MySQL, MySQL/MariaDB, Cron Jobs và SSL. Khi hoạt động ổn định, mỗi EA gửi trạng thái 60 giây/lần và kiểm tra lịch sử mới khoảng 120 giây/lần. Đợt nhập lịch sử ban đầu có thêm yêu cầu; nên cài lần lượt từng tài khoản.

20–40 tài khoản là quy mô thiết kế, chưa phải kết quả kiểm thử chịu tải trên Pro 02. Dung lượng tăng tùy số deal; theo dõi Disk Usage, MySQL Usage, CPU/I/O/Entry Processes trong cPanel. Giao diện có nhiều mục không đồng nghĩa tải lớn; lịch sử nhiều và đồng bộ quá thường xuyên mới làm tăng tải.

VPS Windows cũ tiếp tục chạy MT5. Hosting BKHOST chạy web. Tên miền trỏ về IP HOSTING, không phải IP VPS. Không cần tiếp tục hướng dẫn IIS, ARR, Caddy hoặc Python của bộ cũ cho phương án này. Không gỡ các dịch vụ cũ đang dùng cho việc khác.

2. Sau khi mua: lấy thông tin hosting

  1. Đăng nhập trang khách hàng BKHOST bằng tài khoản của bạn.
  2. Vào Dịch vụ / My Services, chọn gói hosting vừa mua.
  3. Mở cPanel (tên nút có thể là Login to cPanel / Đăng nhập cPanel).
  4. Ghi lại IP hosting, tên đăng nhập cPanel và nameserver BKHOST cấp trong thông tin dịch vụ/email kích hoạt.
  5. Không gửi mật khẩu cPanel, mật khẩu database hoặc khóa EA vào chat. Nếu cần hướng dẫn thao tác, chụp ảnh và che thông tin bí mật.

3. Gắn tên miền ngockhiem.io.vn

  1. Trong cPanel → Domains, kiểm tra có ngockhiem.io.vn chưa. Nếu là tên miền chính lúc mua hosting thì thường đã có.
  2. Nếu chưa có, chọn Create a New Domain / Add Domain, nhập tên miền. Ghi lại Document Root (thư mục web); nếu gói chỉ cho một website, nhờ BKHOST đặt đúng tên miền chính.
  3. Tại nơi đang quản lý DNS của tên miền, chọn một trong hai cách:
  4. Không tự đoán nameserver/IP. Kiểm tra bản ghi A/AAAA cũ để tránh tên miền còn trỏ sang máy khác. Nếu tên miền đang có email/dịch vụ khác, giữ nguyên các bản ghi phục vụ chúng.
  5. Chờ DNS cập nhật. Kiểm tra trong cPanel Domains và SSL/TLS Status. Thời gian phụ thuộc TTL, không phải luôn có hiệu lực ngay.

4. Bật HTTPS

  1. Trong cPanel tìm SSL/TLS Status hoặc mục SSL theo giao diện BKHOST.
  2. Chọn ngockhiem.io.vn và chạy AutoSSL nếu nút này có sẵn. Nếu không có, yêu cầu hỗ trợ BKHOST kích hoạt SSL miễn phí cho tên miền.
  3. Chỉ tiếp tục khi mở https://ngockhiem.io.vn không còn cảnh báo chứng chỉ.
  4. Bộ web bắt buộc HTTPS. Không bỏ qua cảnh báo chứng chỉ, không nhập khóa/mật khẩu qua HTTP.
  5. Phiên bản này dùng tên miền gốc, không đặt trong thư mục con. Nếu dùng www thay tên miền gốc, cần sửa site_url trong config cho khớp.

5. Chọn PHP và tạo database

  1. cPanel → Select PHP Version / MultiPHP Manager: chọn PHP 8.2 hoặc 8.3 cho tên miền.
  2. Bật extension pdo_mysql, session, json. mbstring là tùy chọn.
  3. Vào MySQL Database Wizard hoặc MySQL Databases.
  4. Tạo database, ví dụ tên đầy đủ usercp_khiemfx.
  5. Tạo user database, ví dụ usercp_monitor, dùng mật khẩu mạnh và lưu lại riêng.
  6. Gắn user vào database, chọn ALL PRIVILEGES, lưu.
  7. Dùng tên ĐẦY ĐỦ có tiền tố cPanel. Database host thường là localhost; dùng giá trị BKHOST cung cấp nếu khác.

6. Tải mã web lên hosting

Trong bộ tải xuống: - Website_Hosting.zip: mã WEB để upload. - EA/KhiemFX_Exporter.mq5: mã EA, dùng trên VPS/MT5, không upload vào thư mục web. - HUONG_DAN.html: hướng dẫn này, nhấp đúp để đọc.

Thao tác: 1. cPanel → File Manager → mở Document Root của ngockhiem.io.vn. Tên miền chính thường là public_html; hãy đối chiếu mục Domains thay vì đoán. 2. Nếu thư mục có website cũ, sao lưu và hỏi trước khi thay. Không ghi đè website đang dùng. 3. Upload Website_Hosting.zip, chọn Extract ngay tại Document Root. 4. Phải thấy trực tiếp index.php, api.php, setup.php, assets và private, không bị lồng thêm thư mục hosting. 5. Vào Settings của File Manager → Show Hidden Files, kiểm tra có .htaccess ở thư mục gốc và private/.htaccess. 6. Xóa ZIP khỏi thư mục web sau khi giải nén. Để quyền file thường 644, thư mục 755; không đặt 777.

7. Cấu hình kết nối database

  1. Trong File Manager mở private.
  2. Copy config.example.php thành config.php trong chính thư mục private.
  3. Chọn Edit file config.php. Thay các chuỗi mẫu:
Trường Điền gì
db_host localhost, hoặc host BKHOST cấp
db_name Tên database đầy đủ, gồm tiền tố cPanel
db_user User database đầy đủ
db_pass Mật khẩu user database bạn vừa tạo
setup_key Tự tạo chuỗi bí mật ngẫu nhiên ít nhất 24 ký tự, KHÔNG giữ chuỗi mẫu
site_url https://ngockhiem.io.vn

Giữ nguyên cú pháp dấu nháy và dấu phẩy. Nên tạo setup_key bằng trình tạo mật khẩu, gồm chữ/số. Nếu mật khẩu chứa dấu nháy đơn hoặc dấu gạch chéo ngược, cần escape đúng trong chuỗi PHP (\' và \\). Không đổi sang mật khẩu dễ đoán chỉ để dễ nhập.

  1. Save Changes. Config và database không cần gửi cho người hỗ trợ.

8. Tạo admin lần đầu

  1. Mở https://ngockhiem.io.vn/setup.php.
  2. Nhập setup_key đã đặt trong config.php.
  3. Tạo mật khẩu admin ít nhất 12 ký tự, nhập lại rồi bấm Cài đặt.
  4. Khi báo thành công, quay lại File Manager và xóa setup.php.
  5. Mở https://ngockhiem.io.vn, chọn Đăng nhập admin, dùng mật khẩu mới.
  6. Mặc định web riêng tư. Chỉ bật “Cho phép mọi người có đường link…” nếu muốn công khai số tài khoản, giao dịch và số liệu.

9. Thêm tài khoản trong admin

  1. Bấm Quản trị.
  2. Nhập tên hiển thị, số tài khoản MT5, server sàn chính xác như trong MT5.
  3. Chọn đơn vị:
  4. Với broker gọi tài khoản cent là USD, vẫn phải chọn cent nếu thực chất 100 đơn vị = 1 USD.
  5. Bấm Thêm tài khoản → sao chép khóa. Khóa chỉ hiện lần này.
  6. Sai tên hoặc quy đổi: dùng Sửa. Sai số tài khoản/server: gỡ dòng sai rồi thêm đúng; liên hệ hỗ trợ nếu bị trùng.
  7. Khóa chỉ được dùng với đúng số tài khoản + server đã khai báo.

10. Cài EA trên VPS Windows/MT5

  1. Trên VPS, mở đúng MT5 của tài khoản cần theo dõi.
  2. File → Open Data Folder → MQL5 → Experts.
  3. Chép KhiemFX_Exporter.mq5 vào Experts.
  4. Nhấn F4 mở MetaEditor, mở file vừa chép và nhấn F7 / Compile.
  5. Phải thấy 0 errors. Bản giao chưa được biên dịch bằng MetaEditor ở môi trường tạo mã; nếu có lỗi, gửi ảnh đầy đủ tab Errors để sửa trước khi dùng.
  6. Quay lại MT5 → Navigator → Expert Advisors → nhấp phải Refresh.
  7. Mở chart mới riêng để gắn exporter, không thay GoldTrap trên chart đang chạy. Mỗi terminal/tài khoản chỉ gắn một exporter; không gửi đồng thời cùng tài khoản từ nhiều terminal.
  8. Tools → Options → Expert Advisors → tích Allow WebRequest for listed URL → thêm https://ngockhiem.io.vn.
  9. Kéo EA lên chart mới và điền:
Input Giá trị ban đầu
WebsiteURL https://ngockhiem.io.vn
ApiKey Khóa của dòng tài khoản tương ứng trên web
SendSeconds 60
HistorySendSeconds 10
RequestTimeoutMs 1500
DealsPerBatch 100
BrokerUTCOffsetHours -99 (tự ước lượng offset hiện tại)
HistoryBrokerUTCOffsetHours -99 (dùng offset hiện tại; xem giới hạn DST bên dưới)
HistoryStart 1970.01.01 — lấy toàn bộ lịch sử broker cung cấp
ReimportHistory false
  1. Bấm OK; chờ khoảng 1–2 phút để thấy trạng thái Connected và số liệu trên web.
  2. Nhập lịch sử lần đầu có thể mất lâu nếu rất nhiều deal/nhiều năm. Trạng thái đang đồng bộ là bình thường. Số % lợi nhuận chưa đáng tin để đối chiếu khi lịch sử còn thiếu.
  3. Cài thử một tài khoản demo trước. Đối chiếu rồi mới lần lượt thêm các tài khoản khác.

EA đọc toàn tài khoản, gồm lệnh tay và mọi magic. Không yêu cầu DLL, không có lệnh giao dịch. Không cần thay code GoldTrap. Dù tách chart riêng, việc đọc lịch sử và gửi mạng vẫn dùng tài nguyên VPS; không thể hứa hoàn toàn không có tải.

11. Gỡ và thêm lại — đúng yêu cầu của bạn

12. Bật tác vụ tối ưu dung lượng

  1. cPanel → Cron Jobs.
  2. Chọn chạy mỗi giờ (ví dụ phút 17 mỗi giờ): Minute = 17; Hour/Day/Month/Weekday = *.
  3. Command, thay USERCP và Document Root bằng thông tin thật:

/usr/local/bin/php /home/USERCP/public_html/cron.php

  1. Đường dẫn PHP CLI có thể khác. Nhờ BKHOST xác nhận PHP CLI 8.2/8.3 cùng extension PDO MySQL; không đoán nếu cron báo lỗi.
  2. Trong lần đầu nên giữ email thông báo để thấy KFX maintenance OK; sau khi chạy ổn mới tắt email.

Dữ liệu biểu đồ mới lưu tối đa một dòng/5 phút/tài khoản. Cron gộp các dòng quá 30 ngày thành một dòng/giờ, giữ min floating/max DD trong nhóm và balance/equity cuối giờ. Không xóa lịch sử deal. Bản 1.0 hiển thị equity 30 ngày gần nhất, dữ liệu cũ vẫn giữ; biểu đồ lãi/daily hiển thị tối đa 3.660 ngày và lịch sử deal có phân trang.

13. Cách tính — cần biết trước khi đối chiếu

14. Kiểm tra sau khi cài

  1. Một tài khoản demo: so balance/equity/floating với MT5.
  2. Đợi lịch sử nhập xong: so lãi ngày/tháng theo cùng múi giờ, tính cả phí mở lệnh trong ngày.
  3. Khi Floating hồi lên, âm sâu nhất phải giữ mức cũ.
  4. Gỡ/gắn lại EA trên cùng terminal: đáy ngày phải còn.
  5. Ngừng EA quá 150 giây: web phải báo dữ liệu cũ.
  6. Gỡ tài khoản: mất khỏi tổng quan, tổng cộng và URL chi tiết; gói EA bị từ chối.
  7. Khôi phục bằng khóa mới: hiện lại và tiếp tục bù lịch sử; không có deal trùng.
  8. Tài khoản USC: equity 100.000 USC phải tương đương 1.000 USD trong phần tổng.
  9. Kiểm tra vào ngày mới, cuối tháng và sau VPS reboot. EA/MT5 phải còn hoạt động để có dữ liệu mới.
  10. Xem Resource Usage và dung lượng MySQL sau 24–72 giờ. Nâng gói khi số liệu thực tế cho thấy thiếu; không chờ đầy ổ.

15. Lỗi thường gặp

Hiện tượng Kiểm tra
Không mở được tên miền DNS có trỏ IP hosting, hosting hoạt động, đúng Document Root
HTTPS báo chứng chỉ AutoSSL, DNS A/AAAA, nhờ BKHOST kiểm tra
Chưa cấu hình private/config.php chưa tạo hoặc đặt sai vị trí
Lỗi database / HTTP 500 Tên DB/user có tiền tố, password, ALL PRIVILEGES, PHP 8.2+, PDO MySQL; xem cPanel Errors
HTTP 401 ở EA Sai khóa, khóa đã đổi hoặc tài khoản đã gỡ
HTTP 409 Số tài khoản/server khác hoặc giờ Windows lệch
HTTP 400 Gói dữ liệu không đúng / ngày UTC+7 sai; gửi ảnh Experts đã che bí mật
HTTP -1 WebRequest whitelist, URL HTTPS, DNS, chứng chỉ hoặc firewall chặn
EA im lặng sau lỗi Tự chờ tăng dần tối đa 5 phút để giảm tải; sửa Inputs/gắn lại sau khi sửa nguyên nhân
Origin không hợp lệ khi đăng nhập site_url phải khớp tên miền đang mở (www hoặc không www)
Cột lãi chưa đúng Đợi nhập lịch sử, kiểm tra HistoryStart, giờ broker/DST và cách sàn ghi phí
Trang mặc định của hosting Sai Document Root hoặc index.html mặc định còn được ưu tiên; sao lưu file mặc định trước khi bỏ
Đồng bộ ngừng giữa chừng Cửa sổ Experts, tài nguyên hosting, payload tối đa 1 MB; hiện hỗ trợ tối đa 1.000 vị thế và 200 nhóm symbol/chiều

16. Sao lưu và vận hành

17. Phạm vi kiểm chứng bản giao

Đã kiểm tra cú pháp PHP bằng PHP runtime WebAssembly, cú pháp JavaScript và luồng hiển thị bằng DOM giả lập. Chưa chạy tích hợp MySQL/MariaDB thật, chưa biên dịch bằng MetaEditor, chưa test trên BKHOST hoặc đo tải 40 tài khoản. Cần thực hiện mục 14 với một tài khoản demo trước khi dùng rộng. Không coi bản RC là bản đã nghiệm thu hoạt động thật.

Tài liệu chính thức tham khảo: - https://wiki.bkhost.vn/hosting/hosting-cpanel/ - https://bkhost.vn/hosting/gia-re/ - https://www.mql5.com/en/docs/network/webrequest - https://www.mql5.com/en/docs/trading/historyselect - https://www.mql5.com/en/docs/constants/tradingconstants/dealproperties