admin 发表于 2022-10-11 12:23:41

MQL4 OrderSelect 函数使用说明

OrderSelect ()函数定义

[*]
[*]boolOrderSelect(
[*]   int   index,            // index or order ticket
[*]   int   select,         // flag
[*]   int   pool=MODE_TRADES// mode
[*]   );
[*]

复制代码
OrderSelect ()函数 参数说明

[*]
[*]index- 定单索引或订单号,这取决于第2个参数
[*]select - 选定模式。可以为以下的任意值:
[*]         SELECT_BY_POS - 按定单索引即订单序号 (对于持仓单和挂单是按下单时间顺序,对于已平仓的历史单是平仓时间为顺序。)
[*]         SELECT_BY_TICKET - 按订单号(按定单编号,也即下单时MT4软件分配的订单号。)
[*]pool   - 可选的定单索引。当选择SELECT_BY_POS参数时,可以为以下的任意值:
[*]         MODE_TRADES (默认)- 来自交易的定单(开单和挂单),
[*]         MODE_HISTORY - 来自历史的定单(已平仓或取消的订单)。
[*]

复制代码
OrderSelect ()函数返回值

本函数选择一个订单,等待做进一步地处理。如果函数成功,返回TRUE,如果函数失败,返回FALSE。想要获得详细错误信息,必须调用GetLastError()函数。

注意事项

如果通过订单号选定定单,pool参数应忽略。此定单编号是其唯一识别符。
要找出所选订单的列表,必须对订单时间进行分析。如果订单时间为0,则说明该订单为进入市场的已成交单或已发出的挂单。
我们可以从订单类型区别已成交的订单和挂单。如果订单的平仓时间不等于0,此订单就是一个已经平仓的订单,或是一个已取消的挂单。

函数实例

[*]if(OrderSelect(12470, SELECT_BY_TICKET)==true)
[*]    {
[*]   Print("order #12470 open price is ", OrderOpenPrice());
[*]   Print("order #12470 close price is ", OrderClosePrice());
[*]    }
[*]else
[*]    Print("OrderSelect returned the error of ",GetLastError());
[*]

复制代码

support 发表于 2022-10-15 09:23:19

EATC社区有你更精彩,感谢无私分享:$

yitang 发表于 2022-11-30 12:31:04

:$

anna 发表于 2024-1-10 10:25:19

谢谢分享
页: [1]
查看完整版本: MQL4 OrderSelect 函数使用说明