エラー、バグ、質問 - ページ 1959

 
2つのラインの違いは何ですか?
void OnStart()
{
  int i1 = (1 / 2) ? 1 : 0; // expression not boolean
  int i2 = (0) ? 1 : 0;     // no problem
}
 

編集部調べ

  • クラスがメソッドの内部で定義されている場合、エディタは誤ってそのクラスのメソッドを関数リスト(ALT+M)に表示します。
  • カーソルがどの関数/メソッドの中にあるのか、エディタでどうやって知ることができるのですか?
  • Metaeditorで次の行を入力すると
    DoubleToString(GetMicro
    GetMicrosecondCountの ツールチップ(正確には何と言うのでしょうか)が表示されない。


  • 選択肢のあるツールチップを表示したとき、↑キーでリストを下に移動することができない。リストがループしていないのは誤りです。
 

EAが動作しているチャートを手動で閉じる場合、その動作の確認をお願いします。EAで誤ってチャートを閉じて しまうことが非常に多くなりました。

 

昔、今はマーケットウォッチに載っていないシンボルで取引があった場合(非表示部分も含む)、これらの取引を表示する際、端末はこれらのシンボルのDigitsデータを どこで取得するのでしょうか?

 
StringReplaceをより簡単に/より論理的に使用することは可能でしょうか?
int  StringReplace( 
   string&         str,              // строка, в которой будет осуществляться замена 
   const string    find,             // искомая подстрока 
   const string    replacement,      // подстрока, которая будет вставлена в найденные места 
   const uint Amount = 0             // Максимальное количество замен, 0 - все меняем.
   );

例えば、置換される文字列が一度しか出現しないことが分かっている場合、最初の置換の後に検索して計算資源を 浪費する必要はないだろう。

 

Optimisationを実行する際、エラーが発生した場合はLogタブをハイライトしてください。これで、最適化エラーが発生したのか、最適化の実行に時間がかかっているのかを推測する必要があります。自分でログブックを見てみないとわからない。エラーが発生した場合は、すぐにユーザーに通知する必要があります。

 
テスターのバグ
void OnInit()
{
  ExpertRemove();

  Print((bool)_StopFlag); // Реал - true, тестер - false
}
 
_StopFlag とIsStopped() は bools ではありません。ヘルプを修正する。
void OnStart()
{
  Print(_StopFlag);   // 0
  Print(IsStopped()); // 0
  
  bool StopFlag = _StopFlag;
  
  Print(StopFlag); // false
}
 

テスターでは、出金時に、コメントを設定することができません。を追加してください。

bool  TesterWithdrawal( 
   double money      // размер снимаемой суммы 
   const string Comment = "withdrawal"
   );
 

ローカルエージェントのみの テスターでは、次のようなメッセージが表示されます。

Tester  debug version of "fxsaber\Test.ex5" detected
Tester  debug version of "MQL5\Experts\fxsaber\Test.ex5" can be optimized on local agents only, no Cloud, no Farm
Tester  OnTesterInit works too long...
Tester  OnTesterInit works too long...

明らかにバグです。