错误、漏洞、问题 - 页 2648 1...264126422643264426452646264726482649265026512652265326542655...3184 新评论 Сергей Проценко 2020.02.17 11:07 #26471 Vladimir Karputov: 点击其中一栏的标题:符号、票据、时间。 用你的左手键点击。 它起作用了,谢谢你,我以前关闭过几次错误的配对。 [删除] 2020.02.17 11:37 #26472 Сергей Проценко: 根据利润情况,如果利润较高,就往下走,另一个订单的利润较高,就调换位置。如果欧元的利润高于黄金的利润,欧元的订单将在底部,而黄金的订单将在其上方。 您已按利润排序。选择一个不同的排序标准。 Sergey Dzyublik 2020.02.17 11:48 #26473 fxsaber : 你能告诉我如何绕过一个编译错误 吗? 这并不像它看起来那么复杂。 #define PRINT(x) ; Print ( #x, ":" , string (x)) struct STRUCT_BASE { static const int Array[]; }; static const int STRUCT_BASE::Array[] = { 1 , 2 }; struct STRUCT : STRUCT_BASE { int Array2[ sizeof (Array)]; }; void OnStart () { static const int Array[] = { 1 , 2 }; int Array2[ sizeof (Array)]; PRINT( ArraySize (Array)); //2 PRINT( ArraySize (Array2)); //8 STRUCT s; PRINT( ArraySize (s.Array)); //2 PRINT( ArraySize (s.Array2)); //8 } fxsaber 2020.02.17 12:15 #26474 Sergey Dzyublik: 这并不像它看起来那么复杂。 谢谢你,我还没来得及说到基本的那个。 Stanislav Korotky 2020.02.17 15:07 #26475 无法检查代码库,找不到主文件,但它是存在的。请找出原因(如果版主可以)。我正在考虑回到博客上发表文章--那里没有这样的问题。 fxsaber 2020.02.17 15:18 #26476 Stanislav Korotky: 我无法检查代码库,它说找不到主文件,但它就在那里。请找出原因(如果版主可以)。我正在考虑回到博客上发表文章--那里没有这样的麻烦。 将mq5放在 "默认 "文件夹中。 Sergey Dzyublik 2020.02.17 16:58 #26477 有两个关于MT5编译器(build 2321)的问题。 #define PRINT(x) ; Print(#x, ":", string(x)) #ifdef __cplusplus #include<iostream> #endif template<typename T> class A{ }; template<typename T> class B : public A<T>{ }; template<typename T> void func(B<T> &it1){ printf("C++:1"); //MQL:2 } ////ERRROR: 'func' - template functions overloading is not supported yet //template<typename T> //void func(T &it1){ // printf("C++:2"); //} template<typename T> void func(T &it1, T* = NULL){ printf("C++:2"); //MQL:1 } template<typename T> void func(A<T> &it1){ printf("C++:3"); //MQL:3 } void OnStart(){ B<int> b; func(b); } int main(){ OnStart(); return 0; } 1.MQL中执行模板函数的优先级与C++中的模板函数不一致(在线:https://onlinegdb.com/Hkvz8Hu7L)。 所以在C++中,当三个模板函数都存在时,结果为 "C++:1 "的模板函数被执行,如果它被删除,则 "C++:2 "被执行,如果它被删除,则 "C++:3 "被执行。 MQL中的优先级是相当不同的:"C++:2",其次是 "C++:1 "和 "C++:3"。 不清楚为什么第一个函数在MQL中被禁止,而带有假参数的相同函数已经被允许。 //ERRROR: 'func' - template functions overloading is not supported yet template<typename T> void func(T &it1){ printf("C++:2"); } // OK template<typename T> void func(T &it1, T* = NULL){ printf("C++:2"); } Vladislav Andruschenko 2020.02.17 17:41 #26478 大家好。 有人遇到过测试多币种 机器人的问题吗? 是否正在下载EA所需的所有货币对? 我试图测试两个货币对,例如EURUSD GBPUSD。 如果我在EURUSD上测试(测试EURUSD GBPUSD)--结果是1。 如果我们在GBPUSD上测试(测试EURUSD GBPUSD),结果是2,即不同的 如果我们测试USDCHF(测试EURUSD GBPUSD)--结果是3,也就是不同的 结果没有什么不同,几十笔交易(在2个月内),但每个货币对的结果都不同(尽管我们测试了某些欧元兑英镑兑美元货币对)。 我马上就会假设:整个代码是通过变量Symb工作的,它从循环中获取Symbol()。即单一的代码,但在代码里面给Symb变量分配了它自己的值。 可能是这样的,由于不同货币对的报价、点数、历史质量不同(欧元兑美元和英镑兑美元总是被测试),不同货币对的测试结果也不同? I.e. 会不会是对欧元兑美元进行了测试,而对英镑兑美元则需要更少的报价? и 有没有可能是为GBPUSD设置的测试,而为EURUSD下载的报价较少? Stanislav Korotky 2020.02.17 20:59 #26479 fxsaber: 将mq5放在 "默认 "文件夹中。 我很清楚,主模块应该是没有文件夹的--它是,他们自己通过下拉下载按钮右侧的选项 "完成 "的默认文件夹。 它不起作用。 Sergey Dzyublik 2020.02.17 20:59 #26480 在C++中,它可以编译和工作(在线:https://onlinegdb.com/Syn90dd7I),但在MQL中,错误:"'func'--对重载函数的模糊调用" #define PRINT(x) ; Print(#x, ":", string(x)) #ifdef __cplusplus #include<iostream> #endif template<typename T> class A{ }; template<typename T> class B : public A<T>{ }; template<typename T> class C : public B<T>{ }; template<typename T> void func(B<T> &it1){ printf("C++:1"); } template<typename T> void func(A<T> &it1){ printf("C++:2"); } void OnStart(){ C<int> c; func(c); //ERROR: 'func' - ambiguous call to overloaded function } int main(){ OnStart(); return 0; } 1...264126422643264426452646264726482649265026512652265326542655...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
点击其中一栏的标题:符号、票据、时间。
用你的左手键点击。
根据利润情况,如果利润较高,就往下走,另一个订单的利润较高,就调换位置。如果欧元的利润高于黄金的利润,欧元的订单将在底部,而黄金的订单将在其上方。
您已按利润排序。选择一个不同的排序标准。
你能告诉我如何绕过一个编译错误 吗?
这并不像它看起来那么复杂。
这并不像它看起来那么复杂。
谢谢你,我还没来得及说到基本的那个。
我无法检查代码库,它说找不到主文件,但它就在那里。请找出原因(如果版主可以)。我正在考虑回到博客上发表文章--那里没有这样的麻烦。
将mq5放在 "默认 "文件夹中。
有两个关于MT5编译器(build 2321)的问题。
1.MQL中执行模板函数的优先级与C++中的模板函数不一致(在线:https://onlinegdb.com/Hkvz8Hu7L)。
所以在C++中,当三个模板函数都存在时,结果为 "C++:1 "的模板函数被执行,如果它被删除,则 "C++:2 "被执行,如果它被删除,则 "C++:3 "被执行。
MQL中的优先级是相当不同的:"C++:2",其次是 "C++:1 "和 "C++:3"。
不清楚为什么第一个函数在MQL中被禁止,而带有假参数的相同函数已经被允许。
大家好。
有人遇到过测试多币种 机器人的问题吗?
是否正在下载EA所需的所有货币对?
我试图测试两个货币对,例如EURUSD GBPUSD。
如果我在EURUSD上测试(测试EURUSD GBPUSD)--结果是1。
如果我们在GBPUSD上测试(测试EURUSD GBPUSD),结果是2,即不同的
如果我们测试USDCHF(测试EURUSD GBPUSD)--结果是3,也就是不同的
结果没有什么不同,几十笔交易(在2个月内),但每个货币对的结果都不同(尽管我们测试了某些欧元兑英镑兑美元货币对)。
我马上就会假设:整个代码是通过变量Symb工作的,它从循环中获取Symbol()。即单一的代码,但在代码里面给Symb变量分配了它自己的值。
可能是这样的,由于不同货币对的报价、点数、历史质量不同(欧元兑美元和英镑兑美元总是被测试),不同货币对的测试结果也不同?
I.e.
会不会是对欧元兑美元进行了测试,而对英镑兑美元则需要更少的报价?
и
有没有可能是为GBPUSD设置的测试,而为EURUSD下载的报价较少?
将mq5放在 "默认 "文件夹中。
我很清楚,主模块应该是没有文件夹的--它是,他们自己通过下拉下载按钮右侧的选项 "完成 "的默认文件夹。
它不起作用。