错误、漏洞、问题 - 页 1218

 
sanyooooook:

事情是这样的。

...

我的结果是更高。

P.S. 虽然和你一起繁殖有点困难。我以后会尝试的。

 

但既然如此。

1.我打开一个新的图表

2.创建一个对象

3. 从代码中复制对象名称

4. 通过复制来改变对象的名称

5.运行该脚本。

void OnStart()
  {
//---
   Print(ObjectFind(0,"UP_Line"));
   if(ObjectFind(0,"UP_Line")==0)
   {
      Print(3);
      //Pos_Buy=ObjectGetValueByShift("UP_Line",0);
   }   
  }

6.我得到。

所有的东西!!!。

 

而以前(在较早的版本中),"UP_Line "和 "UP_line "的名字可以相互等同。

 
sanyooooook:

原来,这些名字曾经是。

UP_Line和UP_line平静地相互对等。

这就是问题所在吗?

在MQL4中使用这个。

#property strict
 
tol64:

这就是问题所在吗?

在MQL4中使用这个。

这段代码是旧的,我没有改变其中的任何东西。

一切工作都很正常,但今天它突然出现了

 
tol64:

这就是问题所在吗?

在MQL4中使用这个。

并没有发现任何错误,因为这个错误不是语法上的,而是逻辑上的,或者说原因在于不同的对象名称("Line "和 "line"),由于某种原因,它们曾经是相等的。
 
sanyooooook:
而这并没有发现任何错误,因为错误不是语法上的,而是逻辑上的,或者说原因在于不同的对象名称("Line "和 "line"),由于某种原因,它们曾经是相等的。
所以,对象名称应该存储在变量中。)))
 
tol64:
因此,对象的名称应该存储在变量中。)))

这并不能挽救这样的错误 )

HH:不,实际上它是。

但在编写这段代码的时候,这一点没有被考虑进去。

 

字符常量的文件或实现中的错误

https://www.mql5.com/ru/docs/basis/types/integer/symbolconstants

"字符常数。
任何单引号的单个字符或十六进制ASCII字符编码为'/x10'都是一个字符常数,并且是ushort类型。"

template<typename T>
string typeof( T ) { return ( typename( T ) ); }

void OnStart()
{
        Print( typeof( '\x10' ) );
}

结果:短

这是相关的,因为f('\x10'),如果重载,会导致f( short )被调用,而不是f( ushort )--实际上是调用了一个不同的方法/函数

此外,内置字符串函数的参数和结果都是短语。

Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
Документация по MQL5: Основы языка / Типы данных / Целые типы / Символьные константы
  • www.mql5.com
Основы языка / Типы данных / Целые типы / Символьные константы - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

图片986。

在折叠的工具(Ctrl-T)上,写着平衡/资源/边际的栏(双击它打开面板)已经消失了。

现在最小化后看起来像这样


在边缘上向上拉伸是可能的,通过双击标签扩展是不可能的,只有折叠。