OrderSelect()无法定位到正确的订单,求助 新评论 llf8163 2017.01.27 19:45 在一个帐号中,有买卖两个单子 写一个简单的EA代码如下int init(){ for (int i=0;i<OrdersTotal();i++) Alert("序号:",i, " 是否找到:",OrderSelect(i,SELECT_BY_POS), " 订单号:",OrderTicket()); } 执行结果如图,当i为0时,虽然Orderselect不报错,但是实际上找不到订单 同时发现,如果此时修改一下代码,会有以下两种情况 第一种情况,在输出前,先执行一次Orderselect,感觉系统会正确整理一下排序,输出就正确了int init(){ OrderSelect(0,SELECT_BY_POS); for (int i=0;i<OrdersTotal();i++) Alert("序号:",i, " 是否找到:",OrderSelect(i,SELECT_BY_POS), " 订单号:",OrderTicket()); } 第二种情况,在输出时,扩大i的范围,系统会输出一个错误的订单,然后输出两个正确的订单,但是2号订单在正常情况下应该是没数据才对啊int init(){ for (int i=0;i<=OrdersTotal();i++) Alert("序号:",i, " 是否找到:",OrderSelect(i,SELECT_BY_POS), " 订单号:",OrderTicket()); } 以上问题,我现在不知道到底是代码有问题,还是函数有问题,还是这个账户有问题,求各路高手指点 SELECT_BY_POS and OrderTicket( ) Determine Order Status OrderSelect 2 most recently opened positions 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在一个帐号中,有买卖两个单子
写一个简单的EA代码如下
int init()
{
for (int i=0;i<OrdersTotal();i++) Alert("序号:",i, " 是否找到:",OrderSelect(i,SELECT_BY_POS), " 订单号:",OrderTicket());
}
执行结果如图,当i为0时,虽然Orderselect不报错,但是实际上找不到订单
同时发现,如果此时修改一下代码,会有以下两种情况
第一种情况,在输出前,先执行一次Orderselect,感觉系统会正确整理一下排序,输出就正确了
int init()
{
OrderSelect(0,SELECT_BY_POS);
for (int i=0;i<OrdersTotal();i++) Alert("序号:",i, " 是否找到:",OrderSelect(i,SELECT_BY_POS), " 订单号:",OrderTicket());
}
第二种情况,在输出时,扩大i的范围,系统会输出一个错误的订单,然后输出两个正确的订单,但是2号订单在正常情况下应该是没数据才对啊
int init()
{
for (int i=0;i<=OrdersTotal();i++) Alert("序号:",i, " 是否找到:",OrderSelect(i,SELECT_BY_POS), " 订单号:",OrderTicket());
}
以上问题,我现在不知道到底是代码有问题,还是函数有问题,还是这个账户有问题,求各路高手指点