跳转到内容

MT5 经纪商适配器与数据源

Mt5Broker 和 Mt5DataFeed 仅用于实时连接,通过本地 AQE MT5 桥接器将 AQE 接入正在运行的 MetaTrader 5 终端。

它们用于:

  • 实时获取账户快照
  • 最新报价和 K 线更新
  • 订单提交和取消
  • 持仓平仓请求
  • 将交易事件传回 AQE

使用 MT5 桥接时,必须在本地运行 AQE 桥接服务,并将 MT5 Expert Advisor 加载到终端图表上。两端的会话和令牌设置必须一致。

MT5 集成包括两端:

  • AQE 端:Mt5Broker 和 Mt5DataFeed 使用配置的桥接令牌和绑定地址,与本地 MT5 桥接器通信。
  • MT5 终端:AQE Expert Advisor 在 MetaTrader 5 内运行,并轮询本地 AQE 桥接器,获取市场数据和经纪商 RPC 请求。

请按以下流程配置:

  1. 从 AQE 仓库安装或更新 AQE MT5 Expert Advisor。
  2. 启动 MetaTrader 5,并登录希望 AQE 使用的账户。
  3. 将 AQE Expert Advisor 附加到经纪商提供的某个品种图表。
  4. 在 AQE 运行时环境和 Expert Advisor 中设置相同的 AQE_MT5_BRIDGE_TOKEN。
  5. 确保 AQE 与 Expert Advisor 的桥接绑定地址一致。默认本地地址为 127.0.0.1:18080。
  6. 启动 AQE 运行时,并确认 Expert Advisor 正在轮询桥接器。

有关 Expert Advisor 文件、安装说明和桥接 README,请参阅 GitHub 上的 AQE MT5 集成目录: algoquantstudio/aq-engine 的 MT5 集成。

使用 MT5 执行实时交易时,请在 MT5 终端核实成交、止损、账户状态和未平仓持仓。AQE 通过桥接器接收经纪商更新,但实际执行情况仍以 MT5 账户记录为准。

对于 MT5 品种元数据,隔夜利息来自终端的品种信息。AQE Expert Advisor 将 SYMBOL_SWAP_MODE、SYMBOL_SWAP_LONG 和 SYMBOL_SWAP_SHORT 映射到 Asset.fees.swap.long 和 Asset.fees.swap.short。

MT5 货币隔夜利息模式映射到 AssetFee::PerContractFee。MT5 利息/当前价格/开仓价格百分比隔夜利息模式映射到 AssetFee::PercentagePerContractFee,使用每日小数费率,因此 0.0001 表示每天 0.01%。MT5 重新开仓点数隔夜利息模式映射到 AssetFee::Points。

MT5 佣金的处理方式不同。品种元数据不能作为佣金的权威依据,因为只有成交后的经纪商佣金数据才可靠。因此,AQE 以 MT5 实际成交记录中的佣金为准,将交易事件或平仓响应中的 DEAL_COMMISSION 与 DEAL_FEE 相加。如果经纪商报告零佣金,AQE 就记录零。

回测不会通过 MT5 成交记录获取佣金。运行历史回测时,请显式配置 PaperBroker 资产费用模型。

  • aq-engine/src/core/broker/mt5_broker.rs
  • aq-engine/integrations/mt5