初学者的问题 MQL5 MT5 MetaTrader 5 - 页 1350

 
Evgeny Dyuka #:

...对前一个问题的进一步说明

在同一图表中,专家顾问和指标之间是否有交换缓冲的能力?
也就是说,专家顾问把一些东西放在那里,而指标从那里读出一些东西。

数据库
 
Aliaksandr Hryshyn #:
数据库
是的,这是最好的选择,尤其是在上传到框架的时候。
 

我遇到了一个奇怪的问题。在EA运行时,有时EA会因为除以0 而终止。

C (HYDR-12.21,M2)  zero divide in 'C.mqh' (1321,60)

这里是第1321行。

 if( B != 0 && A/B > 1.1)

这怎么可能呢?因为在第一个条件中,"B "不等于零。所以在第二种情况下,它也不可能被零除掉。还是检查的条件不符合规定?

 
pivomoe #:

面临着一个令人困惑的问题。

你说得没错,条件是按顺序检查的。如果第一条是假的,那么第二条就不被检查。

然而,你的终端是在字符串的第60个字符处宣誓,而除数最多是17。也许你要看的不是'C.mqh'。


我也喜欢这样做。

if(A > B*1.1)
 
Aleksei Stepanenko #:

然而,你让终端在字符串的第60个字符处宣誓,而除数最多是17。

为了便于阅读,我改变了字符串。这里是原文。

if( BestSymmaSchtrafov != 0 && IdealnaySymmaSchtrafov/BestSymmaSchtrafov > 1.1)

分数符号正好在第60位。

 

在条件前面做一个"B "字印。它将写什么?


if( BestSymmaSchtrafov != 0)
   {
   printf(BestSymmaSchtrafov);
   if(IdealnaySymmaSchtrafov/BestSymmaSchtrafov > 1.1)
       {

       }
   }
 
我会试一试的。但不幸的是,它只在现实生活中擦出火花。而且非常少。我们必须等待...
 
pivomoe #:
我将尝试一下。但不幸的是,火花只在现实中出现。而且非常少。我们必须等待...

我正像阿列克谢那样做,2个如果。在一个带有逻辑和的ifa中,在下面的和中也抓住了除以0。2个ifas解决了这个问题。

 
Valeriy Yastremskiy #:

而且还在下面的E中抓取除以0。两个iphs解决了这个问题。

谢谢你。

 
我已经删除了一切 你不喜欢的东西都已经被删除了。