You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MT5插件开发疑问:TradeRequest添加无效及IMTOrder与IMTRrequest差异咨询

MT5 Server API问题解答

一、返回码0但请求队列无新增请求的可能原因

  • 参数隐性不合法:返回码0仅代表API调用的语法层面通过,但部分逻辑校验(如账户余额不足、品种交易权限关闭、下单价格超出允许阈值)可能在后续内部流程中不通过,导致请求被直接丢弃,未进入队列。
  • 请求直接成交未留队列:如果是市价单这类即时执行的请求,若服务器匹配到对手盘直接成交,请求不会留在队列,而是直接生成IMTOrder,此时应去查询订单列表而非请求队列。
  • 队列查看方式有误:若你是通过缓存数据或错误的遍历方式查看队列,可能看不到刚提交的请求。需用IMTRequestQueue::First()和IMTRequestQueue::Next()接口实时遍历队列,确保获取最新状态。
  • 调用流程不完整:部分场景下,仅调用IMTRequestQueue::Add()只是将请求加入本地缓存,还需额外调用IMTRequest::Send()完成提交,否则请求不会真正进入服务器队列。

二、IMTOrder与IMTRequest的区别及交易操作选型

  • IMTRequest:是交易操作的发起载体,用于提交下单、平仓、修改订单、删除挂单等所有交易申请。它会先进入请求队列等待服务器处理,是触发交易动作的唯一入口。
  • IMTOrder:是交易请求处理完成后的结果实体,代表已确认的持仓、挂单或历史平仓记录。只有当IMTRequest被服务器成功处理后,才会生成对应的IMTOrder;请求失败则不会产生。
  • 交易操作选型:所有主动交易动作必须使用IMTRequest,IMTOrder仅用于查询已存在的订单状态、持仓信息等,无法直接发起交易。

内容的提问来源于stack exchange,提问作者zenith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 16:54:56