官方 Python API 兼容性
本页跟踪 pymt5 对官方 MetaTrader5 Python 包 API 的覆盖情况;该 API 的文档位于
mql5.com/en/docs/python_metatrader5 。
包含签名和语义差异的完整逐函数矩阵,请参阅 与官方 MetaTrader5 Python API 的详细比较。
已实现且已确认 Web Terminal 支持
以下辅助函数现在可以明确映射到现有的 Web Terminal 命令或前端数据路径:
会话/账户:
initialize()、shutdown()、account_info(), 通过cmd=29和cmd=3实现终端元数据:
terminal_info(),根据cmd=3派生出尽可能完整的服务器/账户视图错误:
last_error(),用于兼容层故障交易品种:
symbols_total()、symbols_get()、symbol_info(), 通过cmd=34/cmd=18实现K 线:
copy_rates_range()、copy_rates_from()、copy_rates_from_pos(),通过cmd=11实现交易状态:
positions_total()、positions_get()、orders_total()、orders_get()、history_orders_total()、history_orders_get()、history_deals_total()、history_deals_get(),通过cmd=4/cmd=5实现交易请求:
order_send(),通过cmd=12实现DOM:
market_book_add()/market_book_release(),通过cmd=22实现
已实现为客户端缓存视图
以下辅助函数很实用,但它们并非来自当前 Web Terminal 协议中的专用快照命令:
symbol_info_tick()返回由cmd=8推送得到的最新缓存报价market_book_get()返回由cmd=23得到的最新缓存 DOM 快照copy_ticks_from()/copy_ticks_range()返回根据cmd=8推送汇总的缓存报价历史; 它们不是服务器端历史快照version()根据cmd=3的 build 字段以及本地观察到的公开 Web Terminal 构建日期元数据, 返回(500, build, release_date)symbol_select()是对报价订阅的尽力封装,并非真正的 MarketWatch 可见性 APIterminal_info()仅公开 Web 账户配置能够证实的子集;它不会模拟桌面版的文件系统/社区字段order_calc_profit()和order_calc_margin()现在使用文档所述的本地公式及缓存的 FX 换算报价,而不是专用的sendCommand(...)调用order_check()是本地预检验证器,它复用交易品种规则、缓存价格和本地保证金估算, 而不是使用专用的服务器 RPC
本地公式层目前的缺口
Web Terminal 会在客户端为许多交易品种计算盈亏和保证金。 pymt5 现在为常见的零售模式
(外汇、CFD、主要交易所股票/期货、债券)提供了这项能力,但仍有少数情况不完整:
债券模式
37/39现在使用当前cmd=18模式中的face_value和accrued_interest尚未对经纪商特定的杠杆档位和
orderRate(...)规则建模,因此交易所期权/特殊保证金的结果 仍属于尽力估算
仍不受支持或尚未确认
目前,在既定兼容层范围内,不再有其他官方 MetaTrader5 辅助函数未获覆盖。剩余的不确定性
在于保真度,而不在于接口覆盖范围: version() 、 terminal_info() 、 copy_ticks_*() 和
order_check() 等尽力实现的辅助函数被明确记录为派生视图,而不是专用的 Web Terminal RPC。
说明
pymt5 保留其原生 dict/dataclass 返回类型。兼容辅助函数在可行的情况下遵循官方函数名称,
但不会试图逐字节复刻桌面软件包的 namedtuple 层。