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

 

Expert Advisor をコンパイルすると、ログに次のようなメッセージが表示されます(しかも大量に表示されます)。

ファイル 'Time not waits_2011_00.mq5' の 20 行目 Trade.mqh 1021 45 で 'sl' の宣言がグローバル宣言を隠している。
ファイル 'Time not waits_2011_00.mq5' の Trade.mqh の 21 行目にある 'tp' の宣言がグローバル宣言を隠している 1021 48

以前のビルドにはなかった現象です。

 
Trolls:

Expert Advisor をコンパイルすると、ログに次のようなメッセージが表示されます(しかも大量に)。

ファイル 'Time not waits_2011_00.mq5' の 20 行目 Trade.mqh 1021 45 で 'sl' の宣言がグローバル宣言を隠している。
ファイル 'Time not waits_2011_00.mq5' の Trade.mqh の 21 行目にある 'tp' の宣言がグローバル宣言を隠している 1021 48

以前のビルドにはなかった現象です。

これは、ローカル変数とグローバル変数を 同名で宣言したことを意味します。ローカルスコープでは、グローバル変数が隠れる(見えなくなる)ので、コンパイラが警告を発しているのです。逃げ道は、違う名前をつけることです。
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
AlexSTAL:
それは何度も自問自答してきたことだ......。

servicedeskに書きました...。迅速に対応していただきました


良いものではありませんが・・・。

 
Jager:

コンパイル後、ストラテジーテスターの入力パラメータは、自身のパラメータにリセットされます。スタート、ステップ、ストップ。

コンパイル後に毎回、必要なテストパラメータを設定し直さなければならない。

とても不便なんです。

動作について詳しく教えてください。

試してみました。コンパイル時、端末の再起動時ともに、設定されたパラメータは保持されます。

 

Indicator lineのアカウントステータス値の初期化で困っています。

簡単に説明すると、履歴の期間でテストすると出力されるPrint( ) Equityが変化し、同じように変化する値をIndicatorデータバッファに書き込もうとすると、価格への書き込みの「能力」は既にテストされており、テスターからのエラーや指摘もないにもかかわらず、表示されないというものです。

この問題は、このスレッドの最後の6番目の投稿に詳しく書かれています: https://www.mql5.com/ru/forum/2963

Осциллятор Equity средствами MQL5
Осциллятор Equity средствами MQL5
  • www.mql5.com
С другой стороны, трудно понять, можно ли менять график осциллятора (а точнее буфер его данных) из кода OnTick эксперта, где метод AccountInfoDouble(ACCOUNT_EQUITY) работает.
 
32bitでは再コンパイルする必要がなく、64bitでも再コンパイルする必要はありませんでした)
 

リソースファイルの正しい参照方法は?

#resource "euro.bmp"
....
....
....
string res=MQL5InfoString(MQL5_PROGRAM_NAME)+"::euro";

これでよいのでしょうか?

 
前回のビルドでは、いくつかのミスが発生しました。機能
if(prev_calculated==0)

は、ダニが 出るたびに、そしてダニが出なくてもトリガーするようになりました。あたかもループしているかのように(1秒間に4回安定して)。また、ウィンドウをスクロールしていないのに、同時にターミナルが何かを連続的にロードし、インジケータはローソク足(画面上にあるもの)をほとんど必要としません。同時にタスクマネージャーでチャートの値が両コア最大で出力され、CPU負荷もかかり、MTが遅くなる(この機能では計算があり、それを外せば負荷はかからないがループが残る)。グラフからインジケータを外すと、しばらくして読み込みが停止します。以前はこうではなかった。一度だけ、当たり前のように動いたのだ。その前にコードがあります。

if(rates_total<0)
      {
         printf("На графике отсутствуют исторические данные");
         return(0);
      }
    
      if(rates_total<DATA_LIMIT)
      {
         printf("Недостаточно исторических данных, необходимое количество: "+string(DATA_LIMIT));
         return(0);
      }

コードからのメッセージは出力されないので、データは十分あります。とからです。

prev_calculated

テストメッセージは継続的に行われています。

この記事を書いている間にも、20MBtがダウンロードされ、継続しています。

一刻も早く元の状態に戻してください。

もし、最新のビルドでないものをお持ちの方がいらっしゃいましたら、教えてください。

 
-Alexey-:

前回のビルドでは、いくつかのバグが発生しました。関数if(prev_calculated==0) が毎ティックでトリガーするようになった...
同様に
 
Kos:

リソースファイルの正しい参照方法は?

これでよいのでしょうか?

"myexp.ex5::euro.bmp"