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

 
-Aleks-:

请帮助--我不明白为什么我在计算i>0值的VesMass数组时得到零?

事实证明,我应该写的不是4和5,而是4.0和5.0--逻辑是什么--我不清楚......。
 
-Aleks-:

事实证明,你应该写的不是4和5,而是4.0和5.0 - 逻辑是什么 - 我不清楚......
阅读文件就会明白。你自己做的很好。
 
Alexey Viktorov:
阅读文件就会明白。你自己做的很好。

是的,我以前读过类似的东西--所以我决定尝试一下,但不清楚背后的逻辑在哪里......顺便说一下,我在文档中找不到答案。
 
-Aleks-:

我以前读过类似的东西--所以我决定尝试一下,但不清楚背后的逻辑在哪里......。顺便说一句,我在文档中也找不到答案。


这不仅是MCL的一个特点,在C++和其他编程语言中也是如此--两个整数或(int)类型的变量的除法会得到截断为整数的结果。在你的案例中,4/5=0。

你可以写4.0/5或(双)4/5--那么结果就是一个实数。
 
Vitalie Postolache:


这不仅是ICL的特点,在C++和其他编程语言中也是如此--两个整数或(int)类型的变量相除会得到一个截断的结果,变成一个整数。在你的案例中,4/5=0。

你可以写4.0/5或(双)4/5--那么结果就是一个实数。

我明白这一点,但我不明白解决方案的逻辑--也就是说,需要。

 
-Aleks-:

我明白这一点,但我不明白解决方案背后的逻辑--也就是说,需要。


好吧,你不争论 "为什么2*2=4的算术,解决方案的逻辑是什么"?你只是把它当作一个公理并使用它。两个整数的除法也是如此。
 
Vitalie Postolache:

好吧,你不争论 "为什么2*2=4的算术,解决方案背后的逻辑是什么"?你只是把它当作一个公理并使用它。这与两个整数的除法是一样的。

我将与另外的人核实...

 


Kot


这条线是一条趋势线。我把它的属性改为射线。这并没有帮助。如果我想让它输出价格,而不考虑零杠的位置(上面,下面)。

这个代码也不起作用。

int start() {

double pr=ObjectGetValueByShift("line",0)。

如果(Bid==pr){

Alert (pr);}

return(0);}


线路名称的拼写是否正确?

试试这个脚本,并在日志中显示它的内容。

void OnStart()
  {
     double pr;
     int obj_total=ObjectsTotal(); 
     string name;
     int i; 
     
   for(i=0;i<obj_total;i++) 
     { 
      name=ObjectName(i); 
      if(ObjectType(name)!=OBJ_TREND) continue; 
      PrintFormat("Объект %d:     Имя объекта - %s",i,name); 
      pr=ObjectGetValueByShift(name,0);
      PrintFormat("Объект %d:     Цена - %.5f",i,pr);
      
     }  

}

脚本检测到了这个对象,正确地写出了这个名字。但价格绝对是左支右绌的。它在照片上用一条横线 标出。它给出了这些价格,无论条形图是否越过线。

附加的文件:
23.png  62 kb
 
Kot:


这条线是有趋势的。把属性改成了梁。这并没有帮助。理想情况下,无论零条的位置如何(顶部、底部),都应该显示价格。

这个代码也不起作用。

int start() {

double pr=ObjectGetValueByShift("line",0)。

如果(Bid==pr){

Alert (pr);}

return(0);}

竞价可以很容易地跳过你的线,它没有义务在每个点上停止(即,你不会得到确切的平等)。

将条件改为例如如果((MathMin(Close[1],Open[0])<=pr && Bid>=pr) || (MathMax(Close[1],Open[0])>=pr && Bid<=pr))或类似的...

 
Maxim Kuznetsov:

竞价可以很容易地跳过你的线,它没有义务在每一个点停止(即,完全平等不会发生)。

将条件改为例如如果((MathMin(Close[1],Open[0])<=pr && Bid>=pr) || (MathMax(Close[1],Open[0])>=pr && Bid<=pr))或类似的...


谢谢你!得到了这个想法。

如果情况不同呢。图表上有不同名称的横线。你需要脚本来计算哪一行对应于哪一个价格。

原因: