在mql4中用什么来代替OnTradeTransaction()? - 页 4 123456789 新评论 Vladislav Andruschenko 2020.01.27 10:45 #31 捕捉每个刻度的所有事件,与以前记录的数据进行比较。 都在数组中。 实际上,有时会有刹车,当有很多虱子的时候。这就是为什么我把检查之间的延迟时间定为1秒。 它涉及对许多职位的监测。 而如果你只监控某个特定机器人的位置,那当然更容易。 [删除] 2020.01.27 11:11 #32 我有一个简单的任务,工作中的订单不超过两三打。 因此,我将使用一个计时器来检查OrdersTotal() 中的内容,并在每次迭代时在新的和旧的变量中写入量,如果量发生了变化--就采取进一步的措施。 Artyom Trishkin 2020.01.27 12:09 #33 Aleksandr Volotko: 我有一个简单的任务,工作中的订单不超过两三打。 因此,我将使用一个计时器来检查OrdersTotal()中的内容,并在每次迭代时在新的和旧的变量中写入量,如果量发生了变化--就采取进一步的措施。 当挂单 触发时,成交量将不会改变。 [删除] 2020.01.27 12:35 #34 Artyom Trishkin: 当挂单 触发时,成交量将不会改变。 好吧,我在循环中按类型过滤订单,并计算未平仓累积头寸的数量。 我很难过,我不得不浪费资源和时间,而在MT5中,你可以简单地等待一个特定的事件,没有任何压力。 Vladislav Andruschenko 2020.01.27 12:41 #35 Aleksandr Volotko: 好吧,我在循环中按类型过滤订单,并计算未平仓累积头寸的数量。 在MT5中,你可以简单地等待一个特定的事件,而没有任何压力,你必须这样训练并浪费资源,这很可悲。 那么mt5比mt4高一个数量级。 这也适用于其他功能。 [删除] 2020.01.27 12:43 #36 在我的具体情况下,每天有一次交易,每天有一次事件,将投入60*60*24=86400个额外的手势。而且目前还没有其他的方法可以做到。 Artyom Trishkin 2020.01.27 12:55 #37 Aleksandr Volotko: 在我的具体情况下,如果我们每天交易一次,每天得到一次事件,我们将有60*60*24=86,400的额外努力。而且目前还没有其他办法。 这取决于任务。 如果我们想捕捉一个头寸的开仓/平仓(不是部分)和定单的设置/删除,那么我们就不需要每次都在一个循环中浏览这个列表。 我们可以简单地检查OrdersTotal()的当前和之前的值。如果我们检测到一个差异,我们就有一个事件,然后我们看一下价值。 我使用顺序 和位置属性 的哈希和做了一切。一旦它发生了变化--我们有一些事件--那么我们就看看那里到底发生了什么变化。 但我有一个任务,就是跟踪一切,以及任何变化。 Ihor Herasko 2020.01.27 13:50 #38 Aleksandr Volotko: 在我的具体情况下,如果交易每天执行一次,而一个事件每天发生一次,我们将不得不做出60*60*24=86,400的额外努力。而且没有其他办法。 也有这种方法(如果新订单的出现只可能从EA方面进行)。 在EA开始时,通过遍历列表上的所有订单,生成一个其订单的数组。 在每一个新的嘀嗒声中,都会用以下方法检查订单是否存在 if (OrderSelect(nTicket, SELECT_BY_TICKET) && OrderCloseTime() == 0) 如果订单在那里,必要时更新其数据。这是在有必要监测SL/TP/体积的情况下。如果不需要,我们根本就不做其他事情。 如果在已关闭的订单列表中找到该订单(OrderCloseTime() > 0),则从数组中删除它。只有当EA开出订单时,阵列才会得到补充。 因此,我们不必在每次打勾 时都去看整个订单列表。操作只有在它自己的数组中才能实现。 [删除] 2020.01.27 14:42 #39 我现在尝试比较OrdersTotal()的值(感谢@Artyom Trishkin ),这应该足够了。我不会有部分关闭的情况。 在初始化过程中,我将把值-1分配给旧的,所以在开始时总是进行全面检查,无论市场上是否存在订单。 之后,一个新的订单将出现(事件)或旧的订单将被删除(事件),甚至符号也不重要--我们可能会完全检查一切,它仍然比无休止的大惊小怪要少很多倍。 Vitaly Muzichenko 2020.01.27 15:32 #40 Aleksandr Volotko: 我现在尝试比较OrdersTotal()的值(感谢@Artyom Trishkin ),这应该足够了。我不会有部分关闭的情况。 在初始化过程中,我将把值-1分配给旧的,所以在开始时总是进行全面检查,无论市场上是否存在订单。 之后,新的订单会出现(事件)或旧的订单会被删除(事件),甚至符号也不重要--我们可以对所有的订单进行全面检查,它仍然比无休止的敲打要少很多倍。 但必须小心处理,今天我面对的是,一个仓位已经关闭,另一个仓位在另一个仓位上打开,而且几乎是在同一时间的点位之间。 最后OrdersTotal()仍然是8。专家顾问的逻辑被混淆了 - 它没有重新计算新的数据 123456789 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
捕捉每个刻度的所有事件,与以前记录的数据进行比较。
都在数组中。
实际上,有时会有刹车,当有很多虱子的时候。这就是为什么我把检查之间的延迟时间定为1秒。
它涉及对许多职位的监测。
而如果你只监控某个特定机器人的位置,那当然更容易。
我有一个简单的任务,工作中的订单不超过两三打。
因此,我将使用一个计时器来检查OrdersTotal() 中的内容,并在每次迭代时在新的和旧的变量中写入量,如果量发生了变化--就采取进一步的措施。
我有一个简单的任务,工作中的订单不超过两三打。
因此,我将使用一个计时器来检查OrdersTotal()中的内容,并在每次迭代时在新的和旧的变量中写入量,如果量发生了变化--就采取进一步的措施。
当挂单 触发时,成交量将不会改变。
当挂单 触发时,成交量将不会改变。
好吧,我在循环中按类型过滤订单,并计算未平仓累积头寸的数量。
我很难过,我不得不浪费资源和时间,而在MT5中,你可以简单地等待一个特定的事件,没有任何压力。
好吧,我在循环中按类型过滤订单,并计算未平仓累积头寸的数量。
在MT5中,你可以简单地等待一个特定的事件,而没有任何压力,你必须这样训练并浪费资源,这很可悲。那么mt5比mt4高一个数量级。
这也适用于其他功能。
在我的具体情况下,如果我们每天交易一次,每天得到一次事件,我们将有60*60*24=86,400的额外努力。而且目前还没有其他办法。
这取决于任务。
如果我们想捕捉一个头寸的开仓/平仓(不是部分)和定单的设置/删除,那么我们就不需要每次都在一个循环中浏览这个列表。
我们可以简单地检查OrdersTotal()的当前和之前的值。如果我们检测到一个差异,我们就有一个事件,然后我们看一下价值。
我使用顺序 和位置属性 的哈希和做了一切。一旦它发生了变化--我们有一些事件--那么我们就看看那里到底发生了什么变化。
但我有一个任务,就是跟踪一切,以及任何变化。
在我的具体情况下,如果交易每天执行一次,而一个事件每天发生一次,我们将不得不做出60*60*24=86,400的额外努力。而且没有其他办法。
也有这种方法(如果新订单的出现只可能从EA方面进行)。
如果订单在那里,必要时更新其数据。这是在有必要监测SL/TP/体积的情况下。如果不需要,我们根本就不做其他事情。
如果在已关闭的订单列表中找到该订单(OrderCloseTime() > 0),则从数组中删除它。只有当EA开出订单时,阵列才会得到补充。
因此,我们不必在每次打勾 时都去看整个订单列表。操作只有在它自己的数组中才能实现。
我现在尝试比较OrdersTotal()的值(感谢@Artyom Trishkin ),这应该足够了。我不会有部分关闭的情况。
在初始化过程中,我将把值-1分配给旧的,所以在开始时总是进行全面检查,无论市场上是否存在订单。
之后,一个新的订单将出现(事件)或旧的订单将被删除(事件),甚至符号也不重要--我们可能会完全检查一切,它仍然比无休止的大惊小怪要少很多倍。
我现在尝试比较OrdersTotal()的值(感谢@Artyom Trishkin ),这应该足够了。我不会有部分关闭的情况。
在初始化过程中,我将把值-1分配给旧的,所以在开始时总是进行全面检查,无论市场上是否存在订单。
之后,新的订单会出现(事件)或旧的订单会被删除(事件),甚至符号也不重要--我们可以对所有的订单进行全面检查,它仍然比无休止的敲打要少很多倍。
但必须小心处理,今天我面对的是,一个仓位已经关闭,另一个仓位在另一个仓位上打开,而且几乎是在同一时间的点位之间。
最后OrdersTotal()仍然是8。专家顾问的逻辑被混淆了 - 它没有重新计算新的数据