错误、漏洞、问题 - 页 2952 1...294529462947294829492950295129522953295429552956295729582959...3184 新评论 Alexey Rassvetnyy 2021.02.03 06:20 #29511 Alexey Rassvetnyy:请修复这个错误。MQL5不允许使用一些内置枚举作为通用参数,例如:ENUM_CHART_PROPERTY_DOUBLE,ENUM_CHART_PROPERTY_STRING。自定义枚举和其他嵌入式枚举都没有问题。 问题的出现是因为这个枚举没有一个值为零的元素。我设法创建了自己的枚举,产生了这个编译错误。 #include <Generic\HashMap.mqh> enum TEST_ENUM { ENUM1, ENUM2 }; enum TEST_ENUM2 { //отсутствует элемент с номером 0 ENUM1=-10, ENUM2 }; void OnStart() { CHashMap<ENUM_CHART_PROPERTY_INTEGER,int> mapI; // эта срока комилируется без ошибок CHashMap<ENUM_CHART_PROPERTY_DOUBLE,double> mapD; // здесь ошибки компиляции: 'NULL' - cannot convert enum HashMap.mqh 21 39. 'NULL' - cannot convert enum HashMap.mqh 462 30 CHashMap<ENUM_CHART_PROPERTY_STRING,string> mapS; // здесь ошибки компиляции: 'NULL' - cannot convert enum HashMap.mqh 21 39. 'NULL' - cannot convert enum HashMap.mqh 462 30 CHashMap<TEST_ENUM,double> mapE; // эта срока комилируется без ошибок CHashMap<TEST_ENUM2,double> mapE2; // здесь ошибки компиляции: 'NULL' - cannot convert enum HashMap.mqh 21 39. 'NULL' - cannot convert enum HashMap.mqh 462 30 } DMITRII PECHERITSA 2021.02.03 10:19 #29512 Alexey Rassvetnyy:问题的出现是因为枚举中不包含一个空值的元素。我们已经设法创建了我们自己的枚举,它产生了这个编译错误。 在你的情况下,修复库文件将有助于 //+------------------------------------------------------------------+ //| fix HashMap.mqh | //| line 21 | was | Entry(void): key(NULL) {} | //| | now | Entry(void): key((TKey)NULL) {} | //| line 462 | was | m_entries[i].key=NULL; | //| | now | m_entries[i].key=(TKey)NULL; | //+------------------------------------------------------------------+ Alexey Rassvetnyy 2021.02.03 11:32 #29513 DMITRII PECHERITSA:在你的情况下,修复库文件将有助于 谢谢你,这很有效。 然而,如果我手工修改了一个支持MQ的文件,下一次更新将回滚我的修改。我们需要支持标准库 的开发者在整个标准库的代码中把NULL转为参数类型,或者收紧编译器,使NULL可以自动转为任何类型而不需要明确的指令。 DMITRII PECHERITSA 2021.02.03 12:54 #29514 Alexey Rassvetnyy:支持标准库 的开发者应该在整个标准库代码中把NULL投给参数类型,或者收紧编译器,使NULL自动投给任何类型而不需要明确的指令。 开发人员有一个原则:越简单越好。嗯,这不是汇编程序,所以你可以使用它。也许应该是这样的。 Ilyas 2021.02.04 09:36 #29515 DMITRII PECHERITSA:在你的情况下,修复库文件将有助于 谢谢你的留言。 在SB中做了这些更正 Stanislav Korotky 2021.02.04 11:07 #29516 Ilyas:谢谢你的留言。在SB中做了这些更正 不仅对键进行了纠正,对值也进行了纠正? Ilyas 2021.02.04 11:17 #29517 Stanislav Korotky:不仅对键进行了纠正,对值也进行了纠正? 是的,也是为了价值 fxsaber 2021.02.04 11:24 #29518 Ilyas: 调试器在显示一个结构的内容时,是否有可能能够从观察到的字段中删除一些字段? 有几个大型建筑。你需要用你的眼睛通过五个领域进行比较。它不起作用。 Vadim Lin 2021.02.04 13:18 #29519 日安!请帮助我解决这个问题。 在MT5-advisor中发送和检查交易请求之前,我使用了type_filling 定义的以下变体。 // тип FILLING int SYMBOL_FILLING = (int)SymbolInfoInteger(iNameSymbol, SYMBOL_FILLING_MODE); switch(SYMBOL_FILLING) { case SYMBOL_FILLING_FOK: iЗапрос.type_filling = ORDER_FILLING_FOK; break; case SYMBOL_FILLING_IOC: iЗапрос.type_filling = ORDER_FILLING_IOC; break; default: iЗапрос.type_filling = ORDER_FILLING_RETURN; break; } 但我面临的事实是,这种结构并非对所有账户和所有经纪人都有效,在通过OrderCheck检查准备好的请求后,出现了错误10030(指定了不支持的 订单执行类型 的余额)。在这种情况下,SYMBOL_FILLING=3,并且选择了ORDER_FILLING_RETURN类型。 我不使用任何外部库(如 CTrade)。请帮助我或指导我在哪里可以得到我问题的答案。 提前感谢! Stanislav Korotky 2021.02.04 14:11 #29520 fxsaber:调试器在显示一个结构的内容时,是否有可能能够从观察到的字段中删除一些字段?有几个大型建筑。你需要用你的眼睛通过五个领域进行比较。它不起作用。 最好的方法是在源码中鼠标移动时显示任何变量的值--这样你就不需要在观察列表中添加任何东西,而且任何嵌套 的字段都可以使用,不需要一连串的取消引用(和邻近的字段)。 1...294529462947294829492950295129522953295429552956295729582959...3184 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
请修复这个错误。MQL5不允许使用一些内置枚举作为通用参数,例如:ENUM_CHART_PROPERTY_DOUBLE,ENUM_CHART_PROPERTY_STRING。
自定义枚举和其他嵌入式枚举都没有问题。
问题的出现是因为这个枚举没有一个值为零的元素。我设法创建了自己的枚举,产生了这个编译错误。
问题的出现是因为枚举中不包含一个空值的元素。我们已经设法创建了我们自己的枚举,它产生了这个编译错误。
在你的情况下,修复库文件将有助于
在你的情况下,修复库文件将有助于
谢谢你,这很有效。
然而,如果我手工修改了一个支持MQ的文件,下一次更新将回滚我的修改。我们需要支持标准库 的开发者在整个标准库的代码中把NULL转为参数类型,或者收紧编译器,使NULL可以自动转为任何类型而不需要明确的指令。
支持标准库 的开发者应该在整个标准库代码中把NULL投给参数类型,或者收紧编译器,使NULL自动投给任何类型而不需要明确的指令。
开发人员有一个原则:越简单越好。嗯,这不是汇编程序,所以你可以使用它。也许应该是这样的。
在你的情况下,修复库文件将有助于
谢谢你的留言。
在SB中做了这些更正
谢谢你的留言。
在SB中做了这些更正
不仅对键进行了纠正,对值也进行了纠正?
不仅对键进行了纠正,对值也进行了纠正?
是的,也是为了价值
调试器在显示一个结构的内容时,是否有可能能够从观察到的字段中删除一些字段?
有几个大型建筑。你需要用你的眼睛通过五个领域进行比较。它不起作用。
日安!请帮助我解决这个问题。
在MT5-advisor中发送和检查交易请求之前,我使用了type_filling 定义的以下变体。
但我面临的事实是,这种结构并非对所有账户和所有经纪人都有效,在通过OrderCheck检查准备好的请求后,出现了错误10030(指定了不支持的 订单执行类型 的余额)。在这种情况下,SYMBOL_FILLING=3,并且选择了ORDER_FILLING_RETURN类型。
我不使用任何外部库(如 CTrade)。请帮助我或指导我在哪里可以得到我问题的答案。
提前感谢!
调试器在显示一个结构的内容时,是否有可能能够从观察到的字段中删除一些字段?
有几个大型建筑。你需要用你的眼睛通过五个领域进行比较。它不起作用。
最好的方法是在源码中鼠标移动时显示任何变量的值--这样你就不需要在观察列表中添加任何东西,而且任何嵌套 的字段都可以使用,不需要一连串的取消引用(和邻近的字段)。