错误、漏洞、问题 - 页 1525 1...151815191520152115221523152415251526152715281529153015311532...3184 新评论 [删除] 2016.03.03 09:48 #15241 Yuri Evseenkov:MT4。我想再次提请你注意全局 程序变量初始化的 特殊性。 关于交易、自动交易系统和策略测试的论坛 虫子,虫子,问题 Slawa, 2016.02.24 07:34 排队。该申请仅有两个小时的时间。一般来说,这种问题应该在论坛上提出。因为很多人可能会受到影响。我冒昧地引用你的话,并立即作出回答这是有计划的行为。事实上,它在文件中被明确描述 为上传和下载涉及到对一切的完全重新初始化。在五个国家,正如你正确地注意到的那样,情况是类似的。这是真的,在历史上,这是在4中,我们在改变到新的MQL4时,一开始就改变了这种行为(让它表现得像专家一样,即像你所期望的那样)。但旧的指标出现了很多问题,这些指标是基于这种初始化的。我们被迫返回在五人组中,由于架构的原因,立即出现了这种情况。当你改变参数时,带有旧参数的旧指标被销毁,并创建一个带有改变参数的新指标。 Yuri Evseenkov 2016.03.03 10:12 #15242 Alexey Kozitsyn: 谢谢。结论--引自文档:"......预定义函数OnInit(),其目的是正确初始化程序的所有全局变量 和静态 变量。"所以将所有全局变量或数组归零或默认为OnInit()。 События клиентского терминала - Программы MQL4 - Справочник MQL4 docs.mql4.com События клиентского терминала - Программы MQL4 - Справочник MQL4 Andriy Voitenko 2016.03.03 11:29 #15243 1.我创建了一个形式的数组。CArrayString list[5];2.我尝试通过<Ctrl+Space>调用方法列表。list[0]. 方法列表没有出现。它应该是这样的吗? [删除] 2016.03.03 11:31 #15244 Andrey Voytenko:1.我创建了一个形式的数组。2.我尝试通过<Ctrl+Space>调用代码中的方法列表。 方法列表没有出现。它应该是这样的吗?让我试着做一个猜测。如果代码中除了没有指定方法/成员外,还有其他错误,则列表不一定会出现。试过了。不,错误的假设。但反复按几下组合键还是有帮助的。 Andriy Voitenko 2016.03.03 11:52 #15245 Alexey Kozitsyn:但反复按几下组合键还是有帮助的。 不幸的是,你的食谱对我不起作用。 [删除] 2016.03.03 12:32 #15246 Andrey Voytenko: 不幸的是,你的食谱对我不起作用。 不,这是正确的,如果代码中有错误,开放成员/方法的列表就不会出现。但是,如果没有错误...那就麻烦了。 Andriy Voitenko 2016.03.03 13:23 #15247 1.简单的代码。 uint a=50; int b=-20; Print(fmax(a,b));结果:502.添加修改器输入。input uint a=50; int b=-20; Print(fmax(a,b)); 结果: 4294967276预期的结果是50。我哪里错了? Vladimir Karputov 2016.03.03 14:01 #15248 Andrey Voytenko:1.简单的代码。 结果:502.我们添加一个修改器输入。结果: 4294967276我期待的结果是50。我哪里错了?fmax比较了两个双数。所以它是这样的。//+------------------------------------------------------------------+ //| Test.mq5 | //| Copyright 2016, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2016, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.01" #property script_show_inputs //--- input uint a=50; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //uint a=50; int b=-20; Print("\"uint a=50\" as double:",DoubleToString((double)a,8)); Print("\"int b=-20\" as double:",DoubleToString((double)b,8)); Print(DoubleToString(fmax((double)b,(double)a),8)); } //+------------------------------------------------------------------+和结果。2016.03.03 16:00:24.821 Test (EURUSD,D1) "uint a=50" as double:50.00000000 2016.03.03 16:00:24.821 Test (EURUSD,D1) "int b=-20" as double:-20.00000000 2016.03.03 16:00:24.821 Test (EURUSD,D1) 50.00000000 附加的文件: Test.mq5 2 kb Andriy Voitenko 2016.03.03 14:18 #15249 Karputov Vladimir:fmax比较了两个双数。所以它是这样的。在MQL中,一个隐含的类型转换被声明和执行。特别是uint -> double。问题是为什么它在输入变量 时不能正常工作。 Slava 2016.03.03 14:26 #15250 Andrey Voytenko:1.简单的代码。 结果:502.添加输入修改器。结果:4294967276。我期待的结果是50。我哪里错了?请给我完整的代码。这里有两种可能性,都是错误的。1.该代码在任何函数之外执行。2.输入变量是在函数内声明的 1...151815191520152115221523152415251526152715281529153015311532...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
MT4。我想再次提请你注意全局 程序变量初始化的 特殊性。
关于交易、自动交易系统和策略测试的论坛
虫子,虫子,问题
Slawa, 2016.02.24 07:34
排队。该申请仅有两个小时的时间。
一般来说,这种问题应该在论坛上提出。因为很多人可能会受到影响。我冒昧地引用你的话,并立即作出回答
这是有计划的行为。事实上,它在文件中被明确描述 为
上传和下载涉及到对一切的完全重新初始化。
在五个国家,正如你正确地注意到的那样,情况是类似的。
这是真的,在历史上,这是在4中,我们在改变到新的MQL4时,一开始就改变了这种行为(让它表现得像专家一样,即像你所期望的那样)。但旧的指标出现了很多问题,这些指标是基于这种初始化的。我们被迫返回
在五人组中,由于架构的原因,立即出现了这种情况。当你改变参数时,带有旧参数的旧指标被销毁,并创建一个带有改变参数的新指标。
谢谢。结论--引自文档:"......预定义函数OnInit(),其目的是正确初始化程序的所有全局变量 和静态 变量。"
所以将所有全局变量或数组归零或默认为OnInit()。
1.我创建了一个形式的数组。
CArrayString list[5];
2.我尝试通过<Ctrl+Space>调用方法列表。
list[0].
方法列表没有出现。它应该是这样的吗?1.我创建了一个形式的数组。
2.我尝试通过<Ctrl+Space>调用代码中的方法列表。
方法列表没有出现。它应该是这样的吗?让我试着做一个猜测。如果代码中除了没有指定方法/成员外,还有其他错误,则列表不一定会出现。
试过了。不,错误的假设。但反复按几下组合键还是有帮助的。
Alexey Kozitsyn:
但反复按几下组合键还是有帮助的。
不幸的是,你的食谱对我不起作用。
1.简单的代码。
结果:50
2.添加修改器输入。
结果: 4294967276
预期的结果是50。我哪里错了?
1.简单的代码。
结果:50
2.我们添加一个修改器输入。
结果: 4294967276
我期待的结果是50。我哪里错了?
fmax比较了两个双数。所以它是这样的。
和结果。
fmax比较了两个双数。所以它是这样的。
在MQL中,一个隐含的类型转换被声明和执行。特别是uint -> double。
问题是为什么它在输入变量 时不能正常工作。
1.简单的代码。
结果:50
2.添加输入修改器。
结果:4294967276。
我期待的结果是50。我哪里错了?
请给我完整的代码。
这里有两种可能性,都是错误的。
1.该代码在任何函数之外执行。
2.输入变量是在函数内声明的