MQL4、MQL5に関する初心者からの質問、アルゴリズムやコードに関するヘルプ、ディスカッションなど。 - ページ 1936

 
何が問題なのかがわからない。インジケータにwhileループがありますが、問題なく動作しているようです。最初はテスト中にすべてが動作しましたが、1つの同じ場所でプログラムがハングアップし、ターミナルも、私はターミナルからソースコードを削除する必要があります。他の通貨でもハングアップする。プログラムのあちこちにコメントを入れて、やっとComment(rates_total+"˶" +prev_calculated); before returnまで来て止まってしまいます。そしてコメントによると、3247や3247といった数字が出たので、動作する条件(rates_total>prev_calculated)が満たされていないため、プログラムは何もしてはいけないということです。なぜハングするのか?
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   if(rates_total>prev_calculated)
     { 
         Comment("0");
          if(Count==0)
             total = rates_total-4;
          else
             total = rates_total - prev_calculated+2;

          if(total>10000)
             total=10000;

          for(int i=total; i>2; i--)
            {
            }
       
          while(begin<size-2)
            {
            }
      Count++;
     }  
     Comment(rates_total+"\n"+prev_calculated);          //виснет здесь(коммент 3247 и 3247)
   return(rates_total);
  }
 
Aleksandr Kononov Comment(rates_total+"˶" +prev_calculated); before returnまで来て止まってしまいます。そしてコメントによると、3247や3247といった数字が出たので、動作する条件(rates_total>prev_calculated)が満たされていないため、プログラムは何もしてはいけないということです。なぜハングするのか?

ドキュメントを よく読んでください。

式が真であれば、式が偽になるまで演算子が実行 される。
ループ条件における変数は何ですか?また、初期条件がtrueの場合、いつfalseになればループを抜けるのでしょうか?
Оператор цикла while - Операторы - Основы языка - Справочник MQL4
Оператор цикла while - Операторы - Основы языка - Справочник MQL4
  • docs.mql4.com
Оператор цикла while - Операторы - Основы языка - Справочник MQL4
 
Alexey Viktorov #:

ドキュメントを よく読んでください。

ループ条件におけるこれらの変数は何ですか?また、初期条件がtrueの場合、いつfalseになればループを抜けるのでしょうか?

ループは、その内容を理解するためだけのものです。書けばそこそこのコードが出てきます。問題は、このティックでは何も起きないのに、なぜリターンの前に作品が止まってしまうのか、ということです。コメントレートでは、totalはprevと等しく計算されるので、全く何もしない。

 
インジケータは一応動くが、条件によってはハングする
 
もしかして、何らかの遅延エラーなのでしょうか?プログラムが終了してハングアップしてしまうのですが、こんなことがあるのでしょうか?
 
結局、問題はループの中にあるんです。コメントが遅れて いる。プリントはループの最後
 
mql4で、他のオブジェクトの中から矢印を見つける方法を教えてください。矢印をすべて削除して、行を残す必要があります。
 
Aleksandr Kononov #:
mql4で、他のオブジェクトの中から矢印を見つける方法を教えてください。矢印をすべて削除し、線を残す

まあ、ドキュメントを 読んでください

int  ObjectsDeleteAll(
   int    sub_window=EMPTY,   // индекс окна
   int    object_type=EMPTY   // тип объекта для удаления
   );
ObjectsDeleteAll - Графические объекты - Справочник MQL4
ObjectsDeleteAll - Графические объекты - Справочник MQL4
  • docs.mql4.com
ObjectsDeleteAll - Графические объекты - Справочник MQL4
 
ありがとうございました。
 
mql4を知る良い機会です。任意の方向の利益確定ポジションにより、シリーズで最も遠い負け注文のパーセンテージ部分をクローズする機能があります。この機能を改善するための協力をお願いしますすなわち、最初の注文ではなく、シリーズの残りのすべての注文(あらゆる方向の利益のあるポジションによる)を部分的に決済する必要があるのです。ありがとうございました。
ファイル:
KJH.mq4  8 kb