错误、漏洞、问题 - 页 1129 1...112211231124112511261127112811291130113111321133113411351136...3184 新评论 Artem Temnikov 2014.04.13 09:45 #11281 A100: 32'535'244'799 != 32'535'215'999 - какое правильное? 正确的应该是32'535'215'999,即"3000.12.31 23:59:59"而32'535'244'799将是正确的"3001.01.01 07:59:59" A100 2014.04.13 11:25 #11282 Fleder:数据时间类型 的限制根本没有正确定义。 显然,这个限制的定义是考虑到在同一时间以GMT或UTC呈现当地时间的可能性。那么,在-43'200到32'535'291'599之间做一个更广泛的范围(+/-12小时)就有意义了 Slava 2014.04.13 12:27 #11283 Fleder:编译器将数字13.7作为双倍类型处理。但同时,这个数字可以无损地转换为浮点数类型而这种警告是不必要的。 你怎么知道实数13.7可以毫无损失地转换为浮点数类型? Artem Temnikov 2014.04.13 12:54 #11284 stringo: 你怎么知道实数13.7可以毫无损失地转换为浮动类型?不是吗?数字13.7=0.137*1e+2。将三位小数转换为float类型,是否有任何损失?就我所见,当你试图转换时,准确性就会丧失。小数点后六位或更多的数字。我试着用float类型将五位数的字符引号(如1.38829)保存到二进制文件。在从文件中读回它们,并试图在图表上显示它们的情况下,作为应用于图表本身的烛台的图表指标有一些小的差异。但在归一化到第五位数之后,它们就消失了。但那里有双重的准确性损失:首先是从双倍数到浮动数,然后再从浮动数回到双倍数。 Slava 2014.04.13 14:11 #11285 https://www.mql5.com/ru/docs/convert/normalizedouble Fleder:不是吗?数字13.7=0.137*1e+2。将三位小数转换为float类型,是否有任何损失?就我所见,当你试图转换时,准确性就会丧失。小数点后六位或更多的数字。我试着用float类型将五位数的字符引号(如1.38829)保存到二进制文件。在从文件中读回它们,并试图在图表上显示它们的情况下,作为应用于图表本身的烛台的图表指标有一些小的差异。但在归一化到第五位数之后,它们就消失了。但是有一个双重的准确性损失:首先从双倍数到浮动数,然后再从浮动数回到双倍数。 不,它是一个无限的分数。我们写了 又写,但你不读。 Artem Temnikov 2014.04.13 14:25 #11286 stringo: 不,这是一个无尽的分数。我们写了 又写, 你却不看我们读!但损失发生在 "技术上"(格式的特殊性)和那些甚至不需要的分数上。void OnStart() { Print((float)(13.7)); //13.7 - потерь "не видно" Print((double)(13.7)); //13.7 - здесь тоже } Особенности работы с числами типа double в MQL4 - Статьи по MQL4 www.mql5.com Особенности работы с числами типа double в MQL4 - Статьи по MQL4: примеры использования экспертов, тестирования и оптимизации A100 2014.04.13 15:40 #11287 A100:我也有过这种崩溃。在运行脚本时,如果终端(910)和编译器(921)不匹配,会出现这种情况。以下是代码class A { int array[]; }; void OnStart() { A *a = new A(); if ( a != NULL ) delete( a ); }编译器930,终端910。结果。 Artem Temnikov 2014.04.13 16:03 #11288 A100:以下是代码编译器930,终端910。结果。为什么终端是910,而编译器是930?如果两者都是910,那么这个脚本就不会 "崩溃"。 A100 2014.04.13 16:10 #11289 只是没有一个终端(我不太清楚,但我认为这在市场上是很常见的)。我可以从...\MQL5\Scripts文件夹中分享原件。 附加的文件: Crash.ex5 4 kb Artem Temnikov 2014.04.13 16:24 #11290 A100:只是没有一个终端(我不太清楚,但我认为这在市场上是很常见的)。我可以从...\MQL5\Scripts文件夹中分享原件。嗯,这就是我不得不证明的Win XP 32位。 1...112211231124112511261127112811291130113111321133113411351136...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
A100:
32'535'244'799 != 32'535'215'999 - какое правильное?
正确的应该是32'535'215'999,即"3000.12.31 23:59:59"
而32'535'244'799将是正确的"3001.01.01 07:59:59"
数据时间类型 的限制根本没有正确定义。
编译器将数字13.7作为双倍类型处理。但同时,这个数字可以无损地转换为浮点数类型
而这种警告是不必要的。
你怎么知道实数13.7可以毫无损失地转换为浮动类型?
不是吗?数字13.7=0.137*1e+2。将三位小数转换为float类型,是否有任何损失?就我所见,当你试图转换时,准确性就会丧失。
小数点后六位或更多的数字。
我试着用float类型将五位数的字符引号(如1.38829)保存到二进制文件。在从文件中读回它们,并试图在图表上显示它们的情况下,作为
应用于图表本身的烛台的图表指标有一些小的差异。但在归一化到第五位数之后,它们就消失了。
但那里有双重的准确性损失:首先是从双倍数到浮动数,然后再从浮动数回到双倍数。
不是吗?数字13.7=0.137*1e+2。将三位小数转换为float类型,是否有任何损失?就我所见,当你试图转换时,准确性就会丧失。
小数点后六位或更多的数字。
我试着用float类型将五位数的字符引号(如1.38829)保存到二进制文件。在从文件中读回它们,并试图在图表上显示它们的情况下,作为
应用于图表本身的烛台的图表指标有一些小的差异。但在归一化到第五位数之后,它们就消失了。
但是有一个双重的准确性损失:首先从双倍数到浮动数,然后再从浮动数回到双倍数。
不,这是一个无尽的分数。我们写了 又写, 你却不看
我们读!但损失发生在 "技术上"(格式的特殊性)和那些甚至不需要的分数上。
我也有过这种崩溃。在运行脚本时,如果终端(910)和编译器(921)不匹配,会出现这种情况。
以下是代码
编译器930,终端910。结果。
以下是代码
编译器930,终端910。结果。
为什么终端是910,而编译器是930?
如果两者都是910,那么这个脚本就不会 "崩溃"。
只是没有一个终端(我不太清楚,但我认为这在市场上是很常见的)。
我可以从...\MQL5\Scripts文件夹中分享原件。
只是没有一个终端(我不太清楚,但我认为这在市场上是很常见的)。
我可以从...\MQL5\Scripts文件夹中分享原件。
嗯,这就是我不得不证明的Win XP 32位。