错误、漏洞、问题 - 页 3069

 

我相信这个问题以前也有人问过,但我找不到了。

有一个脚本

void OnStart()
  {
   uchar uchar0 = 0;
   uchar uchar1 = 1;
   Print(uchar0 - uchar1);      //-1
   Print(0 - uchar1);           //-1
   Print(-uchar1);              //255
   Print(typename(-uchar1));    //int
   Print(-(int)uchar1);         //-1

   ushort ushort0 = 0;
   ushort ushort1 = 1;
   Print(ushort0 - ushort1);      //-1
   Print(0 - ushort1);           //-1
   Print(-ushort1);              //65535
   Print(typename(-ushort1));    //int
   Print(-(int)ushort1);         //-1

   uint uint1 = 1;
   Print(0 - uint1);           //4294967295
   Print(-uint1);              //4294967295
   Print(typename(-uint1));    //long
  }

请解释。

1.为什么0-uchar1(和ucar0-uchar1)的结果与(-uchar1)不同?毕竟,在对(u)char和(u)short类型的操作中,操作数会自动转换为int。而typename(-uchar1)返回int。 (对ushort1也有同样的问题)

2.对于uint,情况则不同。-uint1返回预期结果,但typename(-uint1)返回long。这是一个类型名的错误吗?

 
伙计们告诉我,在506版之前的旧版quad中,每个指标分配了多少个缓冲器....?现在我知道512
 
ruslan:
伙计们告诉我,在506版之前的旧版quad中,每个指标分配了多少个缓冲区....?现在我知道512

按记忆64。试着申报超过100个,如果先前有更新,就不会有错误,如果后来就会出现错误。

 
Valeriy Yastremskiy:

按记忆64。试着申报超过100个,如果先前有更新,就不会有错误,如果后来就会出现错误。

你是否有一个225终端的安装程序?
 
ruslan:
你是否有225终端的安装程序?

没有最有可能,因为这里有18个。4k到5k在功能上的升级发生在14到16年间。

 
mktr8591:

我相信这个问题以前也有人问过,但我找不到了。

有一个脚本


请解释。

1.为什么0-uchar1(和ucar0-uchar1)的结果与(-uchar1)不同?毕竟,在对(u)char和(u)short类型的操作中,操作数会自动转换为int。而typename(-uchar1)返回int。 (对ushort1也有同样的问题)

2.对于uint,情况则不同。-uint1返回预期结果,但typename(-uint1)返回long。这是一个类型名的错误吗?

谢谢你的帖子。

1.操作数类型确实被选为单数减法的结果类型--固定的

2.我们偏离了标准,单数减法运算将长类型 换成了uint类型,由于第1项的错误,结果类型仍然是uint类型(不是长)。

 
Valeriy Yastremskiy:

按记忆64。试着申报超过100个,如果先前有更新,就不会有错误,如果后来就会出现错误。

在那里找到了8个缓冲区....,谢谢你
 

现在MQL5.com先有市场,然后是信号,最后才是论坛。以前,规定对于授权用户来说,论坛位于主页的顶部。


ZZY 在这个帖子之后,论坛将出现在顶部。只要你删除这个帖子,论坛就会恢复到第三位。

 
fxsaber:

现在MQL5.com先有市场,然后是信号,最后才是论坛。以前,规定对于授权用户来说,论坛位于主页的顶部。


ZZY 在这个帖子之后,论坛将出现在顶部。一旦你删除了那个帖子,论坛就回到了第三位。

我支持这个观点--首先论坛更方便

 

我不能设法写一个函数,只有当焦点切换到EA图表时,才能在EA中输出真值。

如果你遇到过,能否给我一个提示。


关于失去和获得注意力的CHARTEVENT不够。