错误、漏洞、问题 - 页 2934

 
Vitaly Muzichenko:

因此,如果数据没有被复制,则进行退出。

在下一次打勾时,所有的东西都将被加载,代码将正确工作。

不,在我的情况下,代码的工作是非常不正确的,对象会从它们在指标中的位置滑落。我将处理历史的加载...

 
Евгений Баженов:

你好,我正在测试我的机器人,在完成测试 后,我看到日志中有很多字段有重新报价,这些信息堆是什么意思,我可以在代码中添加什么来防止它们出现?谢谢你,新年快乐!

我假设符号中的交易时段比报价时段小。然后报价进入测试器,但在此期间禁止在这些报价上进行交易。

 
x572intraday:

白痴的是,https://www.mql5.com/ru/docs/series/timeseries_access,在代码中关于加载历史的文章中提到了Sleep(),但Sleep()的帮助说:"Sleep()函数不能从自定义指标中调用,因为指标是在接口线程中执行的,不能拖慢它"。事实证明,我需要在一个指标中加载历史。

谁的白痴?

当从指标(而不是从专家顾问)请求数据时,同样的数据会立即收到,没有任何延迟。维塔利说得很对。

在OnInit中要求所需的符号周期,以启动创建所需的历史。

 
Slava:

谁的白痴?

当从一个指标(而不是从一个专家顾问)请求数据时,这些数据会立即如实给出,没有任何延迟。维塔利正确地说道。

在OnInit中要求所需的符号周期,以启动创建所需的历史。

1.如果我理解正确的话,你建议在指标开始时提出一次请求 在这里https://www.mql5.com/ru/docs/runtime/event_fire启动 事件被很多条件所包围。"在改变符号和/或图表周期后,在MetaEditor中重新编译程序后,在改变EA或自定义指标的输入参数后,也会产生这个事件专家顾问在账户改变后也会被初始化。" 但用户不必生成这些事件,他/她可以舒适地坐在唯一的当前TF上观看指标,因此重新初始化和重新加载历史记录不止一次的情况将不会发生。然而,缺乏历史记录不一定发生在工作开始时,错误在工作中突然反复出现,随机出现(此外,在指标的长期工作中,它可能根本不出现;往往在工作开始时没有错误)。那么缺失的那部分历史记录不仅应该在OnInit 中下载,也应该在OnCalculate 中下载,以防止重复出现错误?

或者 说的"开始建立正确的历史 "是指OnInit 做一次就够了,然后你就不需要再做了?但是,一方面,即使加载了仪器的全部历史记录,并且调整了所有的时间段,也会发生错误,因为该指标是多时段的,而且是ryllime;另一方面,在相同的条件下,可能不会发生错误。

2."缺乏历史的一部分 "是什么意思?当你在安装后第一次运行终端时,它会下载缺失的历史记录--从字面上看就是左边的那个,在时间上更早。但它复制的是CopyTime(_Symbol,tf,0,1,Arr),也就是说,它复制的是右侧的最新栏,而不是历史栏。新的酒吧能否在某种程度上与历史及其缺乏有关?

3.我承认,我模糊的解释可能不足以理解这个问题;我不想被送到https://www.mql5.com/ru/forum/133408, 因此我准备与开发人员和其他愿意一起调试的人分享带注释的代码,因为我想通过CodeBase 免费提供这个指标。顺便说一下,如果是这样的话,发布未发布的免费代码是否可以接受?

Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
События клиентского терминала - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
x572intraday:

1.如果我没有理解错的话,你建议在指标开始工作时,在OnInit 上提出一次请求。在这里https://www.mql5.com/ru/docs/runtime/event_fire Init 事件被很多伴随条件所包围。"在改变符号和/或图表周期后,在MetaEditor中重新编译程序后,在改变专家顾问或自定义指标的输入参数后,也会产生这一事件专家顾问在账户改变后也会被初始化。" 但用户不必产生这些事件,他/她可以舒适地坐在唯一的当前TF上观看指标,因此重新初始化和重新加载历史记录的情况不会发生不止一次。然而,缺乏历史记录不一定发生在工作开始时,错误在工作中突然和反复出现在随机的时间(此外,在指标的长期工作中,它可能根本没有出现;往往在工作开始时没有错误)。那么缺失的那部分历史记录不仅应该在OnInit 中下载,也应该在OnCalculate 中下载,以防止重复出现错误?

或者 说的"开始建立正确的历史 "是指OnInit 做一次就够了,然后你就不需要再做了?但是,一方面,即使加载了符号的整个历史,并且完成了所有的时间段,也会发生错误,因为该指标是多时间和rylltime;另一方面,在同样的条件下,可能不会发生错误。

2."错过一段历史 "的概念本身意味着什么?当你在安装后第一次运行终端时,它会下载缺失的历史记录--从字面上看就是左边的那个,在时间上更早。但它复制的是CopyTime(_Symbol,tf,0,1,Arr),也就是说,它复制的是右侧的最新栏,而不是历史栏。新的酒吧能否在某种程度上与历史和它的缺乏有关?
在指标方面,如果没有准备好,没有人会向你保证输出所要求的数据。

脚本和专家顾问有足够的保证。

因此,在指标中要等待数据可用性的周期。

为了提高获得正确数据的概率,在指标中提出假的数据请求。这将激起数据的后台加载。
 
Renat Fatkhullin:
在指标方面,如果没有准备好,没有人保证所要求的数据会被发布。

在我看来,从我低矮的钟楼上看,要求的数据已经准备好了,因为它是目前最新的酒吧。它怎么可能不准备好呢?如果它出现在图表上,就说明它已经准备好了。

 
Renat Fatkhullin:
在指标方面,如果没有准备好,没有人会向你保证发布所要求的数据。

在脚本和专家中,有足够的保证。

因此,在指标中等待一个又一个周期的数据可用性。

酷...甚至在新的一年里,在岗位上。新年快乐。!!!!!!!

 
x572intraday:

在我看来,从我低矮的钟楼上看,要求的数据已经准备好了,因为它是目前最新的酒吧。它怎么可能不准备好呢?如果它出现在图表上,就说明它已经准备好了。

仔细阅读我的答案。
 
Renat Fatkhullin:
仔细阅读我的答案。

我们需要定义数据可用性的概念。如果我在终端看到一个酒吧,是已经有了,还是有其他选择?对了,雷纳特,我上一篇文章的第3点怎么说?

 
x572intraday:

我们需要定义数据可用性的概念。如果我在终端看到一个酒吧,是已经有了,还是有其他选择?对了,雷纳特,我上一篇文章的第3点怎么说?

如果你得到一个函数响应,那么数据是不可用的。

如果你有相反的证据,你应该以完全一致和技术上可重复的方式提供。