错误、漏洞、问题 - 页 1837 1...183018311832183318341835183618371838183918401841184218431844...3184 新评论 Alexey Viktorov 2017.03.27 10:12 #18361 fxsaber: 这是零。是的,知道了。的确,怎么会有TRADE_TRANSACTION_DEAL_AD的订单...。 谢谢你。 fxsaber 2017.03.30 17:40 #18362 虫子的大小(sizeof-bugvoid f( uchar &Array[] ) { Print(sizeof(Array)); } void OnStart( void ) { uchar Bytes[1]; Print(sizeof(Bytes)); f(Bytes); } 结果1 52 Andriy Voitenko 2017.03.30 19:27 #18363 在测试过程中,日志没有显示订单过期的时间。2017.03.30 22:12:30.271 核心 1 2017.01.18 16:55:00 买入限额0.01 欧元兑美元在1.06789(1.06879/1.06889 / 1.06889)<br / translate="no">2017.03.30 22:12:30.271 Core 1订单过期 [#4买入限额0.01 EURUSD at 1.06789]我希望它是这样的。2017.03.30 22:12:30.271 核心 1 2017.01.18 17:25:00 订单过期 [#4 买入限额 0.01 EURUSD at 1.06789] Slava 2017.03.30 19:29 #18364 fxsaber: 虫子的大小(sizeof-bug 结果当作为参数传递时,一个1字节的本地数组已经成为一个通用数组对象。对象缓冲区指针实际上与本地数组相关联,但它不能被重新分配。f函数可以接受任何数组作为输入,包括一个动态数组。 fxsaber 2017.03.30 19:34 #18365 Slawa:当作为参数传递时,一个1字节的本地数组已经成为一个通用数组对象。它的缓冲区指针实际上与本地数组相关,但它不能被重新分配。函数f可以输入任何数组,包括动态的这是对内部架构的一个非常有趣的解释。但正因为如此,sizeof产生的结果与你编码时预期的完全不同。也就是说,在文件中存在一些不一致的地方,而且每次都不检查就变得不清楚如何编码。此外,如果sizeof在函数退出后被调用,那么尺寸的确定就不会受到这种细微差别的影响。 Kurt- 2017.03.30 20:25 #18366 在没有警告的情况下同步仓位的选项不起作用,在价差内执行也不起作用。 它以最差的价格开盘,不能调整,所有终端都是如此。所有的职位都已开放。 当供应商关闭所有的加价交易时,要等什么呢!? Slava 2017.03.31 06:03 #18367 fxsaber:这是对内部架构的一个非常有趣的解释。但由于这个原因,sizeof产生的输出与你编码时的意图完全不同。也就是说,在文件中存在一些不一致的地方,而且每次都不检查就变得不清楚如何编码。此外,如果你在退出一个函数后调用sizeof,那么大小的确定就不会受到这种细微差别的影响。你有没有认真阅读关于sizeof的文档? 取一个数据类型的大小或任何数据类型的对象的大小的操作( sizeof ) 在sizeof操作 的帮助下 ,可以确定与一个标识符或一个类型相对应的内存大小。 sizeof操作的格式如下。 例子。 sizeof(expression)。 任何标识符或括号内的类型名称都可以作为表达式使用。 请注意,不能使用空洞的类型名称,标识符不能指代位域或成为函数名称。 如果静态数组名称被指定为一个表达式(即指定了第一个维度),结果是整个数组的大小(即元素数与类型长度的乘积)。如果一个动态数组名称被指定为表达式(没有指定第一维),那么结果就是动态数组 对象的大小。 当sizeof被应用于一个结构或类的类型名称或具有结构或类类型的标识符时,结果是结构或类的实际大小。PS有更直接的方法来找出一个数组的大小 fxsaber 2017.03.31 06:18 #18368 Slawa:如果静态数组名称被指定为一个表达式(即指定了第一个维度),那么结果就是整个数组的大小(即元素数与类型长度的乘积)。我在引文中只漏掉了提到上述代码的那一段。那里是一个静态数组,你提到的两个数字的乘积应该等于1。如果在传递数组后,从静态变成了动态,在返回时又变成了静态,那么你如何以静态形式传递数组?PS有更直接的方法来找出阵列的大小 sizeof很好,因为它具有普遍性--也适用于普通类型和数组。而ArraySize只适用于数组。 Slava 2017.03.31 06:54 #18369 fxsaber:从这句话中,我只留下了提到上述代码的那一段。这是一个静态数组,你提到的两个数字的乘积应该是1。再一次。凡是有静态数组的地方,它就显示一个。函数参数从来都是静态数组。之前有一个未知数组的对象。动态、静态、时间序列、指标缓冲器"sizeof的普遍性 "对你有什么帮助?这不是直接访问内存的C或C++。而且,在解释sizeof结果时,你必须谨慎。将一个动态数组分配给1000个元素,并要求提供sizeof。我具体谈论的是C++--你似乎对这个结果很惊讶而你没有听说过关于_countof的事情吗? fxsaber 2017.03.31 07:04 #18370 Slawa:再一次。凡是有静态数组的地方,它就显示一个。函数参数从来都是静态数组。之前有一个未知数组的对象。动态、静态、时间序列、指标缓冲。"sizeof的普遍性 "对你有什么帮助?这不是C或C++的直接内存访问。而且,在解释sizeof结果时,你必须谨慎。将一个动态数组分配给1000个元素,并要求提供sizeof。我具体谈论的是C++--你似乎对这个结果很惊讶而你没有听说过关于_countof的事情吗?我只知道一点MQL的情况。我不知道SI,这就是为什么我没有听说。void OnStart( void ) { uchar Bytes[]; ArrayResize(Bytes, 100); Print(sizeof(Bytes)); }其结果是52。可以吗?我对内部架构没有任何抱怨。我只是想确保我在编码时的认知没有错误。概念是在仔细阅读文档和测试脚本的基础上形成的,以寻找模糊之处。在这种情况下,我在一个大代码中遇到了一些奇怪的行为。而经过长时间的研究,我终于发现了你所描述的一个细微差别,这对这个论坛上的人来说几乎是不明显的。而在上面的例子中,你根本无法对动态数组 进行sizeof(结果总是52)。 1...183018311832183318341835183618371838183918401841184218431844...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这是零。
是的,知道了。的确,怎么会有TRADE_TRANSACTION_DEAL_AD的订单...。
谢谢你。
结果
在测试过程中,日志没有显示订单过期的时间。
我希望它是这样的。
2017.03.30 22:12:30.271 核心 1 2017.01.18 17:25:00 订单过期 [#4 买入限额 0.01 EURUSD at 1.06789]
虫子的大小(sizeof-bug
结果
当作为参数传递时,一个1字节的本地数组已经成为一个通用数组对象。对象缓冲区指针实际上与本地数组相关联,但它不能被重新分配。
f函数可以接受任何数组作为输入,包括一个动态数组。
当作为参数传递时,一个1字节的本地数组已经成为一个通用数组对象。它的缓冲区指针实际上与本地数组相关,但它不能被重新分配。
函数f可以输入任何数组,包括动态的
这是对内部架构的一个非常有趣的解释。但正因为如此,sizeof产生的结果与你编码时预期的完全不同。
也就是说,在文件中存在一些不一致的地方,而且每次都不检查就变得不清楚如何编码。
此外,如果sizeof在函数退出后被调用,那么尺寸的确定就不会受到这种细微差别的影响。
在没有警告的情况下同步仓位的选项不起作用,在价差内执行也不起作用。
它以最差的价格开盘,不能调整,所有终端都是如此。所有的职位都已开放。
当供应商关闭所有的加价交易时,要等什么呢!?
这是对内部架构的一个非常有趣的解释。但由于这个原因,sizeof产生的输出与你编码时的意图完全不同。
也就是说,在文件中存在一些不一致的地方,而且每次都不检查就变得不清楚如何编码。
此外,如果你在退出一个函数后调用sizeof,那么大小的确定就不会受到这种细微差别的影响。
你有没有认真阅读关于sizeof的文档?
取一个数据类型的大小或任何数据类型的对象的大小的操作( sizeof )
在sizeof操作 的帮助下 ,可以确定与一个标识符或一个类型相对应的内存大小。 sizeof操作的格式如下。
例子。
sizeof(expression)。
任何标识符或括号内的类型名称都可以作为表达式使用。 请注意,不能使用空洞的类型名称,标识符不能指代位域或成为函数名称。
如果静态数组名称被指定为一个表达式(即指定了第一个维度),结果是整个数组的大小(即元素数与类型长度的乘积)。如果一个动态数组名称被指定为表达式(没有指定第一维),那么结果就是动态数组 对象的大小。
当sizeof被应用于一个结构或类的类型名称或具有结构或类类型的标识符时,结果是结构或类的实际大小。
PS有更直接的方法来找出一个数组的大小
如果静态数组名称被指定为一个表达式(即指定了第一个维度),那么结果就是整个数组的大小(即元素数与类型长度的乘积)。
我在引文中只漏掉了提到上述代码的那一段。那里是一个静态数组,你提到的两个数字的乘积应该等于1。
如果在传递数组后,从静态变成了动态,在返回时又变成了静态,那么你如何以静态形式传递数组?
PS有更直接的方法来找出阵列的大小
从这句话中,我只留下了提到上述代码的那一段。这是一个静态数组,你提到的两个数字的乘积应该是1。
再一次。凡是有静态数组的地方,它就显示一个。
函数参数从来都是静态数组。之前有一个未知数组的对象。动态、静态、时间序列、指标缓冲器
"sizeof的普遍性 "对你有什么帮助?这不是直接访问内存的C或C++。而且,在解释sizeof结果时,你必须谨慎。将一个动态数组分配给1000个元素,并要求提供sizeof。我具体谈论的是C++--你似乎对这个结果很惊讶
而你没有听说过关于_countof的事情吗?
再一次。凡是有静态数组的地方,它就显示一个。
函数参数从来都是静态数组。之前有一个未知数组的对象。动态、静态、时间序列、指标缓冲。
"sizeof的普遍性 "对你有什么帮助?这不是C或C++的直接内存访问。而且,在解释sizeof结果时,你必须谨慎。将一个动态数组分配给1000个元素,并要求提供sizeof。我具体谈论的是C++--你似乎对这个结果很惊讶
而你没有听说过关于_countof的事情吗?
我只知道一点MQL的情况。我不知道SI,这就是为什么我没有听说。
其结果是52。可以吗?我对内部架构没有任何抱怨。我只是想确保我在编码时的认知没有错误。概念是在仔细阅读文档和测试脚本的基础上形成的,以寻找模糊之处。
在这种情况下,我在一个大代码中遇到了一些奇怪的行为。而经过长时间的研究,我终于发现了你所描述的一个细微差别,这对这个论坛上的人来说几乎是不明显的。而在上面的例子中,你根本无法对动态数组 进行sizeof(结果总是52)。