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

 
Jenya77769:

谢谢你,它起作用了,只是我把q和w分别规范化了。

你需要将两个数字的差值正常化。并将其与零进行比较。
 
Artyom Trishkin:
如果是第十条,我怎么知道第十条和零条之间的区别?10-0=10
而我为什么要减去它呢?


我们可以在纸上看到,10-0=10。但我们如何把这个条件写进程序。我还没有找到一个可以返回酒吧编号的函数。还是我看得太重了?

 
Youri Lazurenko:

我们可以在纸上看到,10-0=10。但我们如何把这个条件写进程序。我还没有找到一个可以返回酒吧编号的函数。还是我看得太重了?

好吧,你已经找到了这个酒吧。在寻找交叉点的函数中。
 
Artyom Trishkin:
好吧,你已经找到了那个酒吧。在寻找交叉点的函数中。
是的,我发现了它。我想在写你的答案时,我理解了你的观点--IntersectionXX()函数只是给我这个数字,让它成为10。我说对了吗?
 
double SPREAD=MarketInfo(Symb,MODE_SPREAD);// Спред
 double q=High[0]-3.0*Point-High[1];
double w=-SPREAD*Point;

if(NormalizeDouble(q,4)> NormalizeDouble(q,4))
Artyom Trishkin
:

将两个数字之间的差异归一化。并将其与零进行比较。

而我的做法,会不会有错误呢?

 
Youri Lazurenko:
是的,我发现了它。我想我在写答案时明白了你的意思--IntersectionXX()正是给了我这个数字,让它成为10。我说对了吗?
 
Artyom Trishkin:

非常感谢你。是的,我的逻辑、想象力和判断力都有点欠缺。再次感谢您,并祝您一切顺利。

 

你好!我想获得当前月份的开盘时间,但得到一个错误4074(ERR_NO_MEMORY_FOR_HISTORY)。同样有趣的是,如果我从6月1日开始测试,它是正确的,但从6月2日开始就会出现错误。如何解决这个月的问题?

   datetime iTimeMN=iTime(NULL,PERIOD_MN1,0);
   Print("iTimeMN= ",iTimeMN);
   if(iTimeMN==0)
     {
      Print(" Error= ",GetLastError());
      Sleep(1000);
     }
 

大家好,请帮助我改变变量的值。有两个变量的初始值为零。例如,我在图表上总是有两个层次。如何做到当达到一个级别时,第一个变量的值变为 "1",只有当达到另一个级别时,它的值才变回 "0",而第二个变量的作用则相反。

 
AlGuru:

大家好,请帮助我改变变量的值。有两个变量的初始值为零。例如,我在图表上总是有两个层次。如何做到在达到一个水平时,第一个变量的值变成了 "1",而在达到另一个水平时才变回 "0",而第二个变量则以相反的方式发生作用。


一切似乎都在运作。不过一开始并不奏效。很奇怪。

原因: