如何检查一个订单是否被选中 - 页 7

 
tara:

西班牙也是如此:)
西班牙是南方国家,巴塞罗那的气候非常温和,没有寒冷和难以忍受的炎热,而且城市本身也非常美丽和紧凑,所以我作为一个莫斯科人,非常喜欢这里!"。
 

TS想利用MT4的一个未记录的功能。OrderSelect()函数 创建了一个指针(TC称其为 "选定的订单"),该指针对EA(脚本)是全局性的。下面的两个脚本说明了这一点

这个被调用程序创建的指针在调用程序中是可用的。

int start()
{
   ordsel();
   Print( OrderTicket( ) );
   return(0);
}
void ordsel()
{
   OrderSelect( 1, SELECT_BY_POS, MODE_HISTORY );
   Print( OrderTicket( ) );
}

2013.02.17 02:50:48 111 EURUSD,H1: uninit reason 0
2013.02.17 02:50:48 111 EURUSD,H1: 18338793
2013.02.17 02:50:48 111 EURUSD,H1: 18338793
2013.02.17 02:50:48 111 EURUSD,H1: loaded successfully

创建的指针在被调用的过程中是可用的。

int start()
{
   OrderSelect( 1, SELECT_BY_POS, MODE_HISTORY );
   Print( OrderTicket( ) );
   ordsel();
   return(0);
}
void ordsel()
{
   Print( OrderTicket( ) );
}

2013.02.17 02:56:10 111 EURUSD,H1: uninit reason 0
2013.02.17 02:56:10 111 EURUSD,H1: 18338793
2013.02.17 02:56:10 111 EURUSD,H1: 18338793
2013.02.17 02:56:10 111 EURUSD,H1: 载入成功


但使用它有点令人毛骨悚然。

 
tara:
你应该结婚,兄弟。
为了什么?很多人住在这里,没有登记,也有孩子。为什么要支付各种费用?那么我已经拥有了一切,所以没有必要了。
 
Ant_TL:

好吧,显然这里的每个人都超级酷,但我担心如果我开始关注这一切的酷的方面,我就会被FAQ先生的脑袋打上一记禁锤,他无疑也很酷。因此,感谢参加讨论的每个人,这个话题也许可以结束了,因为除了我,没有人对这个问题感兴趣。

也许,这个话题的名字有误导性,它应该被称为"如何检查mql4中的当前订单是否被选中"或类似的东西。否则,一些教育工作者需要把问题拼到布克的水平。


1)我认为是你的"了不起"让你的眼睛流泪。

2)如果你继续无礼,你将得到的正是你所说的 "禁锤",以达到教育目的。

3)你的信息(黑体字)从第2页开始就不需要 "拼 "了,我(至于那些在罐子里的人)已经回答了不。没有这样的保证,如果你想拥有一个,请自己提前处理好。

4)你想写多长的程序就写多长的程序,但如果你在知识上有差距,想以牺牲社会为代价来填补它(这也是这个论坛的目的),那就尽量表现得体面一些。

 
Mislaid:

TS想利用MT4的一个未记录的功能。OrderSelect()函数创建了一个指针(TC称其为 "选定的订单"),该指针对EA(脚本)是全局性的。正如以下两个脚本所展示的那样

但用起来却让人毛骨悚然。

为什么是无证的,为什么是奇怪的?这总是有效的,除了自定义库,因为显然这个 "指针 "只在EA或脚本模块内是全局的,而一个库模块有自己的指针。

 
FAQ:

3)你的信息(黑体字)已经很清楚了,不需要从第二页 "拼出来",我(至于坦克里的人)已经回答了不。没有这样的保证,如果你想拥有一个,请自己提前处理好。

4)你想写多长的程序都可以,但如果你有一个知识缺口,并想以牺牲社会为代价来填补它(这也是这个论坛的目的),那就尽量表现得体面一些。

还有什么授权没有?我在知识上没有任何差距,那是你的虚构。我提请注意一个问题,我认为这是在mql4中处理订单的机制的一个空白,仅此而已。如果一些函数与高亮显示的订单一起工作,应该可以检查一个订单是否被高亮显示,以便不产生错误。 我理解你可以构思拐杖,在十几个地方记住订单选择,传递一个参数以便不出错,等等。

常见问题

2)如果你继续无礼,你肯定会得到你所谓的 "禁锤",以达到教育目的。

你的朋友bori对我无礼了好几页,这一事实显然从你敏锐的目光中穿过。你是有选择性的。

 
Ant_TL:

还有什么授权没有?我的知识没有任何差距,那是你的虚构。我指出了这个问题,我认为这是在mql4中处理订单的机制的一个空白,仅此而已。如果有些函数是在选定的订单下工作的,我们需要能够检查一个订单是否被选定,以便不产生错误。 我理解我们可以做拐杖,记得在十几个地方选择一个订单,发送一个参数不要出错,等等。

mql4中没有缺口。在对订单进行任何操作时,所选订单 的状态都可以改变:开仓/平仓、接盘/止损、执行/删除挂单或部分平仓。 所以我们不需要记忆和传输任何东西。你永远不应该指望国家没有改变的事实。一个订单可能被选中,但它不再是相同的。
 
Mislaid:
mql4中没有缺口。在对订单进行任何操作时,所选订单的状态都可能发生变化:开仓/平仓、接盘/止损、执行/删除挂单或部分平仓。 因此,我们不应该记忆和传输任何东西。你永远不应该指望国家没有改变的事实。一个订单可能被选中,但它不再是相同的。

我指出了一个具体的情况:我们有一个处理订单的主循环。而在这个循环中使用了一些辅助函数,它们也与订单有关。在这些函数被调用后,主循环的逻辑不能被打破。这意味着,如果一个辅助函数影响到订单的工作,它应该记住 "指针 "在其调用时的状态,并将其返回到其完成时的状态。但如果没有拐杖和产生的错误,它就无法做到。这正是这里的一个缺口。

事实上,正如我在第一篇文章中写的那样,忽视在辅助函数中控制 "指针 "状态的需要会导致难以检测的错误。

 
Ant_TL:

我指出了一个具体的情况:我们有一个处理订单的主循环。而在这个循环中使用了一些辅助函数,它们也与订单有关。在这些函数被调用后,主循环的逻辑不能被打破。这意味着,如果一个辅助函数影响到订单的工作,它应该记住 "指针 "在其调用时的状态,并将其返回到其完成时的状态。但如果没有拐杖和产生的错误,它就无法做到。这正是这里的一个缺口。

事实上,正如我在第一篇文章中写的那样,忽视在辅助函数中监控 "指针 "状态的需要,会导致难以检测的错误。

假设你已经把你的EA传给了某人。你不知道他是否有其他EA在工作,也许他自己的手在交易。

也许,你已经完成了这个EA,开始写一个新的。这是旧的会出现故障的地方。

 
Mislaid:

假设你已经把你的EA传给了某人。你不知道,也许他有其他的EA在工作,他自己的手在交易。

也许你已经完成了这个EA,开始写一个新的。这就是旧的会出现故障的地方。

请原谅我?这与我把专家顾问给谁有什么关系?你认为 "指针 "的状态会受到其他EA和终端的任何行为的影响吗?指针"(当前所选订单的票据)是一个模块级别的变量。如果能在不产生4105错误的情况下访问它就更好了,这也是我一直在写的。