服务台。投诉,建议。

 

下午好。今天我再次遇到这样的事实:服务台不仅不总是愿意听到问题,而且甚至不愿意听它。让我们开始吧。

几天前,我又给servicedesk写了一个请求。请求的主要内容如下(针对MT4)。

Индикатор находится на ТФ, старше М1. Пытаюсь получить данные через функцию SeriesInfoInteger() с ТФ М1. Функция возвращает нули для свойств SERIES_BARS_COUNT, SERIES_FIRSTDATE, SERIES_SERVER_FIRSTDATE после того, как на М1 образовался новый бар. До того, как образовался новый бар - данные возвращаются корректные. После - нули. 

第二个问题,属于类似的类型。该指标在TF MN1上。我正试图通过函数SeriesInfoInteger()从TF M5接收数据。有一段时间,该函数返回正确的值,然后它就不再这样做了,而是开始返回零,尽管M5上没有新的酒吧被打开。

在这两种情况下,在返回到我试图获得数据的TF并切换到更高的TF后,数据有一段时间是正确的,但随后就是零了。

该指标在应用程序中。

我需要SeriesInfoInteger()函数的上述属性来检查/加载除指标以外的TF的可用历史。

没有一个程序员会喜欢以下类型的模糊性:一开始有数据,然后没有数据,无法获得数据。此外,为其编写程序的用户将不喜欢它。你可以从信息中看到,我已经提供了测试这个错误的程序。进一步甚至提供了一份日志。

2015.10.29 14:25:52.663 test_271015_series_easy EURUSD,M5: OnCalculate 1: bars count = 5001, firstDate = 2015.10.26 00:00, serv_firstdate = 2015.08.21 10:59
2015.10.29 14:25:53.113 test_271015_series_easy EURUSD,M5: OnCalculate 1: bars count = 5001, firstDate = 2015.10.26 00:00, serv_firstdate = 2015.08.21 10:59
2015.10.29 14:25:53.419 test_271015_series_easy EURUSD,M5: OnCalculate 1: bars count = 5001, firstDate = 2015.10.26 00:00, serv_firstdate = 2015.08.21 10:59
2015.10.29 14:25:53.930 test_271015_series_easy EURUSD,M5: OnCalculate 1: bars count = 5001, firstDate = 2015.10.26 00:00, serv_firstdate = 2015.08.21 10:59
2015.10.29 14:25:54.487 test_271015_series_easy EURUSD,M5: OnCalculate 1: bars count = 5001, firstDate = 2015.10.26 00:00, serv_firstdate = 2015.08.21 10:59
2015.10.29 14:25:54.795 test_271015_series_easy EURUSD,M5: OnCalculate 1: bars count = 5001, firstDate = 2015.10.26 00:00, serv_firstdate = 2015.08.21 10:59
2015.10.29 14:25:55.412 test_271015_series_easy EURUSD,M5: OnCalculate 1: bars count = 0, firstDate = 1970.01.01 00:00, serv_firstdate = 1970.01.01 00:00
2015.10.29 14:25:55.943 test_271015_series_easy EURUSD,M5: OnCalculate 1: bars count = 0, firstDate = 1970.01.01 00:00, serv_firstdate = 1970.01.01 00:00
2015.10.29 14:25:56.678 test_271015_series_easy EURUSD,M5: OnCalculate 1: bars count = 0, firstDate = 1970.01.01 00:00, serv_firstdate = 1970.01.01 00:00
2015.10.29 14:25:57.169 test_271015_series_easy EURUSD,M5: OnCalculate 1: bars count = 0, firstDate = 1970.01.01 00:00, serv_firstdate = 1970.01.01 00:00
2015.10.29 14:25:57.938 test_271015_series_easy EURUSD,M5: OnCalculate 1: bars count = 0, firstDate = 1970.01.01 00:00, serv_firstdate = 1970.01.01 00:00

数据被简单地丢弃,只能通过改变TF到数据请求的那个TF来进一步检索。

而这是我从SR得到的回应。

支持团队2015.10.29 10:41
为了从别人的符号-周期中获得实际数据,你需要每10秒访问一次以上的数据。或者从专家顾问中访问该数据,例如使用iTime(那么至少可以每3分钟访问一次数据)。
支持团队2015.10.29 10:42

状态:打开关闭

你可以从信息中看到,服务台(或他们的一些员工)根本不关心用户写的错误。我被提示访问数据的频率超过了每10秒一次!?日志显示,数据被请求的频率要高得多,每一次打勾都会被请求。我相信这篇日志甚至没有人看过。但有人建议我 "更经常地 "访问它们,或从EA访问数据。天才。哦,申请立即被关闭,好像我得到了帮助。

继续前进。这是我的回答。

Alexey Kozitsyn2015.10.29 10:57
看看这些日志!呼吁每一次都要继续下去!蜱虫更频繁了!同样,在定时器中,频率为每秒10次!
Alexey Kozitsyn2015.10.29 10:57
状态:已关闭打开

Alexey Kozitsyn2015.10.29 10:59
关于经期--这只是考试的经期!如果这是你的意思。同样,每次打勾时都会要求提供数据!
Alexey Kozitsyn2015.10.29 11:00
他们最初可能会来,然后就不再来了!仔细看一下日志。
Alexey Kozitsyn2015.10.29 12:06

你确定了这个错误吗?

和服务台的回答。

支持团队2015.10.29 12:09

打开所需的图表,那么它的数据将一直在内存中,直到你关闭它。

从Build 900开始,我们已经实现了积极的内存释放。如果有内存问题,所有能被释放的东西都会被释放。

我需要这些属性,以便选择有足够数据的适当的最小的TF。而我,则是被提出来要打开每一张图表。而且,我同时分析多少个工具并不重要,打开所有可能的图表,你就会很高兴。

关于积极的释放和记忆问题。该终端没有记忆问题。终端日志中没有错误。由此我们可以判断,我只是被告知了一种可能释放记忆的情况。但这显然不是我的情况。另一个事实是,服务台不想研究这个问题,只想把它解决掉。

下一步。

Alexey Kozitsyn2015.10.29 12:27

你不认为完善积极的内存释放比充实图表更好吗?那你说的是什么记忆问题呢?是的,请释放,但要让他们有可能在不拄着拐杖的情况下进一步找回!

你是否尝试过从应用程序中运行该指标?你是否明白,数据来自于别人的TF,来了,来了,然后咣当一声--就不做了!?这是正常的行为吗?

下面是文档中的一个片段。

对于专家顾问和自定义指标,最好使用基于事件的处理模式。如果onTick()或OnCalculate()事件没有得到所有必要的数据,你应该退出事件处理程序,期望在下次调用该处理程序时,数据会被获得。

我引用的指标正是使用这种模式。如果没有收到数据,预计数据将在下一个刻度上到达。但是,数据不再来了!一点也不!这是一个文件的矛盾!

在mql5中,一切工作都是应该的,为什么在mql4中不能以同样的方式组织?

而答案是。

支持团队2015.10.29 12:45

不,它没有。

关于文件--这里有一个直接的结论:如果你经常需要一些符号周期的数据,那么要确保在OnInit中不断出现这些数据。例如,用简单的iTime(need_symbol,need_period)查询。并保持这个iTime上的每一个刻度。

你自己在给你的终端机增加记忆负担。所以要把图表上的条数减少到必要的限度。为了备份关键数据,用正确的符号-周期打开图表。

如果你对目前的状况不满意,让我们在论坛上讨论。在这里讨论它是没有用的。

MT5在使用历史数据方面有一个完全不同的模式

支持团队2015.10.29 12:46
状态:关闭

按顺序排列。

不,似乎不是这样的。

只是粗野的。没有解释,没有评论。

关于文档--这里的结论很直接:如果你一直需要一些符号-周期数据,那么要确保这些数据在OnInit中一直存在。例如,用简单的iTime(need_symbol,need_period)查询。并保持iTime上的每一个刻度。

第一个常识性的拐杖 。直截了当的推论!?这个结论在哪里!?你真的认为每个在mql中写作的人都为自己得出了这个结论吗!?不要为人猜测。从所写的内容中得出结论。作为比较。在mql5的文档中,在 "数据访问的组织 "一节中,有一个如何组织数据访问的例子。一切工作都很完美。这里你必须猜测,如果SeriesInfoInteger()函数返回0,你必须调用iTime()函数来获得所需的符号/周期。为什么没有写到它呢?为什么我们不能简单地改进SeriesInfoInteger()函数而不用这些拐杖呢?或者至少在文件中澄清一下?亲爱的开发者,如果你想减少问题,请在文档中详细地写一遍如何做和做什么。人们可以阅读!

你自己在给你的终端机增加记忆负担。

我想知道你想告诉我什么!终端可以消耗内存,但让终端的内存超载对我来说是件新鲜事。

所以要把图表上的条数减少到必要的限度。为了备份关键数据,用正确的符号-周期打开图表。

你认为我在应用中测试了多少个条形的指标?你似乎并不关心,因为你甚至没有问。这是个5000的数字。这是最起码的可能。并再次提出打开图表的建议。我知道了,谢谢你。将其添加到文件中(如有必要)。

而最后。

如果你对目前的状况不满意,让我们把这个讨论带到论坛上。在这里讨论它是没有用的。

MT5有一个完全不同的历史数据使用模式

是的,我对目前的状况不满意。用户在你的程序中发现了错误(我仍然认为SeriesInfoInteger()函数的行为是一个错误)。他们这样做是免费的。也不是说你不想解决这些问题,你甚至不想听他们的意见,看用户给出的数据。而且这也不是第一次了,当事实被报复性地接受,而你却不在乎错误。我希望开发商能听取意见,将来会有积极的变化。你目前的态度将使人们对你和你的产品的态度变得不受欢迎。

感谢大家的阅读。

如果有人想测试这个功能,指标就在附录中。

附加的文件:
 

有人说,"让我们把这个讨论带到论坛上去"。

你打算在论坛上讨论什么,是我的粗野还是内存清理的问题?

 
Slawa:

你被告知 "让我们把这个讨论带到论坛上"。

你打算在论坛上讨论什么,我的无礼还是内存清理问题?

所以我把讨论放在论坛上。让我们使之兼容。

关于无礼的问题。与Searcydesk交谈并不总是好事。上面的论点。

关于功能。我已经给出了证据,证明该功能没有正常工作。你给了我 "拐杖"。如果你没有拐杖就不能正常工作,请在文件中加入对这些拐杖的描述,以免将来出现问题。

 
我想征求一下程序员的意见。你对SeriesInfoInteger()函数的 行为满意吗?你对语言文件是否满意?
 
Alexey Kozitsyn:
我请程序员们分享他们的意见。你对SeriesInfoInteger()函数的 行为满意吗?你对语言文件是否满意?

我很早以前就提出了指标中的数据问题!

https://www.mql5.com/ru/forum/42180

有人向我保证,问题已经解决了。

他们甚至在发布的摘要中写到了这一点 1200

17:终端: 修正了一个错误,尽管从MQL5程序中定期访问数据,但还是导致历史数据被卸载为未使用

所以问题没有得到解决

ФОРТС Прошу помощи
ФОРТС Прошу помощи
  • www.mql5.com
Прошу откомпилировать этот код и "бросить" индикатор на символ MIX-6. - - Категория: автоматические торговые системы
 
Михаил:

我很早以前就提出了指标中的数据问题!

https://www.mql5.com/ru/forum/42180

有人向我保证,问题已经解决了。

他们甚至在发布的摘要中写到了这一点 1200

终端:修正了一个错误,尽管从MQL5程序中定期访问数据,但该错误导致历史数据被卸载为未使用

所以问题并没有得到解决

在这种情况下,我指的是MT4。但对于MT5来说,这个问题也是相关的。

 
Alexey Kozitsyn:

在这种情况下,我指的是MT4。但对于MT5来说,这个问题也是相关的。

我还没有更新到1200,不能检查它是否被修复。

但在MT5中存在这样一个错误

 
Михаил:

我还没有升级到1200,不能检查它是否已经修复。

但在MT5中存在这样一个错误

现在它正在加载1204。我们将拭目以待。
 
Alexey Kozitsyn:
现在它正在下载1204。让我们来看看。
在1200上检查过(bx演示),似乎已经修复了:)
 
如果不使用MT5函数SeriesInfoInteger,而使用旧的MT4函数,iBars, iTime, MarketInfo等,那么问题仍然存在?
 
在四,我们将修复它--过度地积极卸载未使用的图表。