[경고, 주제 닫힘!] 포럼을 어지럽히지 않도록 모든 초보자 질문. 프로, 놓치지 마세요. 당신 없이는 어디에도 없습니다. - 페이지 1071

 
eddy :
이것이 필요한 것입니다. 왜냐하면 if()에 있기 때문입니다.
예, 하지만 루프에 들어가고 조건이 충족되지 않으면 코드 구성 중에 루프를 종료하지 않고 무한이 되고 중단되지 않습니다. sec! 매개변수가 무엇인지 명확하지 않으며 선언되지 않았습니다.
 
eddy :
 int sec=Seconds();

어떻게 발표되지 않습니까?

두 번째 변경 시 주기를 중단해야 합니다.

 
eddy :

어떻게 발표되지 않습니까?

두 번째 변경 시 주기를 중단해야 합니다.

sec이 선언되고 sec! (느낌표와 함께) ?
 
!=
이건 같은게 아니야"
 
eddy :
이건 같은게 아니야"
sec은 항상 Seconds()와 같을 것입니다. 후자는 상수이고 상수 값을 "sec" 매개변수에 할당합니다.
 
init()의 이 루프는 sec이 거기에 선언되어 있습니다.
 
"경고" 메시지는 어디에 그리고 언제까지 저장됩니까? "Signal"창이 아니라 터미널에있는 장소를 열어 읽을 수 있습니까 ( 어드바이저가 중지 된 순간이 있습니다 , 다른 컴퓨터 응용 프로그램으로 전환 할 때 창이 닫힐 때 및 창이 다시 나타나게 하려면 어드바이저를 다시 시작해야 하므로 불편) ?
 

이 코드가 하나의 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 :

주기가 중단되지 않는 이유는 무엇입니까?

이것을 시도하는 동안 (거짓)

루프가 실행되는 동안 sec!=Seconds()

그 쯤

동안 (사실)

if (sec==Seconds()) break ; // 뉴섹