新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 1794

 

关于交易、自动交易系统和策略测试的论坛

新手对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论

MakarFX, 2021.12.06 12:14

bool FindObject(string name)
  {
   if(ObjectFind(0,name)) return(false);
   return(true);
  }

在出现错误的情况下,你的函数会返回什么,是真吗?

 
Mihail Matkovskij #:

在出现错误的情况下,你的函数会返回什么,是真的吗?

什么错误?给我一个例子。
 
MakarFX #:

这一点,是的,应该可行。

 
Nerd Trader #:

你是在说通过属性改变颜色吗? 我有这样一个变体,我需要了解为什么这个变体不工作。

它可以工作,但对任何OnChartEven有反应,即删除->创建价格为 "0"->移动到光标。因此,闪烁的

 
Nerd Trader #:

你是在说通过属性改变颜色吗? 我有这个选项,我需要了解它为什么不工作。

不,这是为了让物体不闪烁和出现/消失,不像被烫伤一样跳来跳去,CPU不发出噪音......

那么,当主窗口中的对象为 "0 "时,你的函数将返回false,这有什么问题?解 释一下>=0...或等于零

仔细看看。

if (ObjectFind(chart, name) >= 0)

在什么数值范围内,该条件会返回真?

 
MakarFX #:
什么错误?举个例子。

通常什么是真的?任何不为0的东西(我上面提到过)。而你只有在条件在0处返回假时才有真,对象在地下室(ObjectFind(ch, name) > 0)-假。但错误(-1)是真的。

因此,这里是正确的变体。

bool objectExist(const long _chartID, const string _name) { return(ObjectFind(_chartID, _name) >= 0); } // чётко определим условие существования объекта!
 
Mihail Matkovskij #:

不,这样物体就不会闪烁,出现/消失,像烫伤一样跳来跳去,CPU也不会发出噪音......

密切注意。

在什么数值范围内,该条件会返回真?

而如果
ObjectFind(chart, name)=-1

然后呢?

 
MakarFX #:

它可以工作,但对任何OnChartEven有反应,即删除->创建价格为 "0"->移动到光标。因此出现了闪烁。

为什么?为什么绿线不发生呢? 条件是相同的,只是黄线的反转(价格>要价)和绿线的反转(价格<出价)。


Mihail Matkovskij#:

它可以防止物体闪烁和出现/消失,像被烫伤的动物一样蹦来蹦去,以及CPU噪音。

由于某些原因,绿色和红色的线条只有一个副本,当光标移动时不会闪烁。


Mihail Matkovskij #:

仔细看看。

在什么数值范围内,该函数将返回真?

从零开始,向上?
 
Mihail Matkovskij #:

通常什么是真的?任何不为0的东西(我上面提到过)。只有当条件返回 0的值为假时,你才有真

再仔细看看

 
MakarFX #:

再仔细看看。

修改了信息。用不正确的图表ID和对象在子窗口中被创建时测试你的函数和我的函数。并看看你的函数将返回什么,我的函数将返回什么。并仔细阅读文件。所有的链接和报价都在上面给出。

原因: