如何检查一个订单是否被选中 - 页 10 1...34567891011121314151617...20 新评论 Ilya Malev 2013.02.22 12:29 #91 artmedia70: 我不觉得有什么问题。这有什么大不了的...你需要在一个主函数A()中选择一个订单,并在另一个由主函数A()调用的函数B()中处理在函数A()中选择的订单。而我们应该在函数B()中确定知道订单是否仍然被选中...所以把在函数A()中选择的订单的票据传给函数B()。在函数B()中,我们可以检查从哪个列表中选择订单,然后决定去哪里和返回函数A()的内容... 你完全误解了我。出于某种原因,一半的人也是如此。我不需要在函数B()中处理那个订单,它是在函数A()中选择的。函数B()对其他 订单起作用,不管是哪个订单,它与函数A()无关;函数B()有自己的逻辑。它可以计算订单的数量,他们的总利润,查看他们的评论,TP SL,等等。我们的任务是从函数B()返回到函数A(),这样无论函数B()对订单做了什么,在调用函数B()时,函数A()的逻辑不会被违反,因为在调用函数 B()之前,函数A()选择的订单不再被选择,选择的订单是由函数B()处理的另一个随机订单,很可能也在循环中搜索订单。 artmedia70: 现在让我们想象一下,重启终端后,last_select变量会发生什么变化(灯被讨厌的家伙关掉了) 重新启动后,last_select变量将根据需要被初始化为0。 TarasBY 2013.02.22 19:20 #92 有10页的胡说八道,胡说八道,胡说八道。下面是规定该函数与另一个(非高亮)订单一起工作的代码。//IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ //| Автор : TarasBY, taras_bulba@tut.by | //+-----------------------------------------------------------------------------------+ //| Получаем актуальную информацию об ордере | //IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII+ bool fGet_OrderDetails (int fi_Ticket) // OrderTicket() { int lia_cmd[] = {1,-1,-1,1,1,-1}; //---- //---- На текущий момент может быть выделенным другой ордер int li_LastTicket = OrderTicket(); if (li_LastTicket != fi_Ticket) { if (!OrderSelect (fi_Ticket, SELECT_BY_TICKET)) {fSet_Comment (fi_Ticket, fi_Ticket, 100, "fGet_OrderDetails()", True, GetLastError()); return (false);} } if (bi_curTicket != fi_Ticket) { bi_Type = OrderType(); bd_OpenPrice = NDD (OrderOpenPrice()); bd_Lots = OrderLots(); bi_cmd = lia_cmd[bi_Type]; bi_curTicket = fi_Ticket; } bd_curSL = NDD (OrderStopLoss()); bd_curTP = NDD (OrderTakeProfit()); //---- Выделяем первоначальный ордер if (li_LastTicket != fi_Ticket) {if (li_LastTicket > 0) OrderSelect (li_LastTicket, SELECT_BY_TICKET);} //---- return (true); } 这只是一个例子。一个明白的人就会抓住这一点。 Алексей Тарабанов 2013.02.22 21:02 #93 TarasBY:有10页的胡说八道,胡说八道,胡说八道。下面是规定该函数与另一个(未分配)订单一起工作的代码。 这只是一个例子。一个明白的人就会抓住这一点。 这不是问题的关键。在EA中,有局部或全局的变量,也有终端变量。就程序而言,这些变量是交互式的,它们的值可以在任何时候以一种绝对无法解释的方式为EA所改变。顺序选择 符号正是这样一个变量。如果Metaquotes允许访问图形对象的 "选择 "属性,也会是这样。这将不可避免地导致以下结论:只要我们需要知道所选订单的数量,我们就应该选择一个订单,或者记住所选订单,当且仅当专家顾问的逻辑需要它时。所以它是这样的... TarasBY 2013.02.22 21:15 #94 tara: 这不是问题的关键。在EA中,有局部或全局的变量,也有终端的变量。从程序的角度来看,这些变量是交互式的,它们的值随时都会以一种莫名其妙的方式为EA所改变。顺序选择符号正是这样一个变量。如果Metaquotes允许访问图形对象的 "选择 "属性,也会是这样。这将不可避免地导致以下结论:只要我们需要知道所选订单的数量,我们就应该选择一个订单,或者记住所选订单,当且仅当专家顾问的逻辑需要它时。所以它是这样的... 我完全同意你的观点。 首先,我们必须考虑到我们所拥有的(MQL4能力)。 其次,我自己使用的结构是在一个地方处理所有的交易订单 与未结订单:我对订单进行列举,并对每个订单(按顺序)进行所有必要的操作。 P.S. 我在代码中做了上述检查,"以备不时之需"...:) Алексей Тарабанов 2013.02.22 21:24 #95 :) 节日快乐!对我来说--20年,不是我生命中最糟糕的时期。 Ilya Malev 2013.02.22 21:27 #96 TarasBY:有10页的胡说八道,胡说八道,胡说八道。下面是规定该函数以不同的(非高亮)顺序工作的代码。 这只是一个例子。一个明白的人就会抓住这一点。 是的。就在那里。int li_LastTicket = OrderTicket()。如果之前没有调用OrderSelect,你的代码将产生一个4105的执行错误。只要在每个tick的最后放一个GetLastError检查,就可以检测到这个错误。 Boris 2013.02.22 21:28 #97 tara: :) 节日快乐!对我来说--20年,不是我生命中最糟糕的时期。 祝贺你!你为《信仰与真理》服务了20年了吗? Алексей Тарабанов 2013.02.22 21:30 #98 borilunad: 祝贺你!你为信仰和真理服务了20年吗? 这就对了。 Boris 2013.02.22 21:42 #99 tara: 她,我亲爱的。 那么,过度列名,在我的时代,他们曾经叫我,或者甚至现在,一块...?:) Алексей Тарабанов 2013.02.22 21:48 #100 borilunad: 因此,在我的时代,他们习惯于称我为过度列名,或者甚至现在,是一块...?:) 如果我这么说,你会感觉好些吗?) 1...34567891011121314151617...20 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我不觉得有什么问题。这有什么大不了的...你需要在一个主函数A()中选择一个订单,并在另一个由主函数A()调用的函数B()中处理在函数A()中选择的订单。而我们应该在函数B()中确定知道订单是否仍然被选中...所以把在函数A()中选择的订单的票据传给函数B()。在函数B()中,我们可以检查从哪个列表中选择订单,然后决定去哪里和返回函数A()的内容...
你完全误解了我。出于某种原因,一半的人也是如此。我不需要在函数B()中处理那个订单,它是在函数A()中选择的。函数B()对其他 订单起作用,不管是哪个订单,它与函数A()无关;函数B()有自己的逻辑。它可以计算订单的数量,他们的总利润,查看他们的评论,TP SL,等等。我们的任务是从函数B()返回到函数A(),这样无论函数B()对订单做了什么,在调用函数B()时,函数A()的逻辑不会被违反,因为在调用函数 B()之前,函数A()选择的订单不再被选择,选择的订单是由函数B()处理的另一个随机订单,很可能也在循环中搜索订单。
现在让我们想象一下,重启终端后,last_select变量会发生什么变化(灯被讨厌的家伙关掉了)
重新启动后,last_select变量将根据需要被初始化为0。
有10页的胡说八道,胡说八道,胡说八道。下面是规定该函数与另一个(非高亮)订单一起工作的代码。
这只是一个例子。一个明白的人就会抓住这一点。有10页的胡说八道,胡说八道,胡说八道。下面是规定该函数与另一个(未分配)订单一起工作的代码。
这只是一个例子。一个明白的人就会抓住这一点。这不是问题的关键。在EA中,有局部或全局的变量,也有终端变量。就程序而言,这些变量是交互式的,它们的值可以在任何时候以一种绝对无法解释的方式为EA所改变。顺序选择 符号正是这样一个变量。如果Metaquotes允许访问图形对象的 "选择 "属性,也会是这样。这将不可避免地导致以下结论:只要我们需要知道所选订单的数量,我们就应该选择一个订单,或者记住所选订单,当且仅当专家顾问的逻辑需要它时。所以它是这样的...
这不是问题的关键。在EA中,有局部或全局的变量,也有终端的变量。从程序的角度来看,这些变量是交互式的,它们的值随时都会以一种莫名其妙的方式为EA所改变。顺序选择符号正是这样一个变量。如果Metaquotes允许访问图形对象的 "选择 "属性,也会是这样。这将不可避免地导致以下结论:只要我们需要知道所选订单的数量,我们就应该选择一个订单,或者记住所选订单,当且仅当专家顾问的逻辑需要它时。所以它是这样的...
我完全同意你的观点。
P.S. 我在代码中做了上述检查,"以备不时之需"...:)
:)
节日快乐!对我来说--20年,不是我生命中最糟糕的时期。
有10页的胡说八道,胡说八道,胡说八道。下面是规定该函数以不同的(非高亮)顺序工作的代码。
这只是一个例子。一个明白的人就会抓住这一点。是的。就在那里。
int li_LastTicket = OrderTicket()。
如果之前没有调用OrderSelect,你的代码将产生一个4105的执行错误。只要在每个tick的最后放一个GetLastError检查,就可以检测到这个错误。
:)
节日快乐!对我来说--20年,不是我生命中最糟糕的时期。
祝贺你!你为信仰和真理服务了20年吗?
她,我亲爱的。
因此,在我的时代,他们习惯于称我为过度列名,或者甚至现在,是一块...?:)