错误、漏洞、问题 - 页 595 1...588589590591592593594595596597598599600601602...3184 新评论 Anatoli Kazharski 2011.12.11 01:48 #5941 -Alexey-: 试着转到C区--错误会自己发现。一般来说--对于这样的项目,如果你不希望将来出现问题,这是唯一的写作方法。不幸的是,我自己理解得太晚了,现在重写 :)。 我可能会在不久的将来学习C++。在过去的六个月里,我的脑袋已经装满了:MQL4、MQL5、HTML、CSS、XML。而现在我也在学习JavaScript。我还没有足够的空间和时间来做C++,虽然我很想做))。 Mykola Demko 2011.12.11 19:04 #5942 我们有一个在TF M15上运行的指标,在代码中,指标从TF M1中请求时间序列MqlRates。由于M1数据没有准备好,在第一次运行时不可能加载数据,所以指标没有立即启动。结果是我们有一个假的通过,指标不再访问数据,认为它已经被计算出来了,没有必要再重新计算。现在我以两种方式运行该指标。我在M15上启动指标,删除指标并再次启动它(它工作)。在M15上运行该指标之前,我在M1上打开一个图表,在M15上运行该指标(第一次一切正常)。因此,问题是:如何自动正确检查和加载另一个TF的所需数据? Konstantin Gruzdev 2011.12.11 20:00 #5943 Urain:因此,问题是:如何自动检查和加载来自其他TF的所需数据? 在类似情况下,我在OnCalculate 中控制初始化过程。如果在初始化过程中出现错误,那么我就返回prev_calculated=0,以此类推,直到一切都计算正确。 Mykola Demko 2011.12.11 20:13 #5944 Lizar: 在类似情况下,我在OnCalculate中控制初始化过程。如果在初始化过程中出现了错误,那么我就返回prev_calculated=0,然后继续做,直到所有的计算都正确。这个想法很好,虽然没有什么可以分配给prev_calculated,这个变量被声明为const,但我知道你可以有另一个类似的变量。仍然有一个问题--如果没有数据,我应该怎么做? 我明白,对数据的请求本身并不导致从本地数据库下载或上传,而这正是问题所在。 --- 2011.12.11 20:52 #5945 Urain:这个想法很好,虽然你不能给prev_calculated分配任何东西,这个变量被声明为const,但我理解你,你可以有另一个类似的变量。这不是关于赋值,而是关于OnCalculated返回的数字。如果你的数据没有准备好,你将从OnCalculated返回0。 看看BarsCalculated 的例子。这就是你应该检查的方式。还有一个问题--如果没有数据,你应该怎么做? 如果没有数据,也不会出现,那么就没有什么可做的。 如果你愿意,你可以等待并通过定时器计算缓冲区。 Mykola Demko 2011.12.11 21:06 #5946 sergeev:如果你的数据还没有准备好,你将从OnCalculated返回0。 看一下BarsCalculated的例子。如果你没有它们,它们也不会出现,那么就没有什么可做的。如果你愿意,你可以通过定时器调用等待和计算缓冲区。 它没有帮助,只是卸载指标 并重新启动,在这种情况下,由于某种原因,数据已经存在。或者,用所需的M1 TF打开图表,那么相邻的M1请求的M15图表上的数据就可以立即准备好。 --- 2011.12.11 21:10 #5947 Urain:这没有帮助,只有卸载指标 并重新启动它,在这种情况下,由于某种原因,数据已经存在了。或者,用所需的TF打开一个图表,那么相邻图表上的数据马上就能准备好。今天我花了半天时间与指数打交道。有多国货币/多国海事。不显示的问题是,有人试图从一个根本不存在于这个TF中的条形图中取值。 因此,你必须在取条前检查 - SeriesInfoInteger。 不需要卸货。反正你不会卸下计算部分(我今天才提出这个话题)。 Mykola Demko 2011.12.11 21:13 #5948 sergeev:我今天已经和指数打了半天交道。有多国货币/多国海事。不显示的问题是,它试图从一个在这个TF中不存在的条形图中取值。 因此,你必须在取条前检查 - SeriesInfoInteger。 不需要卸货。反正你不能卸载计算部分(我今天刚提了一个关于这个的话题)。 Mimeo,我有一个检查器,我找到了TF M1上的第一个日期,M15条的计算从这个日期开始。TF被设置为PERIOD_M1 timestart=(datetime)SeriesInfoInteger(_Symbol,TF,SERIES_FIRSTDATE); for(int i=prev>0?prev-1:0;i<rates_total-1;i++) { if(time[i]>timestart) { ... расчёт } } Документация по MQL5: Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков www.mql5.com Стандартные константы, перечисления и структуры / Константы графиков / Периоды графиков - Документация по MQL5 Konstantin Gruzdev 2011.12.11 21:13 #5949 Urain:1.想法是好的,虽然没有什么可以分配给prev_calculated,该变量被声明为const,但我知道你可以有另一个类似的变量。2、还有一个问题,如果没有数据,我们应该怎么做?3.我理解数据请求本身不会导致数据从本地数据库下载或上传,而这正是问题所在。我是说从OnCalculate 返回0,然后prev_calculated=0。我设置了重新初始化的计数器。溢出时,我卸下指标。我与SoruXXX没有任何问题。如果有地方历史,一切都从第二次或第三次算起,如果不是从第一次算起。在锦标赛中,专家顾问使用的 "间谍 "只计算一分钟的历史,它在H1上工作。以此类推,共9对。如果根本没有本地历史,第2点就可以了。但是,在我的记忆中,历史记录是从服务器上下载的。 Konstantin Gruzdev 2011.12.11 21:29 #5950 Urain:我明白,数据请求本身并不导致从本地数据库下载或上传数据,而这正是问题所在。来自CopyXXXX的帮助。当向专家顾问或脚本请求数据时,如果终端在本地没有这些数据,它将开始从服务器下载,或者如果数据可以从本地历史建立,但它们还没有准备好,它将开始建立所需的时间序列。该函数将返回超时时准备好的数据量,但历史将继续被下载,下一个类似的请求将返回更多的数据。 我们只谈论专家顾问和脚本。这不适用于指标吗? 1...588589590591592593594595596597598599600601602...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
试着转到C区--错误会自己发现。一般来说--对于这样的项目,如果你不希望将来出现问题,这是唯一的写作方法。不幸的是,我自己理解得太晚了,现在重写 :)。
我们有一个在TF M15上运行的指标,在代码中,指标从TF M1中请求时间序列MqlRates。
由于M1数据没有准备好,在第一次运行时不可能加载数据,所以指标没有立即启动。
结果是我们有一个假的通过,指标不再访问数据,认为它已经被计算出来了,没有必要再重新计算。
现在我以两种方式运行该指标。
因此,问题是:如何自动正确检查和加载另一个TF的所需数据?
因此,问题是:如何自动检查和加载来自其他TF的所需数据?
在类似情况下,我在OnCalculate中控制初始化过程。如果在初始化过程中出现了错误,那么我就返回prev_calculated=0,然后继续做,直到所有的计算都正确。
这个想法很好,虽然没有什么可以分配给prev_calculated,这个变量被声明为const,但我知道你可以有另一个类似的变量。
仍然有一个问题--如果没有数据,我应该怎么做?
我明白,对数据的请求本身并不导致从本地数据库下载或上传,而这正是问题所在。
这个想法很好,虽然你不能给prev_calculated分配任何东西,这个变量被声明为const,但我理解你,你可以有另一个类似的变量。
这不是关于赋值,而是关于OnCalculated返回的数字。如果你的数据没有准备好,你将从OnCalculated返回0。
看看BarsCalculated 的例子。这就是你应该检查的方式。
还有一个问题--如果没有数据,你应该怎么做?
如果你愿意,你可以等待并通过定时器计算缓冲区。
如果你的数据还没有准备好,你将从OnCalculated返回0。
如果你没有它们,它们也不会出现,那么就没有什么可做的。看一下BarsCalculated的例子。
如果你愿意,你可以通过定时器调用等待和计算缓冲区。
它没有帮助,只是卸载指标 并重新启动,在这种情况下,由于某种原因,数据已经存在。
或者,用所需的M1 TF打开图表,那么相邻的M1请求的M15图表上的数据就可以立即准备好。
这没有帮助,只有卸载指标 并重新启动它,在这种情况下,由于某种原因,数据已经存在了。
或者,用所需的TF打开一个图表,那么相邻图表上的数据马上就能准备好。
今天我花了半天时间与指数打交道。有多国货币/多国海事。
不显示的问题是,有人试图从一个根本不存在于这个TF中的条形图中取值。
因此,你必须在取条前检查 - SeriesInfoInteger。不需要卸货。反正你不会卸下计算部分(我今天才提出这个话题)。
我今天已经和指数打了半天交道。有多国货币/多国海事。
不显示的问题是,它试图从一个在这个TF中不存在的条形图中取值。
因此,你必须在取条前检查 - SeriesInfoInteger。不需要卸货。反正你不能卸载计算部分(我今天刚提了一个关于这个的话题)。
Mimeo,我有一个检查器,我找到了TF M1上的第一个日期,M15条的计算从这个日期开始。TF被设置为PERIOD_M1
1.想法是好的,虽然没有什么可以分配给prev_calculated,该变量被声明为const,但我知道你可以有另一个类似的变量。
2、还有一个问题,如果没有数据,我们应该怎么做?
3.我理解数据请求本身不会导致数据从本地数据库下载或上传,而这正是问题所在。
我明白,数据请求本身并不导致从本地数据库下载或上传数据,而这正是问题所在。
来自CopyXXXX的帮助。
当向专家顾问或脚本请求数据时,如果终端在本地没有这些数据,它将开始从服务器下载,或者如果数据可以从本地历史建立,但它们还没有准备好,它将开始建立所需的时间序列。该函数将返回超时时准备好的数据量,但历史将继续被下载,下一个类似的请求将返回更多的数据。