一体どうなっているのでしょうか。 - ページ 4 12345678910 新しいコメント Andrey Dik 2020.05.11 10:54 #31 SeriousRacoon: そして、現在のロジックを無効にして、普通のウィザードに置き換えてみてください。猫がどこで間違ったのか、ロジックか実行か、すぐにわかります。 良いアドバイスだ.少なくとも、ユーザーが望むこと、開発者が望んだことは、最適化とはシングルランの個別インスタンスにほかならないという考えに至るべきではないでしょう。 つまり、Expert Advisorのアルゴリズムがいかに複雑であっても、最適化の際に1回の実行で 得られる結果は、複数の実行で得られる結果と同一でなければならないのです。 私は(Renatがアドバイスするように)最適化中の各実行が完了した時点で、パラメータを含むファイルに取引履歴を印刷し(作成されたファイルの山から検索しやすくするため)、1回の実行についても同じことをします。このようにして、最適化と1回の実行後の結果の違いを見つけることが可能になります。 というのが真相のようです。 しかし、最適化とシングルランで結果が異なるのは、どのようなニュアンスなのでしょうか? Andrey Dik 2020.05.11 11:01 #32 Алексей Тарабанов: " ほぼ全てのデータがループで初期化される " 。 みんな、ループの中で初期化してはいけないよ。ループで読まないといけない。 どのような場合に、それが可能であるばかりでなく、必要であり、他に方法がないかを示したのです。 削除済み 2020.05.11 11:26 #33 アンドレイ・ディック さん、ファイルへの印刷をどのように行うか、具体的に教えてください。ファイルはそのまま書き込めばいいようです。そして、そこには具体的に何を書けばいいのか。価格は参考にはならない。 矛盾の理由を理解するのに役立つ情報を書く必要があります。どのような情報ですか?どこにあるのでしょうか?まだ全然わからないです。 Andrey Dik 2020.05.11 11:49 #34 Сергей Таболин: アンドレイ・ディック さん、ファイルへの印刷をどのように行うか、具体的に教えてください。ファイルはそのまま書き込めばいいようです。そして、そこには具体的に何を書けばいいのか。価格 - 参考にはならない。矛盾の理由を理解するのに役立つ情報を書く必要があります。どのような情報ですか?どこにあるのでしょうか?まだ何も考えていません。 OnTester()関数内で、InputName1 + "_" + InputName2 + "_" + InputName3 + "_" + InputName4 + "_" +...というファイルを作成します。を作成し、その中に全ての取引(ポジションではない)の履歴を記録することで、分析に必要な情報、時間、価格などが全て記録されることになります。また、このファイルには、特定のEAについて非常に興味深いことを書き込むことができます。これは、オプティマイザと1回の実行の間に矛盾がないかを検索するのに便利でしょう。 MQLInfoInteger (MQL_OPTIMIZATION)) をチェックして、最適化後に同じファイルを上書きしないように、一回の実行でファイル名に postfix を追加することを忘れないようにしてください。 SZY. もし、内容の異なる2つのファイルがあったとしても、それは開発者にとって十分なものではなく、さらに掘り下げるべき方向を示すだけで、再現可能な問題コードを持ってくる必要があります。 削除済み 2020.05.11 12:10 #35 Andrey Dik: OnTester()関数内で、InputName1 + "_" + InputName2 + "_" + InputName3 + "_" + InputName4 + "_" +...という名前のファイルを作成します。を作成し、その中に全ての取引(ポジションではない)の履歴を記録することで、分析に必要な情報、時間、価格などが全て記録されることになります。また、このファイルには、特定のEAについて非常に興味深いことを書き込むことができます。これは、オプティマイザと1回の実行の間に矛盾がないかを検索するのに便利でしょう。 MQLInfoInteger (MQL_OPTIMIZATION)) をチェックして、最適化後に同じファイルを上書きしないように、一回の実行でファイル名に postfix を追加することを忘れないようにしてください。 SZY.内容の異なる2つのファイルを取得しても、開発者にとっては十分ではなく、次にどこを掘ればいいかの方向性を示すだけなので、再現性のあるコードの問題を挙げてください。 EAのコードに問題があるといいのですが。 ありがとうございます。します。 Andrey F. Zelinsky 2020.05.11 13:07 #36 Сергей Таболин: ありがとうございます。していきます。 Andrey F. Zelinsky 2020.05.11 13:20 #37 Сергей Таболин: ありがとうございます。します。 グローバルに宣言された変数の初期化を 確認する。 初期化がOnInit()内ではなく、宣言内であり、コード内でその値が変更された場合。 Andrey Dik 2020.05.11 13:28 #38 Andrey F. Zelinsky: グローバルに宣言された変数の初期化を 確認する。 初期化がOnInit()内ではなく、宣言内であり、コード内でその値が変更された場合。 変数が初期化されているかどうかに関係なく、両方のテスターモード(最適化と単一実行)で結果が一致する必要があります。 SeriousRacoon 2020.05.11 13:40 #39 Andrey Dik: 良いアドバイスだ.少なくとも、ユーザーが望むこと、開発者が望むことは、そうであるべきなのです。 つまり、Expert Advisorのアルゴリズムがいかに複雑であっても、最適化の際に1回の実行で 得られる結果は、複数の実行で得られる結果と同一でなければならないのです。 私は(Renatがアドバイスするように)最適化中の各実行が完了した後、パラメータを含むファイルに取引の履歴を印刷し(作成されたファイルのヒープから検索しやすくするため)、単一の実行中に同じことを行うことで、最適化と単一の実行後の結果の違いを見つけることが可能です。 しかし、最適化後のシングルランと最適化バッチランが同一であれば、論理的には原理的にありえないことなので、何が、どういうニュアンスで、異なる結果になるのか、非常に気になるところではあります。 全般的には賛成です。もしowlが本当に環境(optimizerで動いているかtesterで動いているか)によって分岐しないのであれば、最適化モードではtesterの一部のapiコールが速度的に最適化されすぎているとしか考えられません、トートロジーで失礼します。おそらく、使用する関数のフラグに依存するのでしょう。トランザクションと実行結果の詳細なログがあると助かりますね、はい。 個人的には出会ったことがない。 Andrey F. Zelinsky 2020.05.11 13:40 #40 Andrey Dik:変数が初期化されているかどうかに関係なく、両方のテスターモード(最適化と単一実行)で結果が一致する必要があります。 int kk=0 のように、変数をグローバルに宣言し、宣言時に初期化する。 そして、OnTick()で、Print("kk=",kk); ++kkのように、unprintして値を変更します。 そして、TFやパラメータを変更し、その結果をご覧ください。 12345678910 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
そして、現在のロジックを無効にして、普通のウィザードに置き換えてみてください。猫がどこで間違ったのか、ロジックか実行か、すぐにわかります。
良いアドバイスだ.少なくとも、ユーザーが望むこと、開発者が望んだことは、最適化とはシングルランの個別インスタンスにほかならないという考えに至るべきではないでしょう。
つまり、Expert Advisorのアルゴリズムがいかに複雑であっても、最適化の際に1回の実行で 得られる結果は、複数の実行で得られる結果と同一でなければならないのです。
私は(Renatがアドバイスするように)最適化中の各実行が完了した時点で、パラメータを含むファイルに取引履歴を印刷し(作成されたファイルの山から検索しやすくするため)、1回の実行についても同じことをします。このようにして、最適化と1回の実行後の結果の違いを見つけることが可能になります。 というのが真相のようです。
しかし、最適化とシングルランで結果が異なるのは、どのようなニュアンスなのでしょうか?
" ほぼ全てのデータがループで初期化される " 。
みんな、ループの中で初期化してはいけないよ。ループで読まないといけない。
どのような場合に、それが可能であるばかりでなく、必要であり、他に方法がないかを示したのです。
アンドレイ・ディック さん、ファイルへの印刷をどのように行うか、具体的に教えてください。ファイルはそのまま書き込めばいいようです。そして、そこには具体的に何を書けばいいのか。価格は参考にはならない。 矛盾の理由を理解するのに役立つ情報を書く必要があります。どのような情報ですか?どこにあるのでしょうか?まだ全然わからないです。
アンドレイ・ディック さん、ファイルへの印刷をどのように行うか、具体的に教えてください。ファイルはそのまま書き込めばいいようです。そして、そこには具体的に何を書けばいいのか。価格 - 参考にはならない。矛盾の理由を理解するのに役立つ情報を書く必要があります。どのような情報ですか?どこにあるのでしょうか?まだ何も考えていません。
OnTester()関数内で、InputName1 + "_" + InputName2 + "_" + InputName3 + "_" + InputName4 + "_" +...というファイルを作成します。を作成し、その中に全ての取引(ポジションではない)の履歴を記録することで、分析に必要な情報、時間、価格などが全て記録されることになります。また、このファイルには、特定のEAについて非常に興味深いことを書き込むことができます。これは、オプティマイザと1回の実行の間に矛盾がないかを検索するのに便利でしょう。
MQLInfoInteger (MQL_OPTIMIZATION)) をチェックして、最適化後に同じファイルを上書きしないように、一回の実行でファイル名に postfix を追加することを忘れないようにしてください。
SZY. もし、内容の異なる2つのファイルがあったとしても、それは開発者にとって十分なものではなく、さらに掘り下げるべき方向を示すだけで、再現可能な問題コードを持ってくる必要があります。
OnTester()関数内で、InputName1 + "_" + InputName2 + "_" + InputName3 + "_" + InputName4 + "_" +...という名前のファイルを作成します。を作成し、その中に全ての取引(ポジションではない)の履歴を記録することで、分析に必要な情報、時間、価格などが全て記録されることになります。また、このファイルには、特定のEAについて非常に興味深いことを書き込むことができます。これは、オプティマイザと1回の実行の間に矛盾がないかを検索するのに便利でしょう。
MQLInfoInteger (MQL_OPTIMIZATION)) をチェックして、最適化後に同じファイルを上書きしないように、一回の実行でファイル名に postfix を追加することを忘れないようにしてください。
SZY.内容の異なる2つのファイルを取得しても、開発者にとっては十分ではなく、次にどこを掘ればいいかの方向性を示すだけなので、再現性のあるコードの問題を挙げてください。 EAのコードに問題があるといいのですが。
ありがとうございます。します。
ありがとうございます。していきます。
ありがとうございます。します。
グローバルに宣言された変数の初期化を 確認する。
初期化がOnInit()内ではなく、宣言内であり、コード内でその値が変更された場合。
グローバルに宣言された変数の初期化を 確認する。
初期化がOnInit()内ではなく、宣言内であり、コード内でその値が変更された場合。
変数が初期化されているかどうかに関係なく、両方のテスターモード(最適化と単一実行)で結果が一致する必要があります。
良いアドバイスだ.少なくとも、ユーザーが望むこと、開発者が望むことは、そうであるべきなのです。
つまり、Expert Advisorのアルゴリズムがいかに複雑であっても、最適化の際に1回の実行で 得られる結果は、複数の実行で得られる結果と同一でなければならないのです。
私は(Renatがアドバイスするように)最適化中の各実行が完了した後、パラメータを含むファイルに取引の履歴を印刷し(作成されたファイルのヒープから検索しやすくするため)、単一の実行中に同じことを行うことで、最適化と単一の実行後の結果の違いを見つけることが可能です。
しかし、最適化後のシングルランと最適化バッチランが同一であれば、論理的には原理的にありえないことなので、何が、どういうニュアンスで、異なる結果になるのか、非常に気になるところではあります。
全般的には賛成です。もしowlが本当に環境(optimizerで動いているかtesterで動いているか)によって分岐しないのであれば、最適化モードではtesterの一部のapiコールが速度的に最適化されすぎているとしか考えられません、トートロジーで失礼します。おそらく、使用する関数のフラグに依存するのでしょう。トランザクションと実行結果の詳細なログがあると助かりますね、はい。
個人的には出会ったことがない。
変数が初期化されているかどうかに関係なく、両方のテスターモード(最適化と単一実行)で結果が一致する必要があります。
int kk=0 のように、変数をグローバルに宣言し、宣言時に初期化する。
そして、OnTick()で、Print("kk=",kk); ++kkのように、unprintして値を変更します。
そして、TFやパラメータを変更し、その結果をご覧ください。