[警告关闭!]任何新手问题,为了不给论坛添乱。专业人士,不要走过。没有你,哪里都不能去。 - 页 1071

 
eddy:
这就是它的作用,这就是为什么它在if()中。
是的,但是你进入了一个循环,如果条件没有得到满足,你的代码结构就永远无法走出这个循环,它变成了无限的,不会被打断。你看不到sec!的参数是什么,它没有被声明。
 
eddy:
int sec=Seconds();

怎么不宣布呢?)

循环必须在第二个变化时被打断

 
eddy:

怎么不宣布呢?)

循环必须在第二个变化时被打断

宣称是秒杀,但秒杀!(带感叹号) ?
 
!=
它是 "不平等的"
 
eddy:
是 "不等于"。
sec总是等于Seconds(),因为后者是一个常数,你把常数的值赋给了 "sec"。
 
在init()中的这个循环,在同一个地方声明了sec
 
警报 "信息储存在哪里,直到什么时候?是否可以不在 "信号 "窗口中阅读,而是在终端中打开它们所在的位置(有些时候,当你切换到另一个应用程序时, 窗口被关闭,你必须再次启动专家顾问才能看到它,这很不方便) ?
 

为什么这段代码对一个dc工作正常,但对另一个orderModify错误4051(无效票)?

 void Modify ()
      int total = OrdersTotal();
      for(int i=total-1;i>=0;i--)
      {
       OrderSelect(i, SELECT_BY_POS,MODE_TRADES);
       if   (OrderModify (OrderTicket(),OrderOpenPrice(),
            OrderOpenPrice()-NormalizeDouble(300*Point,Digits),
            OrderTakeProfit(),0,CLR_NONE)== false)
         {
          Modify();
         }
       }
 
         int sec=Seconds();
       while(true)
         if(sec!=Seconds()) break;   // new sec

为什么这个循环没有被打断?

 
eddy:

为什么循环不被打断?

尝试,而(false)

只要sec!=Seconds(),该循环就会运行。

或像这样

while(true)

if(sec==Seconds())break; // new sec