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

 
Vigor:

コードオプティマイザは、オブジェクトツリーのサイズに制限を設けていますか?

オブジェクトの数を増やすと、コンパイルの段階で「ツリー最適化エラー」が発生するのですが。

追伸:デバッグモードでは コンパイルできます。

servicedkのチケットでソースコードの例を添付してもらえますか?検証後、コードは削除されます。

ほとんどの場合、長い関数が原因ですが、私たち自身で調べてエラーを修正するために、コードを送っていただいた方がいいと思います。多くのトレーダーに役立つことでしょう。

 
Valmars:

まず、テスターで強制的に履歴をダウンロードする意味は何でしょうか?コードや取引操作で 必要なシンボルの要求があれば、テスター自身がサーバーから必要な履歴やアクセス可能な履歴をダウンロードします。あなたのコードは空なので、テスト者はテストが実行されるシンボル以外の他のシンボルのティックをシミュレートする必要はないのです。そして、その履歴をテスターがダウンロードしたことです。そして、(テスターでは)履歴がないので、結局0になります。

次に、全シンボルの全履歴を呼び出すことでコードを補強しても、全シンボルの利用可能な全履歴のダウンロードが成功する可能性は低く、どこかで失敗が発生することになる。テスターは端末の見積もりベースを使用するため、必要な履歴をダウンロードする必要があります。
テスターが他のシンボルのティックをシミュレートしようとすると、この日付には履歴がないため、ログには0件のM1レコードが含まれる といったメッセージがあふれだし、ログは想像を絶するボリュームに膨れ上がります。これらのエラーを避けるために、履歴の開始日を知る必要がありますが、リクエストすると関数SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE) が0件を返してくれます。
 

ターゲット関数Balance + min Drawdownを 選択したときのResult欄の値の意味を教えてください。

 
tol64:

ターゲット関数Balance + min Drawdownを 選択したときのResult欄の値の意味を教えてください。

ターミナルのヘルプを見れば、そこにすべて書かれているので、多くの疑問が消えるだろう

最適化基準

最適化基準とは、その値がテストされた入力パラメータのセットの品質を定義する、ある特定の要因のことです。 最適化基準の値が高いほど、与えられたパラメータセットでのテスト結果が良好であるとみなされる。このパラメータは、「最適化」フィールドの右側にある「設定」タブで選択できます。

最適化基準は、遺伝的アルゴリズムにのみ必要です。

以下の最適化基準を用意しています。

  • 最大バランス - 最適化指標は最大バランス値 です。
  • バランス+最大収益性 - バランスの最大値と収益性を掛け合わ せたものが最適化された基準です。
  • 残高+最大期待報酬 -残高と期待報酬の積 を指標とする。
  • 残高+最小ドローダウン -ドローダウンレベル(100%-ドローダウン)※残高値以外に残高も 考慮されます。
  • バランス+最大回収 - バランスと回収率の積が値と なります。
  • 残高+最大シャープレシオ - 残高とシャープレシオの積が指数と なる。
  • カスタム最適化基準 - このオプションを選択すると、Expert AdvisorのOnTester()の値が最適化基準として考慮 されます。 このオプションにより、ユーザーは最適化に任意のカスタムインジケータを使用 することができます。


 
sergey1294:

ありがとうございます。))なぜか、残高 Minimum Drawdownではなく、Minimum Drawdownの基準で考えていました。))

 
sergey1294:
テスターが他のシンボルのティックをシミュレートしようとすると、この日に履歴がないので0件のM1レコードを含むといった メッセージでログが埋まり始め、ログは想像を絶する量に膨れ上がり、これらのエラーを避けるために履歴の日付を知る必要がありますが、関数SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE) にリクエストすると0件返されます。

私が理解する限り、テストの前に、テスターは接続された口座(サーバーへの接続がない場合は最後に接続された口座)のマーケット環境を作成し、サーバーとのデータの同期をチェックし(これも接続がある場合)、テストの開始日から不足している気配値をアップロードし(接続がある場合)、必要なすべてのシンボルの気配値のテストシーケンスを作成し、その後初めてテストを開始するのです。必要な履歴をダウンロードできなかった場合(たとえば、サーバーに履歴がない、またはサーバーに接続できないなど)?素直に伝えてくれる。いいえ、その必要はありません。

次に、サーバー上(テスター内)の履歴の開始日を取得したいと思います。このプロパティは、サーバーから保存された可能性がありますが、テスターのマーケット環境には含まれていないようです。エラーなのでしょうか?違うと思います。テスト開始後、テスターがサーバーにアクセス(ターミナル経由)しても、必要な見積書をダウンロードすることができない。利用可能なものはすべて、テストプロセスの初期化段階でテスターによってすでにロードされ、テストシーケンスはすでに形成されており、変更することはできません。SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE) の代わりに、あなたの場合はSeriesInfoInteger(symbol,0,SERIES_FIRSTDATE) を使えばいいと思います テスターでは動くはずです。

 
Renat:

servicedkのチケットでソースコードの例を添付してもらえますか?検証後、コードは削除されます。

おそらく、長い関数に関するものだと思いますが、コードを送っていただければ、それを調べてエラーを修正することができます。多くのトレーダーに役立つことでしょう。

OK、「コード生成エラー」「ツリー最適化エラー」の2つのオプションを添付します。onInit関数は 本当に長いです(生成されたコードで〜1000行)。

チケット番号217917

Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
Vigor:

OK、「コード生成エラー」と「ツリー最適化エラー」のある2つのバリアントを添付します。onInit関数は 本当に長いです(生成されたコードで〜1000行)。

チケット番号 217917

ありがとうございます、月曜日に調べてみます。
 
Valmars:

私が理解する限り、テストの前に、テスターは接続された口座(サーバーへの接続がない場合は最後に接続された口座)のマーケット環境を作成し、サーバーとのデータの同期をチェックし(これも接続がある場合)、テストの開始日から不足している気配値をアップロードし(接続がある場合)、必要なすべてのシンボルの気配値のテストシーケンスを作成し、その後初めてテストを開始するのです。必要な履歴をダウンロードできなかった場合(たとえば、サーバーに履歴がない、またはサーバーに接続できないなど)?素直に伝えてくれる。いいえ、その必要はありません。

次に、サーバー上(テスター内)の履歴の開始日を取得したいと思います。このプロパティは、サーバーから保存された可能性がありますが、テスターのマーケット環境には含まれていないようです。エラーなのでしょうか?違うと思います。テスト開始後、テスターがサーバーにアクセス(ターミナル経由)しても、必要な見積書をダウンロードすることができない。利用可能なものはすべて、テストプロセスの初期化段階でテスターによってすでにロードされ、テストシーケンスはすでに形成されており、変更することはできません。SeriesInfoInteger(symbol,0,SERIES_SERVER_FIRSTDATE) の代わりに、あなたの場合はSeriesInfoInteger(symbol,0,SERIES_FIRSTDATE) を使えばいいと思います テスターでは動くはずです。


同じ関数がゼロを返す。SERIES_TERMINAL_FIRSTDATEも試して みました。結論から 言うと、SeriesInfoInteger 関数は テスターでは 動作しない。テストが実行されている機器に対してのみ機能します。履歴の開始日が異なる機器に対して、"All history "区間を選択したときにテストを実行する方法をご存知でしょうか?
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Информация об исторических данных по инструменту
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Информация об исторических данных по инструменту
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Информация об исторических данных по инструменту - Документация по MQL5
 
また、端末の時刻がGMT+0に跳ね上がっていますが、本来はGMT+1のはずです。訂正してください。