到底发生了什么事? - 页 2 12345678910 新评论 Rorschach 2020.05.09 17:24 #11 我有一个不同的技巧。顾问在每个小时的开盘时放出卖盘。对于欧元,它可以正常工作,但对于自定义符号,不清楚如何 在视觉模式下,一些蜡烛图丢失了 附加的文件: MySymbol.mq5 4 kb Test.mq5 2 kb Edgar Akhmadeev 2020.05.09 20:31 #12 Сергей Таболин: 这又是关于测试仪/优化器... 注意到优化和单一测试的结果存在差异。重新启动了终端,改变了设置(以确定)。开始优化。 进行了一次测试... 怎么可能呢?这些胡言乱语从何而来? 这也是同样的方式。在优化过程之间,变量并不总是或不是全部按照单次优化前的方式进行初始化。我开始初始化一切,问题就消失了。 另一次,我有一个类似的问题,因为iSAR,在最小的步骤。 Andrey Kaunov 2020.05.09 22:00 #13 一位客户遇到了一个问题。他的专家顾问在测试器中进行测试并给出结果,但在优化器中所有的运行都是空的。 他的专家顾问在开仓交易方面的算法是基于从按钮上读出的标题,根据情况而改变。由于图形对象在优化过程中不被渲染,这个请求总是导致一个负面的结果。 如果你的专家顾问的算法使用图形对象的数据,测试和优化之间也会有明显的差异。 Алексей Тарабанов 2020.05.09 22:59 #14 Сергей Таболин: 怎么说呢?两者都是一样的。怎么会有区别呢?特别是由于几乎所有的数据都是在循环中初始化的。如果那里的东西没有被初始化,你会得到一个错误。 如果你可以的话--请详细说明。我希望看到循环中的初始化。我要把它给我的孙女看。 Алексей Тарабанов 2020.05.09 23:11 #15 永远不要再这样做。 Andrey Dik 2020.05.10 01:40 #16 Алексей Тарабанов: 如果可能,请提供更多细节。我希望看到循环中的初始化。我要把它给我的孙女看。 int sum = 0; for () sum = 0; for () sum += .... 或者更好的是,你的孙女不会理解其中的含义。 int sum; for () sum = 0; for () sum += .... [删除] 2020.05.10 11:44 #17 Andrey Barinov: 你只需要忘记在你的代码中初始化一些东西,就会有区别。检查代码。 再次检查了所有东西--所有变量都被初始化了。 @Andrey Kaunov, 谢谢,但我根本不使用任何图形对象。 阿列克谢-塔拉巴诺夫。 如果你可以的话--请详细说明。我希望看到循环中的初始化。我要把它给我的孙女看。 为了上帝的爱 ))))我做得有点过头了--当然不是全部,但只有指标手柄 )))) int ind_handle[]; int OnInit() { ........... if(!nc_getHandles()) return(INIT_FAILED); ........... } //+------------------------------------------------------------------+ bool nc_getHandles(void) { ind_nums = ArraySize(indicators); ArrayResize(ind_handle, ind_nums); for(int i = 0; i < ind_nums; i++) { ind_handle[i] = iCustom(Symbol(), Period(), folder+indicators[i]); if(ind_handle[i] == INVALID_HANDLE) { Print("Ошибка получения хандла индикатора >>> "+indicators[i]); writeErrorFile(program_name,program_version,"Ошибка получения хандла индикатора >>> "+indicators[i]); return(false); } } Print("Получены хэндлы всех индикаторов >> ",ArraySize(indicators)); //----------------------------------- return(true); } [删除] 2020.05.10 12:01 #18 现在进入正题。 彻底清除了所有的日志和缓存。 启动编辑器,重新编译专家顾问。 打开了终端。 开始进行遗传优化。 等待着... 运行一个单一的测试。 我检查参数是否正确--它们被正确传递。 我打开回溯测试标签。 利润 - 697 / 247 交易 - 44 / 56。 我现在要收集日志,并附上它们。 附加的文件: mt5logs.zip 288 kb Renat Fatkhullin 2020.05.10 13:38 #19 查阅代码,并试图弄清楚在优化范围内的事务会发生什么,并进行一次走查。 取消打印,自己放在一个文件里。 这是关于你的程序内部的逻辑。除了你,没有人可以看到,因此不会有任何帮助。 [删除] 2020.05.10 16:56 #20 Renat Fatkhullin: 查阅代码,并试图弄清楚在优化范围内的事务会发生什么,并进行一次走查。 取消打印,自己放在一个文件里。 这是关于你的程序内部的逻辑。除了你,没有人可以看到,因此不会有任何帮助。 雷纳特,谢谢你。但请解释一下,谁不知道优化器中的2*2+2*3和单通道的区别?至少给我一个提示,到底哪里可能存在差异? 好吧,既然你提到了,请告诉我在哪里以及如何找到策略测试器中的EA和真实账户 中的差异。 我,也许是出于我自己的愚蠢,总是认为写好的代码(无论它是否有错误,无论它是否被优化),是被编译过的,因此,无论是在优化器中,还是在测试器中,还是在真正的账户上,它都应该同样工作...... 那么,站在一个普通程序员的立场上--在这三种状态下,我们应该在哪里、如何以及通过什么方式来寻找一个(编译的)代码在执行中的任何不明确的差异? 我,作为一个用户,只看到一个可执行文件在优化器和测试器中的工作方式不一样,这意味着在现实生活中,它的工作方式也是一样的 ..... 我想到了一个问题,如果你在测试一个EA,而它是...好吧,这不是好事。如果我用它来做真实的交易呢?如果它是圣杯呢?)))) 12345678910 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我有一个不同的技巧。顾问在每个小时的开盘时放出卖盘。对于欧元,它可以正常工作,但对于自定义符号,不清楚如何
在视觉模式下,一些蜡烛图丢失了
这又是关于测试仪/优化器...
注意到优化和单一测试的结果存在差异。重新启动了终端,改变了设置(以确定)。开始优化。
进行了一次测试...
怎么可能呢?这些胡言乱语从何而来?
这也是同样的方式。在优化过程之间,变量并不总是或不是全部按照单次优化前的方式进行初始化。我开始初始化一切,问题就消失了。
另一次,我有一个类似的问题,因为iSAR,在最小的步骤。
一位客户遇到了一个问题。他的专家顾问在测试器中进行测试并给出结果,但在优化器中所有的运行都是空的。
他的专家顾问在开仓交易方面的算法是基于从按钮上读出的标题,根据情况而改变。由于图形对象在优化过程中不被渲染,这个请求总是导致一个负面的结果。
如果你的专家顾问的算法使用图形对象的数据,测试和优化之间也会有明显的差异。
怎么说呢?两者都是一样的。怎么会有区别呢?特别是由于几乎所有的数据都是在循环中初始化的。如果那里的东西没有被初始化,你会得到一个错误。
如果你可以的话--请详细说明。我希望看到循环中的初始化。我要把它给我的孙女看。
如果可能,请提供更多细节。我希望看到循环中的初始化。我要把它给我的孙女看。
或者更好的是,你的孙女不会理解其中的含义。
你只需要忘记在你的代码中初始化一些东西,就会有区别。检查代码。
再次检查了所有东西--所有变量都被初始化了。
@Andrey Kaunov, 谢谢,但我根本不使用任何图形对象。
如果你可以的话--请详细说明。我希望看到循环中的初始化。我要把它给我的孙女看。
为了上帝的爱 ))))我做得有点过头了--当然不是全部,但只有指标手柄 ))))
现在进入正题。
彻底清除了所有的日志和缓存。
启动编辑器,重新编译专家顾问。
打开了终端。
开始进行遗传优化。
等待着...
运行一个单一的测试。
我检查参数是否正确--它们被正确传递。
我打开回溯测试标签。
利润 - 697 / 247
交易 - 44 / 56。
我现在要收集日志,并附上它们。
查阅代码,并试图弄清楚在优化范围内的事务会发生什么,并进行一次走查。
取消打印,自己放在一个文件里。
这是关于你的程序内部的逻辑。除了你,没有人可以看到,因此不会有任何帮助。
查阅代码,并试图弄清楚在优化范围内的事务会发生什么,并进行一次走查。
取消打印,自己放在一个文件里。
这是关于你的程序内部的逻辑。除了你,没有人可以看到,因此不会有任何帮助。
雷纳特,谢谢你。但请解释一下,谁不知道优化器中的2*2+2*3和单通道的区别?至少给我一个提示,到底哪里可能存在差异?
好吧,既然你提到了,请告诉我在哪里以及如何找到策略测试器中的EA和真实账户 中的差异。
我,也许是出于我自己的愚蠢,总是认为写好的代码(无论它是否有错误,无论它是否被优化),是被编译过的,因此,无论是在优化器中,还是在测试器中,还是在真正的账户上,它都应该同样工作......
那么,站在一个普通程序员的立场上--在这三种状态下,我们应该在哪里、如何以及通过什么方式来寻找一个(编译的)代码在执行中的任何不明确的差异?
我,作为一个用户,只看到一个可执行文件在优化器和测试器中的工作方式不一样,这意味着在现实生活中,它的工作方式也是一样的 .....
我想到了一个问题,如果你在测试一个EA,而它是...好吧,这不是好事。如果我用它来做真实的交易呢?如果它是圣杯呢?))))