ライブラリ: マルチテスター - ページ 41 1...343536373839404142434445464748...56 新しいコメント klycko 2024.05.31 08:48 #401 10秒間スリープしても 解決しない。そのフォルダをクリアするだけで、問題は解決する。 fxsaber 2024.05.31 09:13 #402 klycko スリープしても 解決しない。そのフォルダをクリアすることだけが問題を解決する。 MQL5Expertsの 最適化コードを投稿して。それから再現してみて。今は建設的な仕事はほとんどない。 klycko 2024.05.31 11:29 #403 fxsaber #:MQLを 最適化するコードをアップロードしてください。それから再現してみて。今は建設的な作業はほとんどない。 ありがとう!ファイルを用意して投稿してみるよ。今はまだすべてが未整理の状態です。 klycko 2024.05.31 13:12 #404 fxsaber #:MQLを 最適化するコードをアップロードしてください。それから再現してみて。今は建設的な作業はほとんどない。 こんにちは! ファイルを用意して添付しました。 時間枠M1で25.03から20.05.2024までの最適化。 証拠金17000。レバレッジ40。複雑な基準の最大値。 まず、実験の純度のために、"C:˶UsersASUS˶AppDataRoaming˶MetaQuotes˶Terminal˶D0E8209F77C8CF37AD8BF550E51FF075Tester˶cache "フォルダを掃除する必要がある。 Nocturneスクリプトを最適化するために、一度に1つのパラメータを実行する必要がある。 そして出力する: 最初のパラメータは、ProfitNow -1478 ParamMax 0.37。 第 2 パラメータ: ProfitNow -379 ParamMax 30(初回)。 第 3 パラメータ:ProfitNow -379 ParamMax 6(初回)。 第 3 パラメーター:ProfitNow -379 ParamMax 6 を繰り返す。 第 3 パラメータ:ProfitNow -379 ParamMax 6 を繰り返す。 第 3 パラメータ: ProfitNow -379 ParamMax 6 を繰り返し実行。 これは、3つ目のパラメータでデータキャッシュがハングアップしていることを示しています。 そして今、"C:JusersasusePachDataRoamingPachMetaQuotesPacheTerminalPacheD0E8209F77C8CF37AD8BF550E51FF075TesterCache "フォルダをもう一度クリアする必要がある。 の繰り返しだ: 最初のパラメータは、ProfitNow -1478 ParamMax 0.37。 2番目のパラメータは、ProfitNow -379 ParamMax 30。 第 3 パラメータ: ProfitNow -379 ParamMax 6 を初めて設定。 第 3 パラメーター:ProfitNow -379 ParamMax 6 を繰り返す。 第 3 パラメータ:ProfitNow -379 ParamMax 6 を繰り返す。 第 3 パラメータ: ProfitNow -379 ParamMax 6 を繰り返し実行。 ノクターン・スクリプトの151~154行目は、すべてご指示のとおりです: Run(Odinar); int GLOC = MTTESTER::GetLastOptCache(Bytes); // optファイルをバイト配列に取得 Bytes TESTERCACHE<ExpTradeSummary> Cache; bool CL = Cache.Load(Bytes); // バイト配列BytesをCacheにフィードする。 バグはもちろん私が書いたコードにあるのだが、それを修正する方法はまだわからない。 ただ、Runを実行する前に、手動で「C:◆bytes」フォルダからoptファイルを全て削除すると、「C:◆Users」フォルダからoptファイルが削除されることを実験的に発見した。 を実行する前に、「C:◆UsersASUSAppData◆Roaming◆MetaQuotes◆Terminal◆D0E8209F77C8CF37AD8BF550E51FF075Tester◆cache◆」フォルダから、optファイルを全て手動で削除する、 を選択すると、私のコードは正しく動作し、選択されたパラメータで最適化が実行されます。 このフォルダがクリーンアップされていない場合、Testerは(同じ未変更のデータで)繰り返し最適化を実行せず、このフォルダから既に存在するoptファイルを読み出します。 を読み出します。これは、手動で同じ最適化を繰り返し実行したときにはっきりとわかります。 実際の最適化が実行されるのは最初の1回だけで、その後はフォルダからoptファイルを読み出すだけであることがわかる。 この読み取りの繰り返しではキャッシュの内容が更新されないようで、これが私のコードでエラーを引き起こしている。 このフォルダをクリアすれば、エラーが解決するかもしれない。もちろん、これは悪い解決策で、キャッシュ内の正しいデータを復元できるほうがエレガントだろう。 しかし、その方法がわからない。今のところ、前回の実際の最適化のデータがキャッシュにぶら下がっている(フォルダからの再読み込みと一致しない)。 残念ながら、このフォルダはFolderCleanを使ってスクリプトからクリーニングすることができません。 このフォルダは「サンドボックス」の外にあり、Strategy Testerによってのみ埋められます。 C++で外部アドオンを作成し、スクリプトから実行する必要があるかもしれません。 ありがとう、アレクサンダー ファイル: Nocturne.mq5 59 kb Settings.set 4 kb n7_kjgn0j_j1jum.ex5 64 kb Libraries: MultiTester 並列粒子群最適化 HedgeTerminalAPIを利用して MetaTrader 5 で双方向トレードとポジションヘッジを行う klycko 2024.05.31 13:18 #405 本文の誤り こんにちは! ファイルを準備し、添付しました。 時間枠M1で25.03から20.05.2024まで最適化。 デポジット17000。レバレッジ40。複雑な基準の最大値。 まず、実験の純度のために、"C:UsersASUS\AppData Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075Tester "フォルダを掃除する必要がある。 Nocturneスクリプトを最適化するために、一度に1つのパラメータを実行する必要がある。 そして出力する: 最初のパラメータは、ProfitNow -1478 ParamMax 0.37。 第 2 パラメータ: ProfitNow -379 ParamMax 30(初回)。 第 3 パラメータ:ProfitNow -379 ParamMax 6(初回)。 最初の パラメータ:ProfitNow -379 ParamMax 6 を繰り返す。 第 2 パラメータ: ProfitNow -379 ParamMax 6 を繰り返す。 第 3 パラメータ: ProfitNow -379 ParamMax 6 を繰り返す。 これは、3つ目のパラメータのデータキャッシュでハングしていることを示しています。 そして今、"C:JusersasusePachDataRoamingPetaQuotesPetaTerminalPetaQuotesPetaTerminalPetaD0E8209F77C8CF37AD8BF550E51FF075TesterCache "フォルダをもう一度クリアする必要がある。 の繰り返しだ: 最初のパラメータは、ProfitNow -1478 ParamMax 0.37。 2番目のパラメータは、ProfitNow -379 ParamMax 30。 第 3 パラメータ: ProfitNow -379 ParamMax 6(初回)。 最初の パラメータ:ProfitNow -379 ParamMax 6 を繰り返す。 第 2 パラメータ: ProfitNow -379 ParamMax 6 を繰り返す。 第 3 パラメータ: ProfitNow -379 ParamMax 6 を繰り返す。 Nocturneスクリプトの151行目から154行目までは、すべてご指示のとおりです: Run(Odinar); int GLOC = MTTESTER::GetLastOptCache(Bytes); // optファイルをバイト配列に取得 Bytes TESTERCACHE<ExpTradeSummary> Cache; bool CL = Cache.Load(Bytes); // バイト配列BytesをCacheにフィードする。 バグはもちろん私が書いたコードにあるのだが、それを修正する方法はまだわからない。 ただ、Runを実行する前に、手動で「C:◆bytes」フォルダからoptファイルを全て削除すると、「C:◆Users」フォルダからoptファイルが削除されることを実験的に発見した。 を実行する前に、「C:◆UsersASUSAppData◆Roaming◆MetaQuotes◆Terminal◆D0E8209F77C8CF37AD8BF550E51FF075Tester◆cache◆」フォルダから、optファイルを全て手動で削除する、 を選択すると、私のコードは正しく動作し、選択されたパラメータで最適化が実行されます。 このフォルダがクリーンアップされていない場合、Testerは(同じ未変更のデータで)繰り返し最適化を 実行せず、このフォルダから既に存在するoptファイルを読み出します。 を読み出します。これは、同じ最適化を手動で繰り返し実行したときにはっきりとわかります。 実際の最適化が実行されるのは最初の1回だけで、その後はフォルダからoptファイルを読み出すだけであることがわかる。 この読み取りの繰り返しではキャッシュの内容が更新されないようで、これが私のコードでエラーを引き起こしている。 このフォルダをクリアすれば、エラーが解決するかもしれない。もちろん、これは悪い解決策で、キャッシュ内の正しいデータを復元できるほうがエレガントだろう。 しかし、その方法がわからない。今のところ、前回の実際の最適化のデータがキャッシュにぶら下がっている(フォルダからの再読み込みと一致しない)。 残念ながら、このフォルダはFolderCleanを使ってスクリプトからクリーニングすることができません。 このフォルダは「サンドボックス」の外にあり、Strategy Testerによってのみ埋められます。 C++で外部アドオンを作成し、スクリプトから実行する必要があるかもしれません。 ありがとう、アレクサンダー Libraries: MultiTester 並列粒子群最適化 ニュース取引が簡単に(第2回):リスク管理 klycko 2024.05.31 13:47 #406 Nocturneがパラメーターのリストで指向しているので、最適化のためにロボットを投稿した。 でも、MQL5Expertsの 場合は、多くの修正が必要です。 ところで、なぜパラメータ入力int inNum = 0が必要なの? それとも単なる癖? klycko 2024.06.03 12:33 #407 fxsaber #:MQLを 最適化するコードをアップロードしてください。それから再現してみて。今は建設的な作業はほとんどない。 こんにちは! Alexander Slavsky:https://www.mql5.com/ja/users/s22aa の助けを借りて、すべての問題を解決することができたよ。 彼はキャッシュの内容を削除するコードを送ってくれました。 Cacheは サンドボックスの外にあるので、直接クリーンすることはできませんでした。 実行手順を実行する前に、過去の最適化の結果が新しい最適化の邪魔にならないようにするために、誰かの役に立つかもしれない。 このスクリプトを添付します。 あなたのライブラリーとこのクリーンアップ手順のおかげで、一貫してロボットを最適化できるようになりました。 これらのコードとご協力に感謝します。 ありがとう、アレクサンダー Aleksandr Slavskii 2024.05.27www.mql5.com Профиль трейдера ファイル: CacheDelete.mq5 2 kb fxsaber 2024.06.03 13:06 #408 klycko 繰り返し最適化を 実行するのではなく、それらを読み出す。 を読み出す。このことは、手動で同じ最適化を繰り返し実行するとよくわかります。実際の最適化は最初の1回だけ行われ、その後はフォルダからoptファイルを読み出すだけであることがわかる。この読み取りの繰り返しによってキャッシュの内容が更新されることはないようで、これが私のコードにおけるエラーの原因となっている。 #プロパティ tester_no_cache inFakeRange sinput uint Range = 2; void OnTesterInit( void ) { ::MathSrand((int)::TimeLocal()); const int Start = ::MathRand(); const int Step = ::MathRand(); const uint TmpRange = (::Range < 2) ? 2 : ::Range; ::ParameterSetRange("Range", true, TmpRange, Start, Step, Start + (TmpRange - 1) * Step); } fxsaber 2024.06.03 17:20 #409 klycko #:キャッシュの内容を削除するコード。 MTTester.mqhには、シングルランをたくさん行う場合に非常に必要となる関数があります。 static bool DeleteLastTST( void ) { const string Path = ::TerminalInfoString(TERMINAL_DATA_PATH)+ "\\Tester\\cache\\"; string FileNames[]; const int Size = MTTESTER::GetFileNames(Path, "*.tst", FileNames); return(Size && kernel32::DeleteFileW(Path + FileNames[Size - 1])); } tstをoptに置き換えると、最後のoptファイルが削除される。Cacheフォルダ全体を掃除するのは冗長な気がする。 klycko 2024.06.03 18:19 #410 ありがとう! 1...343536373839404142434445464748...56 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
MQL5Expertsの 最適化コードを投稿して。それから再現してみて。今は建設的な仕事はほとんどない。
MQLを 最適化するコードをアップロードしてください。それから再現してみて。今は建設的な作業はほとんどない。
ありがとう!ファイルを用意して投稿してみるよ。今はまだすべてが未整理の状態です。
MQLを 最適化するコードをアップロードしてください。それから再現してみて。今は建設的な作業はほとんどない。
こんにちは!
ファイルを用意して添付しました。
時間枠M1で25.03から20.05.2024までの最適化。
証拠金17000。レバレッジ40。複雑な基準の最大値。
まず、実験の純度のために、"C:˶UsersASUS˶AppDataRoaming˶MetaQuotes˶Terminal˶D0E8209F77C8CF37AD8BF550E51FF075Tester˶cache "フォルダを掃除する必要がある。
Nocturneスクリプトを最適化するために、一度に1つのパラメータを実行する必要がある。
そして出力する:
最初のパラメータは、ProfitNow -1478 ParamMax 0.37。
第 2 パラメータ: ProfitNow -379 ParamMax 30(初回)。
第 3 パラメータ:ProfitNow -379 ParamMax 6(初回)。
第 3 パラメーター:ProfitNow -379 ParamMax 6 を繰り返す。
第 3 パラメータ:ProfitNow -379 ParamMax 6 を繰り返す。
第 3 パラメータ: ProfitNow -379 ParamMax 6 を繰り返し実行。
これは、3つ目のパラメータでデータキャッシュがハングアップしていることを示しています。
そして今、"C:JusersasusePachDataRoamingPachMetaQuotesPacheTerminalPacheD0E8209F77C8CF37AD8BF550E51FF075TesterCache "フォルダをもう一度クリアする必要がある。
の繰り返しだ:
最初のパラメータは、ProfitNow -1478 ParamMax 0.37。
2番目のパラメータは、ProfitNow -379 ParamMax 30。
第 3 パラメータ: ProfitNow -379 ParamMax 6 を初めて設定。
第 3 パラメーター:ProfitNow -379 ParamMax 6 を繰り返す。
第 3 パラメータ:ProfitNow -379 ParamMax 6 を繰り返す。
第 3 パラメータ: ProfitNow -379 ParamMax 6 を繰り返し実行。
ノクターン・スクリプトの151~154行目は、すべてご指示のとおりです:
Run(Odinar);
int GLOC = MTTESTER::GetLastOptCache(Bytes); // optファイルをバイト配列に取得 Bytes
TESTERCACHE<ExpTradeSummary> Cache;
bool CL = Cache.Load(Bytes); // バイト配列BytesをCacheにフィードする。
バグはもちろん私が書いたコードにあるのだが、それを修正する方法はまだわからない。
ただ、Runを実行する前に、手動で「C:◆bytes」フォルダからoptファイルを全て削除すると、「C:◆Users」フォルダからoptファイルが削除されることを実験的に発見した。
を実行する前に、「C:◆UsersASUSAppData◆Roaming◆MetaQuotes◆Terminal◆D0E8209F77C8CF37AD8BF550E51FF075Tester◆cache◆」フォルダから、optファイルを全て手動で削除する、
を選択すると、私のコードは正しく動作し、選択されたパラメータで最適化が実行されます。
このフォルダがクリーンアップされていない場合、Testerは(同じ未変更のデータで)繰り返し最適化を実行せず、このフォルダから既に存在するoptファイルを読み出します。
を読み出します。これは、手動で同じ最適化を繰り返し実行したときにはっきりとわかります。
実際の最適化が実行されるのは最初の1回だけで、その後はフォルダからoptファイルを読み出すだけであることがわかる。
この読み取りの繰り返しではキャッシュの内容が更新されないようで、これが私のコードでエラーを引き起こしている。
このフォルダをクリアすれば、エラーが解決するかもしれない。もちろん、これは悪い解決策で、キャッシュ内の正しいデータを復元できるほうがエレガントだろう。
しかし、その方法がわからない。今のところ、前回の実際の最適化のデータがキャッシュにぶら下がっている(フォルダからの再読み込みと一致しない)。
残念ながら、このフォルダはFolderCleanを使ってスクリプトからクリーニングすることができません。
このフォルダは「サンドボックス」の外にあり、Strategy Testerによってのみ埋められます。
C++で外部アドオンを作成し、スクリプトから実行する必要があるかもしれません。
ありがとう、アレクサンダー
本文の誤り
こんにちは!
ファイルを準備し、添付しました。
時間枠M1で25.03から20.05.2024まで最適化。
デポジット17000。レバレッジ40。複雑な基準の最大値。
まず、実験の純度のために、"C:UsersASUS\AppData Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075Tester "フォルダを掃除する必要がある。
Nocturneスクリプトを最適化するために、一度に1つのパラメータを実行する必要がある。
そして出力する:
最初のパラメータは、ProfitNow -1478 ParamMax 0.37。
第 2 パラメータ: ProfitNow -379 ParamMax 30(初回)。
第 3 パラメータ:ProfitNow -379 ParamMax 6(初回)。
最初の パラメータ:ProfitNow -379 ParamMax 6 を繰り返す。
第 2 パラメータ: ProfitNow -379 ParamMax 6 を繰り返す。
第 3 パラメータ: ProfitNow -379 ParamMax 6 を繰り返す。
これは、3つ目のパラメータのデータキャッシュでハングしていることを示しています。
そして今、"C:JusersasusePachDataRoamingPetaQuotesPetaTerminalPetaQuotesPetaTerminalPetaD0E8209F77C8CF37AD8BF550E51FF075TesterCache "フォルダをもう一度クリアする必要がある。
の繰り返しだ:
最初のパラメータは、ProfitNow -1478 ParamMax 0.37。
2番目のパラメータは、ProfitNow -379 ParamMax 30。
第 3 パラメータ: ProfitNow -379 ParamMax 6(初回)。
最初の パラメータ:ProfitNow -379 ParamMax 6 を繰り返す。
第 2 パラメータ: ProfitNow -379 ParamMax 6 を繰り返す。
第 3 パラメータ: ProfitNow -379 ParamMax 6 を繰り返す。
Nocturneスクリプトの151行目から154行目までは、すべてご指示のとおりです:
Run(Odinar);
int GLOC = MTTESTER::GetLastOptCache(Bytes); // optファイルをバイト配列に取得 Bytes
TESTERCACHE<ExpTradeSummary> Cache;
bool CL = Cache.Load(Bytes); // バイト配列BytesをCacheにフィードする。
バグはもちろん私が書いたコードにあるのだが、それを修正する方法はまだわからない。
ただ、Runを実行する前に、手動で「C:◆bytes」フォルダからoptファイルを全て削除すると、「C:◆Users」フォルダからoptファイルが削除されることを実験的に発見した。
を実行する前に、「C:◆UsersASUSAppData◆Roaming◆MetaQuotes◆Terminal◆D0E8209F77C8CF37AD8BF550E51FF075Tester◆cache◆」フォルダから、optファイルを全て手動で削除する、
を選択すると、私のコードは正しく動作し、選択されたパラメータで最適化が実行されます。
このフォルダがクリーンアップされていない場合、Testerは(同じ未変更のデータで)繰り返し最適化を 実行せず、このフォルダから既に存在するoptファイルを読み出します。
を読み出します。これは、同じ最適化を手動で繰り返し実行したときにはっきりとわかります。
実際の最適化が実行されるのは最初の1回だけで、その後はフォルダからoptファイルを読み出すだけであることがわかる。
この読み取りの繰り返しではキャッシュの内容が更新されないようで、これが私のコードでエラーを引き起こしている。
このフォルダをクリアすれば、エラーが解決するかもしれない。もちろん、これは悪い解決策で、キャッシュ内の正しいデータを復元できるほうがエレガントだろう。
しかし、その方法がわからない。今のところ、前回の実際の最適化のデータがキャッシュにぶら下がっている(フォルダからの再読み込みと一致しない)。
残念ながら、このフォルダはFolderCleanを使ってスクリプトからクリーニングすることができません。
このフォルダは「サンドボックス」の外にあり、Strategy Testerによってのみ埋められます。
C++で外部アドオンを作成し、スクリプトから実行する必要があるかもしれません。
ありがとう、アレクサンダー
Nocturneがパラメーターのリストで指向しているので、最適化のためにロボットを投稿した。
でも、MQL5Expertsの 場合は、多くの修正が必要です。
ところで、なぜパラメータ入力int inNum = 0が必要なの?
それとも単なる癖?
MQLを 最適化するコードをアップロードしてください。それから再現してみて。今は建設的な作業はほとんどない。
こんにちは!
Alexander Slavsky:https://www.mql5.com/ja/users/s22aa の助けを借りて、すべての問題を解決することができたよ。
彼はキャッシュの内容を削除するコードを送ってくれました。
Cacheは サンドボックスの外にあるので、直接クリーンすることはできませんでした。
実行手順を実行する前に、過去の最適化の結果が新しい最適化の邪魔にならないようにするために、誰かの役に立つかもしれない。
このスクリプトを添付します。
あなたのライブラリーとこのクリーンアップ手順のおかげで、一貫してロボットを最適化できるようになりました。
これらのコードとご協力に感謝します。
ありがとう、アレクサンダー
を読み出す。このことは、手動で同じ最適化を繰り返し実行するとよくわかります。
実際の最適化は最初の1回だけ行われ、その後はフォルダからoptファイルを読み出すだけであることがわかる。
この読み取りの繰り返しによってキャッシュの内容が更新されることはないようで、これが私のコードにおけるエラーの原因となっている。
#プロパティ tester_no_cache
inFakeRange
キャッシュの内容を削除するコード。
MTTester.mqhには、シングルランをたくさん行う場合に非常に必要となる関数があります。
tstをoptに置き換えると、最後のoptファイルが削除される。Cacheフォルダ全体を掃除するのは冗長な気がする。