错误、漏洞、问题 - 页 504 1...497498499500501502503504505506507508509510511...3184 新评论 Renat Fatkhullin 2011.09.04 00:48 #5031 Vigor:代码优化器对对象树的大小是否有限制? 当对象的数量增加时,我在编译阶段得到一个 "树状优化错误"。 P.S. 在调试模式 下,它可以编译。你能在servicedesk票据中附上一个源代码的例子吗?验证后,该代码将被删除。最有可能的是,这是因为长函数的缘故,但你最好把代码发给我们,这样我们就可以自己研究一下,解决这个错误。它将帮助许多交易者。 Sergey Gritsay 2011.09.04 05:49 #5032 Valmars:首先,在测试器中强行下载历史记录的意义何在?如果在代码或交易操作 中存在对必要符号的请求,测试器本身将从服务器下载必要的和可访问的历史记录。由于你的代码是空的,测试人员不需要模拟其他符号的刻度,除了符号,对其进行测试。而这就是测试者下载其历史的原因。由于没有历史记录(在测试器中),我们最终的结果是0。 第二,即使你通过调用所有符号的全部历史记录来增强代码,所有符号的所有可用历史记录的下载也不可能成功,在某个地方会发生失败。由于测试器使用终端报价的基础,它需要下载必要的历史记录。 问题是,当测试人员试图模拟其他符号的ticks时,日志开始充斥着诸如包含0条M1记录 的信息,因为在这个日期没有历史记录,日志增长到难以想象的数量,为了避免这些错误,我需要知道历史的起始日期,当要求时,函数SeriesInfoInteger(symbol,0,Series_SERVER_FIRSTDATE)返回0 Anatoli Kazharski 2011.09.04 12:00 #5033 你能告诉我,当选择目标函数Balance + min Drawdown 时,结果栏中的数值意味着什么? Sergey Gritsay 2011.09.04 12:31 #5034 tol64:你能告诉我,当选择目标函数Balance + min Drawdown 时,结果栏中的数值意味着什么?如果你看一下终端的帮助,很多问题会消失,因为都写在那里了优化标准 一个优化标准是一个特定的因素,其值定义了被测试的输入参数集的质量。 优化标准的值越高,在给定的参数集下,测试结果被认为越好。这个参数可以在 "优化 "字段右边的 "设置 "标签上选择。 优化标准只对遗传算法有要求。 有以下优化标准。 最大余额 - 优化指标是最大余额值。余额+最大利润率 --余额的最大值乘以利润率 是优化标准。余额+最大预期报酬 --余额与预期报酬的乘积 被认为是一个指标。余额+最小缩减 量 -缩减水平(100%-缩减量)*除余额值外, 还考虑了余额。平衡+最大回收系数 --该值是平衡与回收系数的 乘积。余额+最大夏普比率 - 该指数是余额与夏普比率的乘积。自定义优化标准 - 选择此选项时,专家顾问中OnTester()的值将被视为优化标准。 该选项允许用户使用任何自定义指标进行优化。 策略测试仪的优化 Anatoli Kazharski 2011.09.04 13:42 #5035 sergey1294:谢谢你。))由于某些原因,我想到的是最低提取标准,而不是余额+ 最低提取标准。)) Валерий 2011.09.04 16:05 #5036 sergey1294: 事情是这样的,当测试人员试图模拟其他符号的ticks时,日志开始充满了信息,如包含0条M1记录,因为在这个日期没有历史记录,日志增长到难以想象的程度,我需要知道历史日期以避免这些错误,但是当你要求函数SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE)返回0据我所知,在测试之前,测试人员为所连接的账户(如果没有连接到服务器,则为最后一个连接的账户)创建一个市场环境,检查与服务器的数据同步(同样,如果有连接),上传测试开始日期的缺失报价(如果有连接),为所有必要的符号创建一个测试序列的报价,然后才开始测试。如果他没有设法下载必要的历史记录(例如,由于服务器上缺乏历史记录或由于没有与服务器连接),怎么办??它诚实地告诉你。不,你不必如此。接下来,你要获得服务器上(在测试器中)历史记录的起始日期。看来,这个属性并不包括在测试者的市场环境中,尽管它可能已经从服务器中保存下来。这是一个错误吗?我想不会。在测试开始后,测试人员不能访问服务器(通过终端)下载你需要的报价。所有可用的东西,在测试过程的初始化阶段已经被测试人员加载,测试序列已经形成,无法改变。而不是SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE),在你的情况下,我认为你可以使用SeriesInfoInteger(symbol,0,SERIES_FIRSTDATE), ,它应该在测试器中工作。 Igor Volodin 2011.09.04 17:27 #5037 Renat:你能在servicedesk票据中附上一个源代码的例子吗?验证后,该代码将被删除。最有可能的是关于长函数的问题,但你最好把代码发给我们,这样我们就可以研究一下并解决这个错误。它将帮助许多交易者。好的,附上2个选项,有 "代码生成错误 "和 "树形优化错误"。onInit函数 真的很长(约1000行的生成代码)。票号217917。 Документация по MQL5: Основы языка / Функции / Функции обработки событий www.mql5.com Основы языка / Функции / Функции обработки событий - Документация по MQL5 Renat Fatkhullin 2011.09.04 17:48 #5038 Vigor:好的,附上2个带有 "代码生成错误 "和 "树形优化错误 "的变体。onInit函数 真的很长(约1000行的生成代码)。第217917号票 谢谢,我们将在周一研究这个问题。 Sergey Gritsay 2011.09.04 21:48 #5039 Valmars:据我所知,在测试之前,测试人员为所连接的账户(如果没有连接到服务器,则为最后一个连接的账户)创建一个市场环境,检查与服务器的数据同步(同样,如果有连接),上传测试开始日期的缺失报价(如果有连接),为所有必要的符号创建一个测试序列的报价,然后才开始测试。如果他没有设法下载必要的历史记录(例如,由于服务器上缺乏历史记录或由于没有与服务器连接),怎么办??它诚实地告诉你。不,你不必如此。接下来,你要获得服务器上(在测试器中)历史记录的起始日期。看来,这个属性并不包括在测试者的市场环境中,尽管它可能已经从服务器上保存下来。这是一个错误吗?我想不会。在测试开始后,测试人员不能访问服务器(通过终端)下载你需要的报价。所有可用的东西,在测试过程的初始化阶段已经被测试人员加载,测试序列已经形成,无法改变。而不是SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE),在你的情况下,我认为你可以使用SeriesInfoInteger(symbol,0,SERIES_FIRSTDATE), ,它应该在测试器中工作。 同一函数的返回值为零。我也试过SERIES_TERMINAL_FIRSTDATE 。结论是, SeriesInfoInteger 函数 在测试器中不起作用。它只对正在运行测试的仪器起作用。也许你有什么想法,当选择 "所有历史 "区间时,如何对具有不同历史开始日期的仪器进行测试。 Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Информация об исторических данных по инструменту www.mql5.com Стандартные константы, перечисления и структуры / Торговые константы / Информация об исторических данных по инструменту - Документация по MQL5 Arkadiy 2011.09.05 01:13 #5040 终端上的时间再次跳到了GMT+0,应该是GMT+1,这一点已经讨论过了。请纠正它。 1...497498499500501502503504505506507508509510511...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
代码优化器对对象树的大小是否有限制?
当对象的数量增加时,我在编译阶段得到一个 "树状优化错误"。
P.S. 在调试模式 下,它可以编译。
你能在servicedesk票据中附上一个源代码的例子吗?验证后,该代码将被删除。
最有可能的是,这是因为长函数的缘故,但你最好把代码发给我们,这样我们就可以自己研究一下,解决这个错误。它将帮助许多交易者。
首先,在测试器中强行下载历史记录的意义何在?如果在代码或交易操作 中存在对必要符号的请求,测试器本身将从服务器下载必要的和可访问的历史记录。由于你的代码是空的,测试人员不需要模拟其他符号的刻度,除了符号,对其进行测试。而这就是测试者下载其历史的原因。由于没有历史记录(在测试器中),我们最终的结果是0。
第二,即使你通过调用所有符号的全部历史记录来增强代码,所有符号的所有可用历史记录的下载也不可能成功,在某个地方会发生失败。由于测试器使用终端报价的基础,它需要下载必要的历史记录。你能告诉我,当选择目标函数Balance + min Drawdown 时,结果栏中的数值意味着什么?
你能告诉我,当选择目标函数Balance + min Drawdown 时,结果栏中的数值意味着什么?
如果你看一下终端的帮助,很多问题会消失,因为都写在那里了
优化标准
一个优化标准是一个特定的因素,其值定义了被测试的输入参数集的质量。 优化标准的值越高,在给定的参数集下,测试结果被认为越好。这个参数可以在 "优化 "字段右边的 "设置 "标签上选择。
优化标准只对遗传算法有要求。
有以下优化标准。
谢谢你。))由于某些原因,我想到的是最低提取标准,而不是余额+ 最低提取标准。))
事情是这样的,当测试人员试图模拟其他符号的ticks时,日志开始充满了信息,如包含0条M1记录,因为在这个日期没有历史记录,日志增长到难以想象的程度,我需要知道历史日期以避免这些错误,但是当你要求函数SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE)返回0
据我所知,在测试之前,测试人员为所连接的账户(如果没有连接到服务器,则为最后一个连接的账户)创建一个市场环境,检查与服务器的数据同步(同样,如果有连接),上传测试开始日期的缺失报价(如果有连接),为所有必要的符号创建一个测试序列的报价,然后才开始测试。如果他没有设法下载必要的历史记录(例如,由于服务器上缺乏历史记录或由于没有与服务器连接),怎么办??它诚实地告诉你。不,你不必如此。
接下来,你要获得服务器上(在测试器中)历史记录的起始日期。看来,这个属性并不包括在测试者的市场环境中,尽管它可能已经从服务器中保存下来。这是一个错误吗?我想不会。在测试开始后,测试人员不能访问服务器(通过终端)下载你需要的报价。所有可用的东西,在测试过程的初始化阶段已经被测试人员加载,测试序列已经形成,无法改变。而不是SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE),在你的情况下,我认为你可以使用SeriesInfoInteger(symbol,0,SERIES_FIRSTDATE), ,它应该在测试器中工作。
你能在servicedesk票据中附上一个源代码的例子吗?验证后,该代码将被删除。
最有可能的是关于长函数的问题,但你最好把代码发给我们,这样我们就可以研究一下并解决这个错误。它将帮助许多交易者。
好的,附上2个选项,有 "代码生成错误 "和 "树形优化错误"。onInit函数 真的很长(约1000行的生成代码)。
票号217917。
好的,附上2个带有 "代码生成错误 "和 "树形优化错误 "的变体。onInit函数 真的很长(约1000行的生成代码)。
第217917号票
据我所知,在测试之前,测试人员为所连接的账户(如果没有连接到服务器,则为最后一个连接的账户)创建一个市场环境,检查与服务器的数据同步(同样,如果有连接),上传测试开始日期的缺失报价(如果有连接),为所有必要的符号创建一个测试序列的报价,然后才开始测试。如果他没有设法下载必要的历史记录(例如,由于服务器上缺乏历史记录或由于没有与服务器连接),怎么办??它诚实地告诉你。不,你不必如此。
接下来,你要获得服务器上(在测试器中)历史记录的起始日期。看来,这个属性并不包括在测试者的市场环境中,尽管它可能已经从服务器上保存下来。这是一个错误吗?我想不会。在测试开始后,测试人员不能访问服务器(通过终端)下载你需要的报价。所有可用的东西,在测试过程的初始化阶段已经被测试人员加载,测试序列已经形成,无法改变。而不是SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE),在你的情况下,我认为你可以使用SeriesInfoInteger(symbol,0,SERIES_FIRSTDATE), ,它应该在测试器中工作。