MQL4 这个函数算不算是个bug ? 新评论 Yang Wang 2023.04.11 12:25 bool OrderSelect( int index, // index or order ticket int select, // flag int pool=MODE_TRADES // mode );如果我们直接指定一个已知持仓编号(或者存在已经平仓的历史中),这两种写法都会返回true值,这是为什么? OrderSelect(123456, SELECT_BY_TICKET, MODE_HISTORY) OrderSelect(123456, SELECT_BY_TICKET, MODE_TRADES) 我的订单编号为123456单子,无论是正在持仓中或者已经被平仓了,这两种方法都会返回true,这是不是一个bug? 按我的理解,第一个方法是从历史订单中选中订单编号,第二个方法是从正在持仓的订单编号中选择 Ziheng Zhuang 2023.04.11 13:28 #1 不是bug, 你的理解是错的. 直接用单号选单子时,第三个参数是忽略的,是从总的订单池中选单子. 这时需要根据OrderCloseTime()来判断是持仓(或挂单)还是历史单. 持仓单和挂单的OrderCloseTime()等于0,历史单的大于0. Yang Wang 2023.04.11 14:08 #2 你的意思我明白了,可能我一直是按照MQL5的思维去理解MQL4,所以如果是直接通过 订单编号去选择一个订单的话,还需要多一个OrderCloseTime()来判断是否是正在持仓中还是已经被平仓或者被取消了 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我的订单编号为123456单子,无论是正在持仓中或者已经被平仓了,这两种方法都会返回true,这是不是一个bug?