[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 1071

 
eddy:
そのためにif()に入っているのです。
はい、しかし、ループに入り、条件が満たされないと、あなたのコード構成ではループから抜け出せず、無限大になり、中断されることはありません。sec!のパラメータが何なのか、宣言されていないのです。
 
eddy:
int sec=Seconds();

どうして宣言しないのか:)

が変わると、そのサイクルは中断されなければならない。

 
eddy:

どうして宣言しないのか:)

が変わると、そのサイクルは中断されなければならない。

秒速宣言、でも秒速!(感嘆符付き) ?
 
!=
どうということはない
 
eddy:
は「not equal」です。
sec は常に Seconds() と等しくなります。後者は定数であり、定数の値を "sec" に代入しているからです。
 
init()内のこのループと同じ場所で宣言されているsec
 
Alert」メッセージはどこに、いつまで保存されるのですか?シグナル」ウィンドウではなく、ターミナルでシグナルのある場所を開いて読むことは可能でしょうか(他のアプリケーションに切り替えたときにウィンドウが閉じて しまい、Expert Advisorを再度起動しないと見られないことがあり、不便です)?
 

なぜこのコードはある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()の間だけ実行されます。

とか、こんな感じで

while(真)

if(sec==Seconds())break; // 新しいsec