服务台。投诉,建议。 - 页 3

 
Alexey Kozitsyn:

如果只是因为文件中说了,而且我想使用它。

要下载和检查历史记录,与MT5类似:https://www.mql5.com/ru/docs/series/timeseries_access

我重复这个问题,你知道如何通过老的mql4来获得这个日期吗?

对我来说,如果我原则上不需要某个功能,那么在文档中出现这个功能并不是处理服务台和论坛的充分理由,浪费了时间和精力。以及为什么它可能是必要的,在我看来,你从来没有能够论证。

我个人不建议任何人在MT4中使用MT5的API功能,因为自从MQL4的 "现代化 "以来,它们已经像这样故障了很长时间。而且从现在开始我不会推荐使用它们,除非有人证明它们的绝对必要性。

 
Ilya Malev:

对我来说,如果我原则上不需要一个功能,那么在文档中存在一个功能并不是处理Servicedesk和在论坛上浪费时间和精力的充分理由。而且在我看来,你还没有能够论证为什么你可能需要它。

我个人不建议任何人在MT4中使用MT5的API功能,因为自从MQL4的 "现代化 "以来,它们已经像这样故障了很长时间。而且除非有人证明它们的绝对必要性,否则我不会建议在未来使用它们。

你仍然没有回答我的问题。但我意识到,你并不在乎,而且你很满意。

哦,还有一个论点 - 程序从MT4到MT5再到MT5的可移植性。

 
Alexey Kozitsyn:

你仍然没有回答我的问题。但我明白,你并不在乎,而且你也无所谓。

哦,还有一个论点--程序从MT4到MT5再到MT5的可移植性。

如果你对MT4窗口的条数有限制,你将不知道服务器上有多少条。而且我还没有遇到过需要这样做的常规情况。当然,你可以发明很多外来的东西,但在99.9%的情况下,我们可以不这样做。

至于可移植性--这些是完全不同的平台,其处理数据和订单的方法根本不同。因此,他们的编程方法是完全不同的。对于可移植性,有__MQL4__指令和有条件编译的库。

 
Ilya Malev:

如果你对MT4窗口中的条数有限制,就不可能知道服务器上有多少条。而且我还没有遇到过需要这样做的常规情况。当然,你可以发明各种异物,但在99.9%的交易员任务中,你实际上可以不用它。

至于可移植性--这些是完全不同的平台,其处理数据和订单的方法根本不同。因此,他们的编程方法是完全不同的。对于可移植性,有__MQL4__指令和有条件编译的库。

获取数据的组织是 "异国情调 "吗?咳咳。好的。

交易者并不关心语言,交易者需要交易,而专家顾问/指标/脚本必须正常工作。它们如何工作是程序员的问题。但是,程序员为了给交易者写一个高质量的产品,必须注意数据访问这样的小细节。

如果你没有遇到过什么,并不意味着其他人没有遇到过。

 
Alexey Kozitsyn:

组织数据访问是'异类'!?咳咳。好的。

交易者并不真正关心语言,交易者需要交易,而专家顾问/指标/脚本必须正常工作。它们如何工作是程序员的问题。但是,程序员为了给交易者写一个高质量的产品,必须注意数据访问这样的小事。

你从来没有列举过一个需要这种功能的实际任务。只有像 "数据访问 "这样的漂亮词句,以及承认你需要这个功能只是因为它在文档中被描述。

在MT4的API中,有足够的功能用于数据访问,在我看来,完全没有必要为MT5搞什么功能。在MT4中不需要找出服务器上的条数,因为不需要以编程方式加载历史记录--在访问MT4数据访问功能(iHigh, iLow, MarketInfo等)之前,终端自己就会做。

这是非常方便的,可惜在MT5中被改变了,这给访问那里的数据带来了很多困难。

 
Ilya Malev:

你仍然没有举出一个真正需要这个功能的任务。只有像 "数据访问 "这样的漂亮词句,以及承认你需要这个功能只是因为它在文档中被描述。

在MT4的API中,有足够的功能用于数据访问,在我看来,完全没有必要为MT5搞什么功能。在MT4中不需要在服务器上查找条数,因为不需要以编程方式上传历史记录--终端会这样做。

这是很方便的,可惜在MT5中被改变了,这给那里的数据访问带来了很多问题。

我甚至给了你链接。

关于交易、自动交易系统和测试交易策略的论坛

服务台。如果你对服务台有任何问题或意见,请不要犹豫,与我们联系。

Alexey Kozitsyn, 2015.10.30 17:11

至少因为它在文档中说过,而且我想使用它。

要下载和检查历史记录,与MT5类似:https://www.mql5.com/ru/docs/series/timeseries_access

我在mql5上写了一个历史检查/上传功能,类似于链接中描述的方式。一切都在正常运行。我想在mql4程序中使用同样的东西。我复制了代码,发现SeriesInfoInteger()函数工作不正常。我写了一份申请书给塞尔希德克。如果所有的功能在两种语言中都是重复的,为什么我不应该使用现有的代码?

据我所知,你一开始是为mql4写的,后来换成了mql5。相反,我已经积极开始用mql5写作,然后--用mql4。因此,对我来说,使用新的功能更方便。

 
而如果你比较一下组织访问mql4和mql5的数据的文档,就会发现访问方式是一样的。只是,mql5文档中扩展了一个访问的例子。因此,这个通道是否如此不同,仍然是一个大问题。
 
Alexey Kozitsyn:
而如果我们比较一下mql4和mql5的数据访问文档,就会发现访问方式是一样的。只是,mql5文档中扩展了一个访问的例子。因此,这个通道是否如此不同,仍然是一个大问题。

一个简单的例子是,一个指标通过iCustom调用另一个。而这另一个指标,反过来也叫第三和第四个指标。而所有这些指标的建立都比几毫秒长一点。当在周末运行这样的结构时,用户不会等到周末结束时才创建指标,除非他经常按图表中的 "刷新 "按钮。因为这个问题,我不得不做了一个完整的类系统,而不是iCustom,用于用指标互相调用,绕过iCustom。在MT4中,没有这样的痛苦。

在MT4中,首先建立指标,然后调用使用其数据的代码。同样的事情大多是用时间序列来做。在MT5中,一切都被改变了,不是为了更好的发展。

 
Ilya Malev:

一个简单的例子是,一个指标通过iCustom调用另一个。而这个其他的指标,反过来也会调用第三个和第四个指标。而所有这些指标的建立都比几毫秒长一点。当在周末运行这样的结构时,用户不会等到周末结束时才创建指标,除非他经常按图表中的 "刷新 "按钮。因为这个问题,我不得不做了一个完整的类系统,而不是iCustom,用于用指标互相调用,绕过iCustom。在MT4中,没有这样的痛苦。

在Mt4中,首先建立指标,然后调用使用其数据的代码。

试着使用定时器事件。即在定时器的输出处开始所有的计算逻辑。接下来,如果指标没有出现在窗口中--按刷新一次。一切都应该工作。
 

Alexey Kozitsyn:

试试使用定时器事件

计时器事件实际上是ChartEvent的一个子类,只有当指标在图表上直接启动时才会被调用。在通过iCustom调用的指标中,你将不会等待OnTimer或OnChartEvent 的调用

在那里,一个指标只有在另一个指标被画完后才开始画。你需要按刷新一次来建立第一个,也就是链中最远的一个,然后再按一次来建立使用其数据的那个 :)

因为,其线程中的指标不能等待另一个指标的数据建立,而不从OnCalculate回来。这也是一个不错的功能。因此,用户将始终面对图表菜单而不是处理数据。