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

 

バグ- ファントムインジケーターのコード

インジケーターがあり、エスペクターが作業している。インジケーターのコードが変更されます。再コンパイルされ、インジケータの変化がチャート上で明確に確認できる。テスターでExpert Advisorを走らせていますが、コードは変更されていないようです。結果は同じです。

インジケーターのex5を削除することも可能です。何事もなかったかのようにテスターでエキスパートを動かし続けることができます(この削除されたex5はテスター内に明記されています)。実行ファイルをどこから取得するのか、エーテルから なのか?

ターミナルを再起動し、その後テスターを実行すると、新しいコードが表示されます。(ex5がない場合はエラーを投げる)


ターミナルを再ログインしたり(再起動せずに)、エスパータ自体を再コンパイルしたりと、新しいコードを表示させるために様々な方法を試してみました。テスターのエキスパートパラメータを変更しました。ターミナルを再起動する以外、何も解決しない

 
Max B #:

バグ- インジケータファントムコード

インジケーターがあり、エスペクターが作業している。インジケーターのコードが変更されます。再コンパイルされ、インジケータの変化がチャート上で明確に確認できる。テスターでExpert Advisorを走らせていますが、コードは変更されていないようです。結果は同じです。

インジケーターのex5を削除することも可能です。何事もなかったかのようにテスターでエキスパートを動かし続けることができます(この削除されたex5はテスター内に明記されています)。実行ファイルをどこから取得するのか、エーテルから なのか?

ターミナルを再起動し、その後テスターを実行すると、新しいコードが表示されます。(ex5がない場合はエラーを投げる)


ターミナルを再ログインしたり(再起動せずに)、エスパータ自体を再コンパイルしたりと、新しいコードを表示させるために様々な方法を試してみました。テスターのエキスパートパラメータを変更しました。端末を再起動する以外、何の役にも立たない。

あなたはすでに自分の質問に答えています。削除しても表示される場合は、どこかに保存されていることを意味します)))。端末を起動すると、最後の状態からプロファイルから環境全体が引き出されます。まるで、ターミナルウィンドウ上のすべてのExpert AdvisorとIndicatorをプリセットパラメータでリセットしたかのようです。あなたの場合、Expert Advisorを再コンパイルする必要があるか、削除して再ロードすることができます。それ(EA)はすでに旧バージョンのハンドルとデータを引き出しており、再計算はしていません。

 
Valeriy Yastremskiy #:

あなた自身が自分の質問に答えているのです。削除しても表示されるのであれば、どこかに保存されているはずです)。端末を読み込むと、最後の状態から環境全体がプロファイルから引き出されます。まるで、ターミナルウィンドウ上のすべてのExpert AdvisorとIndicatorをプリセットパラメータでリセットしたかのようです。あなたの場合、Expert Advisorを再コンパイルする必要があるか、削除して再ロードすることができます。それ(EA)はすでに旧バージョンのハンドルとデータを引き出しており、再計算はしていません。

ターミナルのExpert Advisorは何もハングアップせず、ストラテジーテスターだけがハングアップさせるのです。Expert Advisor 自体の deinit に IndicatorRelease(handle_mtf_Sys) があります。 EA を再コンパイルしてみましたが、役に立ちませんでした。 まだ何らかの形で、幻のコードを取っているのでしょう。

 
Max B #:

ターミナルのExpert Advisorは何もハングアップせず、Strategy Testerだけがハングアップを許可しています。Expert Advisor 自体は、IndicatorRelease(handle_mtf_Sys); で deinit しています。 再コンパイルしてみましたが、役に立ちません。 まだ何らかの形でファントムコードが取られています。

テスターでは、「設定」タブのほかに、「設定」タブがあります。もしかしたら、古いデフォルト値があるかもしれませんので、確認してみてください。それもないのなら、そう、バグですね、私も2ヶ月ほど前に同じようなことがありましたが、その後なくなりました、なんだったんでしょう。
 
Max B #:

ターミナルのExpert Advisorは何もハングアップせず、Strategy Testerだけがハングアップを許可しています。Expert Advisor 自体の deinit に IndicatorRelease(handle_mtf_Sys) があります。 EA を再コンパイルしてみましたが、役に立ちませんでした。 まだ何らかの形でファントムコードが取られています。

まずインジケータをコンパイルして、次にEA? そしてEAは古いインジケータのデータを取得する?もしそうなら、それはバグに違いない。Expert Advisor はハングアップせず、ターミナルのチャートウィンドウで動作します。そして、通常のクロージングでは、すべてのチャートの状態を記憶し、キャッシュしています。もしかしたら、物理的なファイルも持っているかもしれません。わからない。でも、バグから判断すると可能性はありますね。

exechangerを削除してもmclファイルがある場合、exechangerがないmclファイルはターミナルをロードする際にすべてコンパイルされます。これは、メタエディタなしでコンパイルしてmclファイルのexeshesを取得する方法の一つで、ターミナルを再読み込みすることです。

 
Wizard #:
Strategy Tester では、Settings タブの他に、Settings タブがあります。もしかしたら、古い値がデフォルトで入っているかもしれませんので、確認してみてください。同じでないなら、はい、これはバグです、2ヶ月前、私は同じだった、その後消えた、私はそれが何であったかを知らない。

パラメータはそこに記憶されています。しかし、この場合、パラメータは変化しないし、重要ではありません。変更するのはインジケータ内のコードです。一般的に、このバグは不快です。テスターを実行する前に、毎回ターミナルを再読み込みしなければなりません。

Valeriy Yastremskiy#:

まずインジケータをコンパイルし、次にExpert Advisorをコンパイルし、Expert Advisorは古いインジケータのデータを取得するのですか?もしそうなら、それはバグに違いない。Expert Advisor はハングアップせず、ターミナルのチャートウィンドウで動作します。そして、通常のクロージングでは、すべてのチャートの状態を記憶し、キャッシュしています。物理的なファイルでもいいかもしれませんね。わからない。しかし、このバグを見る限り、そうなのかもしれません。

私たちのEAは、どのチャートの上にも座らないということです。選択したストラテジーテスターにのみあります。ターミナルではなく、ストラテジーテスターでのデバッグが気になります。どこにもキャッシュされないようにする必要があります。

Strategy Testerの起動時には、ソース不明のファントムではなく、最新のコンパイル済みバージョンのインジケータとEAがロードされる必要があります。意味があるのでしょうか?

 
Max B #:

パラメータはそこに記憶されています。しかし、この場合、パラメータは変化しないし、重要ではありません。変更するのはインジケータ内のコードです。一般に、このバグは不快です。テスターを起動する前に、毎回ターミナルを再起動しなければなりません。

私たちのEAはどのチャートにも属さないということです。ストラテジーテスターにしかない。ターミナルではなく、ストラテジーテスターでのデバッグを気にしています。どこにもキャッシュされないようにする必要があります。

Strategy Testerの起動時には、ソース不明のファントムではなく、最新のコンパイル済みバージョンのインジケータとEAがロードされる必要があります。意味があるのでしょうか?

再現性のあるバグの例を作り、コードと一連の動作とともにここに投稿してください。もしかしたら、開発者が注目するかもしれません)。
 

EAの入力 設定画面で、通貨ペアや商品(マイペア)のドロップダウンリストを作りたいのですが、どうすればいいですか?どうすればいいのでしょうか?

第二の質問:どのように書くのが正しいのでしょうか?

こんな感じ。

double stop = SymbolInfoDouble(_Symbol, SYMBOL_ASK) - NormalizeDouble(100*_Point, _Digits);

あるいはこんな感じ。

double stop = NormalizeDouble(SymbolInfoDouble(_Symbol, SYMBOL_ASK) - 100*_Point, _Digits);

???

3つ目の質問です。価格の正常化を2-3回連続で行うことは可能でしょうか?仕事に影響しないか?

質問がくだらないのは分かっていますが、どちらの選択肢もうまくいっても、今は小さなことで悩んでいます。正しい方法を知る必要がある。

 
Wizard #:

EAの入力 設定画面で、通貨ペアや商品(マイペア)のドロップダウンリストを作りたいのですが、どうすればいいですか?どうすればいいのでしょうか?

第二の質問:どのように書くのが正しいのでしょうか?

こんな感じ。

あるいはこんな感じ。

???

3つ目の質問です。価格の正常化を2-3回連続で行うことは可能でしょうか?仕事に影響しないか?

質問がくだらないのは分かっていますが、どちらの選択肢もうまくいっても、今は小さなことで悩んでいます。正しい方法を知る必要がある。

この NormalizeDouble 構文は、扱いが重く、できれば避けたいものです。

 
Vitaly Muzichenko #:

このNormalizeDoubleの構造はできれば避けたい、扱いが重い。

了解です。また、CsymbolInfoクラスのNormalizePrice関数を使いたくない場合(できればライブラリは避けたい)、代替手段はあるのでしょうか?

Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo
Документация по MQL5: Стандартная библиотека / Торговые классы / CSymbolInfo
  • www.mql5.com
CSymbolInfo - Торговые классы - Стандартная библиотека - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5