来自一个 "傻瓜 "的问题 - 页 214

 
G001 我只需要在它停止工作时进行程序化检查,以便在下一个信号之前重新启动

好吧,让我们假设专家真的不工作了。它被冻结了,有点像。在这种情况下,我将尝试使用自定义事件,即。

1)从EA本身,我将以一定的周期(通过计时器或新刻度的到来)向图表发送一个自定义事件。

2) 创建第二个更简单的EA,它只接受这个自定义事件,并检查自上一个事件以来是否已经过了一定的时间(如1或10分钟)。如果延迟超过允许的间隔时间,第二个EA将发出警报。

这样你就可以直观地看到警告并手动重启终端。

 
G001:
谢谢。问题不太可能出现在专家顾问中,否则重启终端的规则不会总是有效。此外,这个问题在一些经纪商的MT4中也存在。我只需要在它停止工作时以编程方式检查,以便在下一个信号之前重新启动。添加了印刷品和评论。

为什么不太可能呢?))很有可能。有时自己的错误很难被抓住。当你发现它们时,你会想:"你怎么没有注意到以前在你鼻子底下的东西?))

 
Yedelkin:

好吧,让我们假设专家真的不工作了。它被冻结了,有点像。在这种情况下,我将尝试使用自定义事件,即。

1)从EA本身,我将以一定的周期(通过计时器或新刻度的到来)向图表发送一个自定义事件。

2) 创建第二个更简单的EA,它只接受这个自定义事件,并检查自上一个事件以来是否已经过了一定的时间(如1或10分钟)。如果延迟超过允许的间隔时间,第二个EA将发出警报。

这样就可以直观地看到警告并手动重启终端。

我希望能有更简单的东西。谢谢你。
 
tol64:

为什么不太可能呢?))很有可能。有时自己的错误很难被抓住。当你发现它们时,你会想:"你怎么没有注意到以前在你鼻子下的东西?))

假设专家顾问中甚至出现了问题,尽管日志中没有错误。问题不在于此,而在于如何检查它是否工作,如果它是绿色的,而且日志中没有错误。
 
G001: 我希望它能更简单。谢谢你的提醒。

这很容易。在主EA中新增几行,在第二EA中新增五行,以检查延迟和alt。

也许有一个更简单的方法,但人们还是不说话 :)

 
Yedelkin:

这很容易。在主EA中新增几行,在第二EA中新增五行以检查延迟,就这样。

也许有更简单的,但人们还没有说出来 :)

我将这样做,EA将每隔N 分钟产生一个警报。当警报停止时,这将意味着它停止工作。可以吗?
 
G001: 我将这样做,专家顾问将每隔N 分钟产生一个警报。当警报停止时,这意味着它已经停止工作。它好吗?

是的,这也很好。只要你不被这些偶尔出现的信息所烦扰。然而,在我的版本中,这足以让一条信息得到强调:)

你甚至可以尝试连接一个声音文件 - 但这是一个业余的。

 
Yedelkin:

是的,这也很好。只要你不被这些偶尔出现的信息所烦扰。在我的版本中,得到一条信息就足以让人恼火了:)

你甚至可以尝试连接一个声音文件 - 但这是一个业余的。

你的版本更好,但也许第二个EA也会停止工作。

我认为问题不是出在终端,就是出在经纪人手里。这就是为什么我加入了它。

void OnTick()
{
  Comment(TimeToString(TimeLocal(),TIME_MINUTES|TIME_SECONDS));

我将知道,它在什么时候睡觉。

谢谢大家。

 
G001: 谢谢大家。
让我知道结果如何。有趣的是:)
 
Yedelkin:
让我知道结果如何。有趣的是:)
通常在这种情况下,最终会以更换经纪人而告终。但现在他不得不在这样的条件下生存,直到有更多的MT5真实账户的经纪商出现。当他再次入睡时,我将发布一张截图。:)