错误、漏洞、问题 - 页 2672 1...266526662667266826692670267126722673267426752676267726782679...3184 新评论 Igor Makanu 2020.03.12 20:36 #26711 fxsaber: 只有opt文件中的数据。格式是可用的。 我不想从文件中读取,我已经做了我想要的东西--唯一的文件名--MD5输入参数,像这样。 string getMD5(const SSaveStruct &inpstr) { const uchar key[1]= {0}; uchar data[],md5[]; StructToCharArray(inpstr,data); CryptEncode(CRYPT_HASH_MD5, data, key, md5); string result = ""; for(int i = 0; i < ArraySize(md5); i++) result += StringFormat("%02x", md5[i]); return(result); } void SaveInputParam() { SSaveStruct savestruct; FillSaveStruct(savestruct); string fname = "EA_TST//" + getMD5(savestruct) + ".bin"; int handle = FileOpen(fname,FILE_WRITE|FILE_COMMON|FILE_BIN); FileWriteStruct(handle,savestruct); } double OnTester() { if(!IS_OPTIMIZATION) { SSaveStruct savestruct; FillSaveStruct(savestruct); Print("fname = " + getMD5(savestruct)); return(AccountInfoDouble(ACCOUNT_BALANCE)); } #define BADTEST() { srand((int)TimeCurrent()); return (-(rand() % 1000)); } if(EA_STOP || TesterStatistics(STAT_TRADES) < EA_MIN_TRADEES) BADTEST(); SaveInputParam(); return(AccountInfoDouble(ACCOUNT_BALANCE)); #undef BADTEST } 文件被写入,在一个单一的通道中,我看到文件名:fname = 04a19580d36f0a749143211b57efbebc 代码有点重复,但为了在测试不成功的情况下不在优化器结构中填写输入参数 ....但我可能会重写,这不是很好的代码,我不明白为什么我这样做)))。 Slava 2020.03.13 06:08 #26712 Igor Makanu: 是否有可能从测试员代理那里得到通行证号码? HH:或者需要一个独特的标识符,从测试期间的每一次通过的文件名--我想把测试期间感兴趣的EA的设置保存在文件中,但需要一些独特的东西来形成一个带有设置的文件名。 通行证号码可以是1024位。 当你在那一行已经有一组参数时,为什么还需要一个通行证号码? Slava 2020.03.13 06:10 #26713 Igor Makanu: 我不想从测试器中读取文件,我想我已经做了我想要的东西--唯一的文件名--输入参数的MD5,关于这一点。 文件被写入,在一个单一的通道中,我看到文件名:fname = 04a19580d36f0a749143211b57efbebc 代码有点重复,但为了在测试不成功的情况下不在优化器结构中填写输入参数 ....但我可能会重写,这不是很好的代码,我不会明白为什么我这样做)))。 输入参数的MD5已经被计算出来,并在opt文件的通过记录中。 Igor Makanu 2020.03.13 08:46 #26714 Slava: 如果你在这一行已经有一组参数,为什么还需要一个通行证号码? 我想立即将成功的优化器传递重置为EA设置文件,并在启动EA时自动加载一个.bin文件,而不是.set--这对于同时操作几个TC是必要的。 斯拉瓦。 输入参数的MD5已经被计算出来了,并且在opt文件的通过记录中。 我为优化的速度奋斗了近3个月,我想我已经实现了,所以有一个反问。 这是更快的。 1.从优化器中读取带有MD5的opt-file ? 2.或用我的MD5代码进行计算 我怀疑它的计算速度更快,特别是由于所有的输入参数在代码内部都是作为一个结构数组使用的(我优化了大约40个参数)。 Slava 2020.03.13 09:16 #26715 Igor Makanu: 我想立即将成功的优化器传递重置为EA设置文件,并在启动EA时自动加载一个.bin文件,而不是.set--这对于同时操作几个TC是必要的。 我为优化的速度奋斗了近3个月,我想我已经实现了,所以有一个反问。 这是更快的。 1.从优化器中读取带有MD5的opt-file ? 2.或用我的MD5代码进行计算 我怀疑它的计算速度更快,特别是由于所有的输入参数在代码内部都是作为一个结构数组使用的(我优化了大约40个参数)。 MD5的计算速度更快。 如果你将来不打算使用opt-file,计算MD5 如果你要使用它,最好使用已经计算好的MD5,因为你的计算结果可能(也可能不会)与我们的计算结果一致。 Igor Makanu 2020.03.13 09:53 #26716 Slava: MD5的读取速度更快。 如果你不打算在未来使用opt-file,请阅读MD5 如果你要使用,最好使用已经计算好的MD5,因为你的计算结果可能与我们的不一致(而且很可能不一致)。 谢谢你! 不打算使用opt-file SZS: 几周前,我想从一个测试器中初始化MathSrand()https://www.mql5.com/ru/forum/1111/page2657#comment_15165819 在测试员代理中获得带有MD5的Uchar[](井或字符串)也不错--它是唯一的值,你可以初始化MathSrand(),这里我想要唯一的文件名,在TesterStatistics()中给出你的MD5。 Ilyas 2020.03.13 12:33 #26717 Sergey Dzyublik: Bug MT5(build 2323),同一个模板对象B<int>可以在B<void*>类的对象之后创建,但如果在之前创建,会发生编译错误。 可能原因是在模板类生成器的缓存中。 谢谢你的帖子,已修复 Aliaksandr Hryshyn 2020.03.13 13:37 #26718 你是如何使用宏的? 恐怖。一个编译时的错误。 小脚本。 void OnStart() { #define m 1000; ulong n_yes=3*m; //Тут всё хорошо ulong n_no=(3*m); //Тут ошибка: ';' - unexpected token test2.mq5 27 18 } Build 2361,目前是最新的。 Igor Makanu 2020.03.13 13:42 #26719 Aliaksandr Hryshyn: 你是如何使用宏的? 这就是我们的使用方法#define m 1000; Aliaksandr Hryshyn 2020.03.13 13:48 #26720 Igor Makanu: 这就是我们的使用方法 这里的区别是有括号。 1...266526662667266826692670267126722673267426752676267726782679...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
只有opt文件中的数据。格式是可用的。
我不想从文件中读取,我已经做了我想要的东西--唯一的文件名--MD5输入参数,像这样。
文件被写入,在一个单一的通道中,我看到文件名:fname = 04a19580d36f0a749143211b57efbebc
是否有可能从测试员代理那里得到通行证号码?
HH:或者需要一个独特的标识符,从测试期间的每一次通过的文件名--我想把测试期间感兴趣的EA的设置保存在文件中,但需要一些独特的东西来形成一个带有设置的文件名。
通行证号码可以是1024位。
当你在那一行已经有一组参数时,为什么还需要一个通行证号码?
我不想从测试器中读取文件,我想我已经做了我想要的东西--唯一的文件名--输入参数的MD5,关于这一点。
文件被写入,在一个单一的通道中,我看到文件名:fname = 04a19580d36f0a749143211b57efbebc
输入参数的MD5已经被计算出来,并在opt文件的通过记录中。
如果你在这一行已经有一组参数,为什么还需要一个通行证号码?
我想立即将成功的优化器传递重置为EA设置文件,并在启动EA时自动加载一个.bin文件,而不是.set--这对于同时操作几个TC是必要的。
输入参数的MD5已经被计算出来了,并且在opt文件的通过记录中。
我为优化的速度奋斗了近3个月,我想我已经实现了,所以有一个反问。
这是更快的。
1.从优化器中读取带有MD5的opt-file ?
2.或用我的MD5代码进行计算
我怀疑它的计算速度更快,特别是由于所有的输入参数在代码内部都是作为一个结构数组使用的(我优化了大约40个参数)。
我想立即将成功的优化器传递重置为EA设置文件,并在启动EA时自动加载一个.bin文件,而不是.set--这对于同时操作几个TC是必要的。
我为优化的速度奋斗了近3个月,我想我已经实现了,所以有一个反问。
这是更快的。
1.从优化器中读取带有MD5的opt-file ?
2.或用我的MD5代码进行计算
我怀疑它的计算速度更快,特别是由于所有的输入参数在代码内部都是作为一个结构数组使用的(我优化了大约40个参数)。
MD5的计算速度更快。
如果你将来不打算使用opt-file,计算MD5
如果你要使用它,最好使用已经计算好的MD5,因为你的计算结果可能(也可能不会)与我们的计算结果一致。
MD5的读取速度更快。
如果你不打算在未来使用opt-file,请阅读MD5
如果你要使用,最好使用已经计算好的MD5,因为你的计算结果可能与我们的不一致(而且很可能不一致)。
谢谢你!
不打算使用opt-file
SZS: 几周前,我想从一个测试器中初始化MathSrand()https://www.mql5.com/ru/forum/1111/page2657#comment_15165819
在测试员代理中获得带有MD5的Uchar[](井或字符串)也不错--它是唯一的值,你可以初始化MathSrand(),这里我想要唯一的文件名,在TesterStatistics()中给出你的MD5。
Bug MT5(build 2323),同一个模板对象B<int>可以在B<void*>类的对象之后创建,但如果在之前创建,会发生编译错误。
可能原因是在模板类生成器的缓存中。
谢谢你的帖子,已修复
你是如何使用宏的?
恐怖。一个编译时的错误。
小脚本。
Build 2361,目前是最新的。你是如何使用宏的?
这就是我们的使用方法
这里的区别是有括号。