| Lập Trình Bot MT5 Bằng Python Với aiomql (Tài Liệu Tiếng Việt)

Được viết bởi Đặng Trí Thanh vào ngày 28/06/2026 lúc 15:43 | 39 lượt xem


Nếu bạn muốn điều khiển MetaTrader 5 bằng Python thay vì viết MQL5 thuần, aiomql là lựa chọn phổ biến trong cộng đồng algo trading. Bài này tóm tắt cách dùng aiomql Python MT5 bằng tiếng Việt: cài đặt, kết nối, ví dụ code, và lưu ý trước khi chạy bot thật.

Đọc thêm nền: Trading bot Python MT5 là gì? · Lập trình bot trading là gì?

aiomql là gì?

aiomql là thư viện Python bất đồng bộ (async) giúp giao tiếp với terminal MetaTrader 5: lấy giá, lịch sử nến, đặt/sửa/hủy lệnh, đọc trạng thái tài khoản. Ưu điểm so với MQL5:

  • Dùng chung hệ sinh thái Python (Pandas, NumPy, ML).
  • Dễ tích hợp API bên ngoài, Telegram, database.
  • Code bot và backtest logic có thể chia sẻ một phần.

Cài đặt môi trường

  1. Cài MetaTrader 5 trên Windows hoặc VPS Windows.
  2. Đăng nhập tài khoản demo trước.
  3. Python 3.10+ và virtualenv.
pip install aiomql MetaTrader5 pandas

Bật Algo Trading trong MT5 (nút AutoTrading trên toolbar).

Kết nối MT5 cơ bản

import asyncio
from aiomql import MetaTrader

async def main():
    mt = MetaTrader()
    await mt.initialize()
    info = await mt.account_info()
    print("Balance:", info.balance if info else "No connection")
    await mt.shutdown()

asyncio.run(main())

Nếu initialize() fail: kiểm tra MT5 đang mở, đúng user, firewall.

Lấy giá và đặt lệnh (khung demo)

import asyncio
from aiomql import MetaTrader, OrderSendRequest, TradeAction

async def demo():
    mt = MetaTrader()
    await mt.initialize()
    tick = await mt.symbol_info_tick("EURUSD")
    if tick:
        print("Bid:", tick.bid, "Ask:", tick.ask)
    # Đặt lệnh demo — chỉ chạy trên tài khoản demo, kiểm tra symbol/volume broker
    # req = OrderSendRequest(...)
    # await mt.order_send(req)
    await mt.shutdown()

asyncio.run(demo())

Không copy-paste lệnh live nếu chưa hiểu volume, stop loss, margin.

Cấu trúc bot MT5 + Python (thực chiến)

Thành phần Vai trò
Data feed Lấy tick/nến từ MT5
Signal engine Rule hoặc model ra tín hiệu
Order manager Gửi lệnh, trailing, đóng vị thế
Risk / Guardian Giới hạn lỗ ngày, max lot
Logger + alert Log file, Telegram khi lỗi

Chi tiết hệ thống: Algorithmic trading tại Việt Nam.

VPS và chạy 24/7

  • Bot MT5 cần terminal MT5 luôn mở trên máy Windows.
  • VPS gần server broker giảm độ trễ.
  • Dùng task scheduler hoặc PM2 (wrapper) để restart khi crash.

Lỗi thường gặp

  • Terminal not found: đường dẫn MT5 sai hoặc chưa cài.
  • Trade context busy: gọi lệnh quá dày — thêm delay hoặc queue.
  • Invalid volume: lot tối thiểu/bước lot khác nhau theo broker.

Bước tiếp theo

  1. Paper trên demo ít nhất vài tuần.
  2. Hub khóa thực chiến: Xây dựng IB bằng Bot Auto Trading.

FAQ

aiomql có thay MetaTrader5 package không?
Cả hai đều dùng được; aiomql phù hợp luồng async nhiều symbol.

Mac/Linux chạy được không?
MT5 chính thức Windows — thường dùng VPS Windows.

Cần biết MQL5 không?
Không bắt buộc cho bot Python thuần, nhưng hiểu cơ bản giúp debug indicator trên chart.


Xây dựng IB bằng Bot Auto Trading: https://www.huongnghiepdulieu.com/xay-dung-ib-bang-bot-auto-trading/ · Lịch khai giảng · Hotline 0934 145 100

Đọc thêm

Đặng Trí Thanh

Đặng Trí Thanh

Giám đốc Công nghệ · DNT Digital · Giảng viên HNDL
839 Bài viết
15.4k Người theo dõi
120k+ Lượt đọc

Đặng Trí Thanh — Founder & CTO · Hướng Nghiệp Dữ Liệu - DNT Digital. Chuyên đào tạo và triển khai thực chiến Python, MT5 và hệ thống bot auto trading / IB cho học viên và doanh nghiệp.