错误、漏洞、问题 - 页 3108 1...310131023103310431053106310731083109311031113112311331143115...3184 新评论 GeorgiiKinG 2021.11.22 13:49 #31071 Nikolai Semko #:明白了。 哦,这个日蚀走廊...... 由于没有连接,我的演示中已经有时间了,已经有40个小时了。 MetaQuotes 2021.11.23 11:15 #31072 Nikolai Semko #:不能跳过产品的新版本,虽然以前很好。 看来我不是那个有问题的人。 build 3110 昨天,我们在连接MetaQuotes-Demo服务器时遇到问题,该服务器用于验证Marketplace产品,以及其他事项。 我们昨天修复了这个错误,并重新检查了所有由于技术原因而未能通过验证的产品。 我们对造成的不便表示歉意。 如果我们不小心遗漏了你的产品而没有重新检查,请你自己去做。现在验证工作应该正常进行。 Mikhail Dovbakh 2021.11.23 12:23 #31073 下面是一个示例代码。 //+------------------------------------------------------------------+ #property strict //+------------------------------------------------------------------+ void OnStart() { uint iCurrent =722; int iinterval=1000; int iNext=(int)(iCurrent-iinterval/2); // 722-500=222 Print ("Current :",iCurrent); Print ("iNext :",iNext); long temp=(long)(iNext-iCurrent); //предупреждений нет ожидаем Лонг -500 Print ( " temp (long):",temp);//int - uint ->uint Result: uint -- oшибка! Print ( " delta(&int)"+string((int)(iNext-iCurrent))); // неожиданный успех Print ( " delta(&long)"+string((long)(iNext-iCurrent))); // опять штанга //----------------------------------- } 结果。 2021.11.23 13:07:35.931 testUint (Volatility 75 Index,M15) Current :722 2021.11.23 13:07:35.932 testUint (Volatility 75 Index,M15) iNext :222 2021.11.23 13:07:35.932 testUint (Volatility 75 Index,M15) temp (long):4294966796 2021.11.23 13:07:35.932 testUint (Volatility 75 Index,M15) delta(&int)-500 2021.11.23 13:07:35.932 testUint (Volatility 75 Index,M15) delta(&long)4294966796 谁能解释一下--为什么 long temp=(long)(iNext-iCurrent); 给予 4294966796 而不是-500。 我不知道我的脑子里在想什么......( Slava 2021.11.23 13:04 #31074 Mikhail Dovbakh #:下面是一个示例代码。结果。谁能解释一下--为什么给予 而不是-500。我不知道我的脑子里在想什么......( long temp=(long)iNext-iCurrent; https://www.mql5.com/ru/docs/basis/types/casting 你先把iNext简化为无符号整数。然后,无符号整数的结果被转换为长。 在我的例子中,iNext被立即转换为长类型,所以iCurrent也被转换为长类型,但却是隐式的。结果立即被转换为长 Документация по MQL5: Основы языка / Типы данных / Приведение типов www.mql5.com Приведение типов - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 Valeriy Yastremskiy 2021.11.23 13:25 #31075 Slava #: 问题是为什么这种类型的命令不能得到正确的结果。我只能假设它取决于表达式中的类型层次顺序。如果这些类型在运行时在表达式中是按层次顺序排列的,那么答案是正确的,如果不是,那么违反层次结构的非显式类型转换可能会改变变量的值。 long temp=(long)((int)iNext-(uint)iCurrent); 一般来说,非明确的类型转换会违反层次结构。 Nikolai Semko 2021.11.23 13:37 #31076 MetaQuotes #:昨天,我们在连接MetaQuotes-Demo服务器时遇到问题,除其他外,该服务器用于验证Marketplace产品。 我们昨天修复了这个错误,并重新检查了所有因技术原因未能通过验证的产品。我们对造成的任何不便表示歉意。如果我们不小心漏掉了你的产品,而它又没有得到重新验证,请你自己去做。现在检查应该正常工作。 谢谢你!现在一切都在运作。 Mikhail Dovbakh 2021.11.23 13:44 #31077 Slava #:https://www.mql5.com/ru/docs/basis/types/casting你首先把iNext简化为一个无符号整数。然后将无符号整数的结果转换为长数。在我的例子中,iNext被立即转换为长类型,所以iCurrent也被转换为长类型,只是隐含的。其结果立即被投到长 你可以看到为什么 Print ( " delta(&int)"+string((int)(iNext-iCurrent))); // неожиданный успех и int itemp=(int)(iNext-iCurrent); 能否得到正确的结果? 根据你的描述,iNext首先被铸成一个无符号整数。然后,无符号整数的结果被转换为有符号的整数。 对吗? A100 2021.11.23 13:48 #31078 趋势线未被磁化到低位红烛(欧元兑美元,M5;精确的时间尺度;磁化:15)。 Slava 2021.11.23 14:59 #31079 Mikhail Dovbakh #:然后解释原因。и int itemp=(int)(iNext-iCurrent); 能否得到正确的结果? 很容易 一个长度为32位 的无符号整数4294966796转换为相同尺寸的有符号整数时,得到的是-500 Slava 2021.11.23 15:02 #31080 Valeriy Yastremskiy #:问题是为什么这种类型的命令不能得到正确的结果。我只能假设它取决于表达式中的类型层次顺序。如果这些类型在运行时在表达式中是按层次顺序排列的,那么答案是正确的,如果不是,那么违反层次结构的非显式类型转换可能会改变变量的值。Zy 一般来说,是一种非显式的类型转换,也是对层次结构的违反。 我已经给了你链接https://www.mql5.com/ru/docs/basis/types/casting 它非常详细地说明了这一切。从头到尾阅读,不遗漏任何内容 Документация по MQL5: Основы языка / Типы данных / Приведение типов www.mql5.com Приведение типов - Типы данных - Основы языка - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 1...310131023103310431053106310731083109311031113112311331143115...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
明白了。
哦,这个日蚀走廊......
由于没有连接,我的演示中已经有时间了,已经有40个小时了。
不能跳过产品的新版本,虽然以前很好。
看来我不是那个有问题的人。
build 3110
昨天,我们在连接MetaQuotes-Demo服务器时遇到问题,该服务器用于验证Marketplace产品,以及其他事项。
我们昨天修复了这个错误,并重新检查了所有由于技术原因而未能通过验证的产品。
我们对造成的不便表示歉意。
如果我们不小心遗漏了你的产品而没有重新检查,请你自己去做。现在验证工作应该正常进行。
下面是一个示例代码。
结果。
谁能解释一下--为什么
给予
4294966796而不是-500。
我不知道我的脑子里在想什么......(
下面是一个示例代码。
结果。
谁能解释一下--为什么
给予
而不是-500。
我不知道我的脑子里在想什么......(
https://www.mql5.com/ru/docs/basis/types/casting
你先把iNext简化为无符号整数。然后,无符号整数的结果被转换为长。
在我的例子中,iNext被立即转换为长类型,所以iCurrent也被转换为长类型,但却是隐式的。结果立即被转换为长
问题是为什么这种类型的命令不能得到正确的结果。我只能假设它取决于表达式中的类型层次顺序。如果这些类型在运行时在表达式中是按层次顺序排列的,那么答案是正确的,如果不是,那么违反层次结构的非显式类型转换可能会改变变量的值。
一般来说,非明确的类型转换会违反层次结构。
昨天,我们在连接MetaQuotes-Demo服务器时遇到问题,除其他外,该服务器用于验证Marketplace产品。
我们昨天修复了这个错误,并重新检查了所有因技术原因未能通过验证的产品。
我们对造成的任何不便表示歉意。
如果我们不小心漏掉了你的产品,而它又没有得到重新验证,请你自己去做。现在检查应该正常工作。
https://www.mql5.com/ru/docs/basis/types/casting
你首先把iNext简化为一个无符号整数。然后将无符号整数的结果转换为长数。
在我的例子中,iNext被立即转换为长类型,所以iCurrent也被转换为长类型,只是隐含的。其结果立即被投到长
你可以看到为什么
и
int itemp=(int)(iNext-iCurrent);
能否得到正确的结果?
根据你的描述,iNext首先被铸成一个无符号整数。然后,无符号整数的结果被转换为有符号的整数。
对吗?
趋势线未被磁化到低位红烛(欧元兑美元,M5;精确的时间尺度;磁化:15)。
然后解释原因。
и
int itemp=(int)(iNext-iCurrent);
能否得到正确的结果?
很容易
一个长度为32位 的无符号整数4294966796转换为相同尺寸的有符号整数时,得到的是-500
问题是为什么这种类型的命令不能得到正确的结果。我只能假设它取决于表达式中的类型层次顺序。如果这些类型在运行时在表达式中是按层次顺序排列的,那么答案是正确的,如果不是,那么违反层次结构的非显式类型转换可能会改变变量的值。
Zy 一般来说,是一种非显式的类型转换,也是对层次结构的违反。
我已经给了你链接https://www.mql5.com/ru/docs/basis/types/casting
它非常详细地说明了这一切。从头到尾阅读,不遗漏任何内容