使用OrdersTotal()在EA中调用订单的信息,挂单的可以被返还,但已成交的无法返还。
如下调用:
历史订单用 HistoryOrdersTotal()
在获取订单前,你要先选中订单,Orderselect()
在获取订单前,你要先选中订单,Orderselect()
我明白你的意思,涉及到具体订单信息的调用是要先用Orderselect(),再用OrderGetDouble(ORDER_PRICE_OPEN)之类的调用具体信息。
但使用 Orderselect()的前提是根据OrdersTotal()获得当前处于交易状态的订单数量,再通过索引或订单号使用Orderselect()调用订单信息。
可是我在使用 OrdersTotal()时,只能检索到处于挂单状态的订单数量,不能检索处于交易状态的订单,这是我的问题所在。
MQL5是否就不具备调用“已成交但未平仓”订单的功能,而只能对“持仓、挂单、历史订单”进行操作。
这一点与MQL4是不同的,因为MQL4没有持仓这个概念,是吗?
我明白你的意思,涉及到具体订单信息的调用是要先用Orderselect(),再用OrderGetDouble(ORDER_PRICE_OPEN)之类的调用具体信息。
但使用 Orderselect()的前提是根据OrdersTotal()获得当前处于交易状态的订单数量,再通过索引或订单号使用Orderselect()调用订单信息。
可是我在使用 OrdersTotal()时,只能检索到处于挂单状态的订单数量,不能检索处于交易状态的订单,这是我的问题所在。
MT5中要区分Position、Order和deal的概念。
用PositionSelect()获取当前持仓头寸。
使用OrdersTotal()在EA中调用订单的信息,挂单的可以被返还,但已成交的无法返还。
如下调用:
MQL5是否就不具备调用“已成交但未平仓”订单的功能,而只能对“持仓、挂单、历史订单”进行操作。
这一点与MQL4是不同的,因为MQL4没有持仓这个概念,是吗?
mt5的订单机制和mt4完全不同,您应该没有搞清楚mt5的In 和 out 订单的区别,mt5的基本概念Order和deal要弄清楚,不然订单的归类会一团乱
使用OrdersTotal()在EA中调用订单的信息,挂单的可以被返还,但已成交的无法返还。
如下调用: