错误、漏洞、问题 - 页 2414 1...240724082409241024112412241324142415241624172418241924202421...3184 新评论 Slava 2019.03.25 20:00 #24131 Andrey Pogoreltsev:如果你在多货币中使用CSymbolInfo,它在初始化的时候被Name方法调用。 在测试期间,USDCAD符号会出现错误。 测试期间的存款货币 是什么? Andrey Pogoreltsev 2019.03.26 06:03 #24132 Slava:测试时存款的货币 是什么?美元。欧元兑美元M1测试对。我将尝试在裸体EA中重现它。到目前为止,它还没有成功。但正是这些方法导致了日志中的错误,而且正好是一对。 Andrey Pogoreltsev 2019.03.26 06:29 #24133 Slava:测试时存款的货币 是什么?一般都是转载,发现了一个特点。附上测试设置。 裸露的专家顾问代码本身。 #include <Trade\SymbolInfo.mqh> int OnInit() { //--- CSymbolInfo info; info.Name("EURCHF.m"); info.Refresh(); info.Name("EURJPY.m"); info.Refresh(); info.Name("EURUSD.m"); info.Refresh(); info.Name("EURGBP.m"); info.Refresh(); info.Name("USDCAD.m"); info.Refresh(); //--- return(INIT_SUCCEEDED); } 现在是 "功能",正如承诺的那样)如果你像这样使用Name()。 if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_VALUE,m_tick_value)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_VALUE_PROFIT,m_tick_value_profit)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_VALUE_LOSS,m_tick_value_loss)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_SIZE,m_tick_size)) return(false); 则会出现错误。但这样一来,错误就消失了。 if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_SIZE,m_tick_size)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_VALUE,m_tick_value)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_VALUE_PROFIT,m_tick_value_profit)) return(false); if(!SymbolInfoDouble(m_name,SYMBOL_TRADE_TICK_VALUE_LOSS,m_tick_value_loss)) return(false); PS。我的cent上有以".m "为前缀命名的配对。这个例子也适用于普通对。 附加的文件: test.png 11 kb Slava 2019.03.26 06:34 #24134 Andrey Pogoreltsev:总之,转载后发现了一个特点。我已经附上了测试设置。谢谢你。理解它 Evgenii Kuznetsov 2019.03.26 08:00 #24135 Bug MT5 build 2007。在优化模式 下,输入字符串被截断为63个字符。 测试的代码。 #property strict sinput string symbols = "AUDUSD,EURGBP,EURUSD,GBPAUD,GBPCAD,GBPCHF,GBPJPY,GBPNZD,GBPUSD,NZDUSD,USDCAD,USDCHF,USDJPY"; input bool fortestopt = false; int OnInit(){ Print("!!! ",StringLen(symbols)," | ",symbols); return INIT_FAILED; } void OnTick(){} 单次运行一切正常: !90 | Audusd,eurgbp,eurusd,gbpaud,gbpcad,gbpchf,gbpjpy,gbpnzd,gbpusd,nzdusd,usdcad,usdchf,usdjpy 让我们通过fortestopt参数设置优化,让我们去看代理的日志: !63 | Audusd,eurgbp,eurusd,gbpaud,gbpcad,gbpchf,gbpjpy,gbpnzd,gbpusd。 Sergey Lobov 2019.03.26 08:24 #24136 有谁想知道... 我在我的页面上看不到新闻联播...以前进去可以看到谁发了什么,现在是空白页......我没有在设置中改变任何东西...... Alexey Navoykov 2019.03.26 08:26 #24137 编译器错误,会产生歧义错误,尽管这里的一切都很明确。第一个方法应该被调用为最合适的方法。在C++中测试。 class A { }; class B { A _a[]; public: A * operator[](uint i) { return &_a[i]; } const A * operator[](uint i) const { return &_a[i]; } }; void OnStart() { B b; b[0]; // 'operator[]' - ambiguous call to overloaded function } Slava 2019.03.26 10:39 #24138 Evgenii Kuznetsov:Bug MT5 build 2007。在优化模式 下,输入字符串被截断为63个字符。 测试的代码。 单次运行一切正常: !90 | Audusd,eurgbp,eurusd,gbpaud,gbpcad,gbpchf,gbpjpy,gbpnzd,gbpusd,nzdusd,usdcad,usdchf,usdjpy 让我们通过fortestopt参数设置优化,让我们去看代理的日志: !63 | Audusd,eurgbp,eurusd,gbpaud,gbpcad,gbpchf,gbpjpy,gbpnzd,gbpusd。事实上,它在一次测试中也没有切到63个字符,这只是一种侥幸。 输入参数类型字符串的长度不得超过63个字符(连同空结尾64个)。 Stanislav Korotky 2019.03.26 14:02 #24139 Slava:事实上,它在单次测试中也没有削减到63个字符,这只是一种侥幸。 字符串类型的输入参数的长度不应超过63个字符(连同空结尾64个)。这是某种严酷的限制。在今天的时代,这样做的理由是什么?那么如何方便地指定一串字符的簇呢?绘制一打不同的参数?它是否方便? Vitaly Muzichenko 2019.03.26 14:27 #24140 Slava:单一测试没有截断到63个字符的事实只是一个意外。 字符串类型的输入参数的长度不得超过63个字符(连同空尾巴一起为64个)。这种限制是不恰当的,我们不是把一公斤土豆的价格写进字符串。 1...240724082409241024112412241324142415241624172418241924202421...3184 新评论 原因: 取消 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
如果你在多货币中使用CSymbolInfo,它在初始化的时候被Name方法调用。
在测试期间,USDCAD符号会出现错误。
测试期间的存款货币 是什么?
测试时存款的货币 是什么?
美元。欧元兑美元M1测试对。我将尝试在裸体EA中重现它。到目前为止,它还没有成功。但正是这些方法导致了日志中的错误,而且正好是一对。
测试时存款的货币 是什么?
一般都是转载,发现了一个特点。附上测试设置。
裸露的专家顾问代码本身。
现在是 "功能",正如承诺的那样)如果你像这样使用Name()。
则会出现错误。但这样一来,错误就消失了。
PS。我的cent上有以".m "为前缀命名的配对。这个例子也适用于普通对。
总之,转载后发现了一个特点。我已经附上了测试设置。
谢谢你。理解它
Bug MT5 build 2007。在优化模式 下,输入字符串被截断为63个字符。
测试的代码。
单次运行一切正常: !90 | Audusd,eurgbp,eurusd,gbpaud,gbpcad,gbpchf,gbpjpy,gbpnzd,gbpusd,nzdusd,usdcad,usdchf,usdjpy
让我们通过fortestopt参数设置优化,让我们去看代理的日志: !63 | Audusd,eurgbp,eurusd,gbpaud,gbpcad,gbpchf,gbpjpy,gbpnzd,gbpusd。
有谁想知道...
我在我的页面上看不到新闻联播...以前进去可以看到谁发了什么,现在是空白页......我没有在设置中改变任何东西......
编译器错误,会产生歧义错误,尽管这里的一切都很明确。第一个方法应该被调用为最合适的方法。在C++中测试。
Bug MT5 build 2007。在优化模式 下,输入字符串被截断为63个字符。
测试的代码。
单次运行一切正常: !90 | Audusd,eurgbp,eurusd,gbpaud,gbpcad,gbpchf,gbpjpy,gbpnzd,gbpusd,nzdusd,usdcad,usdchf,usdjpy
让我们通过fortestopt参数设置优化,让我们去看代理的日志: !63 | Audusd,eurgbp,eurusd,gbpaud,gbpcad,gbpchf,gbpjpy,gbpnzd,gbpusd。
事实上,它在一次测试中也没有切到63个字符,这只是一种侥幸。
输入参数类型字符串的长度不得超过63个字符(连同空结尾64个)。
事实上,它在单次测试中也没有削减到63个字符,这只是一种侥幸。
字符串类型的输入参数的长度不应超过63个字符(连同空结尾64个)。
这是某种严酷的限制。在今天的时代,这样做的理由是什么?那么如何方便地指定一串字符的簇呢?绘制一打不同的参数?它是否方便?
单一测试没有截断到63个字符的事实只是一个意外。
字符串类型的输入参数的长度不得超过63个字符(连同空尾巴一起为64个)。
这种限制是不恰当的,我们不是把一公斤土豆的价格写进字符串。