新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 558 1...551552553554555556557558559560561562563564565...1953 新评论 Игорь Васильев 2018.06.02 18:26 #5571 就是这样,我发现了我的错误。有些人需要说出他们的问题,以便后来明白他们是如何搞错的。 不幸的是,很显然,我就是这些人物之一。((( Decromor 2018.06.02 18:40 #5572 Konstantin Nikitin:订单发送顺序选择我想你指的是票号? 有什么隐患吗? Artyom Trishkin 2018.06.02 21:07 #5573 Decromor:问候! 一个订单可以通过其编号使用OrderSelect命令进行访问。 问题是,是否有可能提前知道现有订单的数量,从而不至于把它们都过一遍?例如,我们可以在开立新订单时记住这个数字。我知道这个号码是按顺序从1开始分配的。可能的细微差别是什么? 事先谢谢你。我们可以通过它在订单列表中的索引(当在循环中尝试它时),或通过它的票据(如果它是事先知道的)来处理这个订单。不可取 - 在任何故障的情况下(重新启动专家顾问,重新启动终端,系统故障,等等),记忆的票据可能会丢失。因此,它们必须存储在终端的全局变量 中,或者存储在一个文件中,这是可行的,但比通常的搜索更困难,因为搜索不是在每次勾选时进行,而是在需要时才进行。不,从1号开始,按升序排列--只在测试器中。不客气。 Decromor 2018.06.02 21:22 #5574 Artyom Trishkin:你可以通过它在订单列表中的索引(在循环中搜索时),或通过它的票据(如果事先知道)来引用它。不可取 - 如果发生任何故障(重新启动EA、重新启动终端、系统故障等),记忆中的票据可能会丢失。因此,它们必须存储在终端的全局变量 中,或者存储在一个文件中,这是可行的,但比通常的搜索更困难,因为搜索不是在每次勾选时进行,而是在需要时才进行。不,从1号开始,按升序排列--只在测试器中。请。是否可以在代码OnInit()中循环运行OrdersTotal()并收集所有未结订单的信息,特别是OrderTicket()? string orders[][3]; int OnInit() { for (int n = OrdersTotal() + 1; n >= 0; n--) { if (OrderSelect(n, SELECT_BY_POS, MODE_TRADES)) { int i = (ArraySize(orders) / 3); ArrayResize(orders, i + 1); orders[i][0] = IntegerToString(OrderTicket()); orders[i][1] = IntegerToString(OrderType()); orders[i][2] = DoubleToString(OrderOpenPrice(), Digits); } } return(INIT_SUCCEEDED); } 当一个订单被TP或SP自动关闭时,是否可以获得这个订单的数据? Artyom Trishkin 2018.06.02 21:27 #5575 Decromor:是否可以在OnInit()体中运行程序,在OrdersTotal()循环中收集所有未结订单的信息,特别是OrderTicket()? 当一个订单被TP或SP自动关闭时,是否可以获得这个订单的数据?是的,我们可以。然后呢?订单可能会随着时间的推移而改变,初始化时收集的信息已经过时。我们必须找到最后一个关闭的订单,并获得有关它的所有必要信息。 Decromor 2018.06.02 21:37 #5576 Artyom Trishkin:你可以。然后呢?订单可能会随着时间的推移而改变,在初始化过程中收集的有关信息将变得过时。需要找到最后一个关闭的订单,并获得所有需要的信息。在买入、卖出过程中,我将所需的数据保存到一个数组中,然后我滚动这个数组,并根据价格做出所需的改变(将SL转移到Breakeven,在反向后关闭订单,等等),通过票据处理到所需的订单。 但我有带TP和SL的订单,可能在我不知情的情况下关闭。我不喜欢在每一个刻度 上查找最后一个关闭的订单,并在我的数组中搜索它来纠正它。 "订单可能会随着时间的推移而改变,在初始化过程中收集的信息将变得过时。" 我想这就是所谓的--关闭订单? 我看到的唯一选择是在一个tick中循环2次,我的是订单和OrdersTotal() , 我也不喜欢这样。"但比通常的枚举更复杂,它不是在每次勾选时进行,而是只在需要时进行。" 请分享这一算法。 Alexey Viktorov 2018.06.03 06:51 #5577 Decromor:是否可以在OnInit()体中运行程序,在OrdersTotal()循环中收集所有未结订单的信息,特别是OrderTicket()? 当一个订单被TP或SP自动关闭时,是否可以获得这个订单的数据?而我们为什么要把这些都转换为字符串呢?字符串类型? Konstantin Nikitin 2018.06.03 07:06 #5578 Decromor:是否可以在OnInit()体中运行程序,在OrdersTotal()循环中收集所有未结订单的信息,特别是OrderTicket()? 当一个订单被TP或SP自动关闭时,是否可以获得这个订单的数据? struct SOrders { int ticket, type; double price; } orders[]; int OnInit() { for (int n = 0; n < OrdersTotal(); n++) { if(!OrderSelect(n, SELECT_BY_POS, MODE_TRADES)) continue; int i = ArraySize(orders); if(ArrayResize(orders, i+1) < i+1) continue; orders[i].ticket = OrderTicket(); orders[i].type = OrderType(); orders[i].price = OrderOpenPrice(); } return(INIT_SUCCEEDED); } Decromor 2018.06.03 11:20 #5579 Konstantin Nikitin: 非常感谢你提供的信息,这对我来说是新的。 Decromor 2018.06.03 11:23 #5580 Alexey Viktorov:为什么要把这些都翻译成字符串?字符串类型? 因为,比如说,一张票的类型是Int,价格是Double,而一个数组只能是一种类型。 1...551552553554555556557558559560561562563564565...1953 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
就是这样,我发现了我的错误。有些人需要说出他们的问题,以便后来明白他们是如何搞错的。
不幸的是,很显然,我就是这些人物之一。(((
订单发送
顺序选择
我想你指的是票号?
有什么隐患吗?
问候!
一个订单可以通过其编号使用OrderSelect命令进行访问。
问题是,是否有可能提前知道现有订单的数量,从而不至于把它们都过一遍?例如,我们可以在开立新订单时记住这个数字。
我知道这个号码是按顺序从1开始分配的。可能的细微差别是什么?
事先谢谢你。
是否可以在代码OnInit()中循环运行OrdersTotal()并收集所有未结订单的信息,特别是OrderTicket()?
当一个订单被TP或SP自动关闭时,是否可以获得这个订单的数据?
是否可以在OnInit()体中运行程序,在OrdersTotal()循环中收集所有未结订单的信息,特别是OrderTicket()?
当一个订单被TP或SP自动关闭时,是否可以获得这个订单的数据?
在买入、卖出过程中,我将所需的数据保存到一个数组中,然后我滚动这个数组,并根据价格做出所需的改变(将SL转移到Breakeven,在反向后关闭订单,等等),通过票据处理到所需的订单。
但我有带TP和SL的订单,可能在我不知情的情况下关闭。我不喜欢在每一个刻度 上查找最后一个关闭的订单,并在我的数组中搜索它来纠正它。
"订单可能会随着时间的推移而改变,在初始化过程中收集的信息将变得过时。" 我想这就是所谓的--关闭订单?
我看到的唯一选择是在一个tick中循环2次,我的是订单和OrdersTotal() , 我也不喜欢这样。
"但比通常的枚举更复杂,它不是在每次勾选时进行,而是只在需要时进行。" 请分享这一算法。
是否可以在OnInit()体中运行程序,在OrdersTotal()循环中收集所有未结订单的信息,特别是OrderTicket()?
当一个订单被TP或SP自动关闭时,是否可以获得这个订单的数据?
而我们为什么要把这些都转换为字符串呢?字符串类型?
是否可以在OnInit()体中运行程序,在OrdersTotal()循环中收集所有未结订单的信息,特别是OrderTicket()?
当一个订单被TP或SP自动关闭时,是否可以获得这个订单的数据?
为什么要把这些都翻译成字符串?字符串类型?