MetaTrader 5 Strategy Tester: バグ、不具合、改善のための提案 - ページ 7 1234567891011121314...84 新しいコメント fxsaber 2019.09.18 22:32 #61 fxsaber: 単一のパスは、その入力パラメータを知る必要があります。このような機能が導入される可能性は低いので、どのような方法が考えられるか?WinAPIなら問題ない。 最新のMT5 Testerの設定を取得する。 #include <WinAPI\fileapi.mqh> #include <WinAPI\handleapi.mqh> // Получает имя файла настроек последнего запуска MT5-Тестера. string GetTesterINIFileName( ulong &Size ) { string Str = NULL; const string Path = ::TerminalInfoString(TERMINAL_PATH)+ "\\MQL5\\Profiles\\Tester\\"; FIND_DATAW FindData; const HANDLE handle = kernel32::FindFirstFileW(Path + "*.ini", FindData); if (handle != INVALID_HANDLE) { ulong MaxTime = 0; Size = 0; do { const ulong TempTime = ((ulong)FindData.ftLastWriteTime.dwHighDateTime << 32) + FindData.ftLastWriteTime.dwLowDateTime; if (TempTime > MaxTime) { MaxTime = TempTime; Str = ::ShortArrayToString(FindData.cFileName); Size = ((ulong)FindData.nFileSizeHigh << 32) + FindData.nFileSizeLow;; } } while (kernel32::FindNextFileW(handle, FindData)); kernel32::FindClose(handle); } return((Str == NULL) ? NULL : Path + Str); } #define GENERIC_READ 0x80000000 #define SHARE_READ 1 #define OPEN_EXISTING 3 // Получает настройки последнего запуска MT5-Тестера. string GetTesterINI( void ) { string Str = NULL; ulong Size; const string FileName = GetTesterINIFileName(Size); if (FileName != NULL) { const HANDLE handle = kernel32::CreateFileW(FileName, GENERIC_READ, SHARE_READ, 0, OPEN_EXISTING, 0, 0); if (handle != INVALID_HANDLE) { uint Read; ushort Buffer[]; ::ArrayResize(Buffer, (int)Size / sizeof(ushort)); if (kernel32::ReadFile(handle, Buffer, (int)Size, Read, 0)) Str = ::ShortArrayToString(Buffer); kernel32::CloseHandle(handle); } } return(Str); } 応用編 // Советник при запуске одиночного прогона возвращает свои настройки. input int inInput1 = 1; input int inInput2 = 2; int OnInit() { if (MQLInfoInteger(MQL_TESTER) && !MQLInfoInteger(MQL_OPTIMIZATION)) Print(GetTesterINI()); return(INIT_FAILED); } 結果 2019.04.01 00:00:00 ;Одиночный тест советника: Test9, EURUSD M1, цены открытия, 2019.04.01 - 2019.09.18 2019.04.01 00:00:00 [Tester] 2019.04.01 00:00:00 Expert=Test9.ex5 2019.04.01 00:00:00 Symbol=EURUSD 2019.04.01 00:00:00 Period=M1 2019.04.01 00:00:00 Optimization=0 2019.04.01 00:00:00 Model=2 2019.04.01 00:00:00 FromDate=2019.04.01 2019.04.01 00:00:00 ToDate=2019.09.18 2019.04.01 00:00:00 ForwardMode=0 2019.04.01 00:00:00 Deposit=10000 2019.04.01 00:00:00 Currency=EUR 2019.04.01 00:00:00 ProfitInPips=1 2019.04.01 00:00:00 Leverage=100 2019.04.01 00:00:00 ExecutionMode=0 2019.04.01 00:00:00 OptimizationCriterion=6 2019.04.01 00:00:00 Visual=0 2019.04.01 00:00:00 [TesterInputs] 2019.04.01 00:00:00 inInput1=123||1||1||10||N 2019.04.01 00:00:00 inInput2=2||2||1||20||N fxsaber 2019.09.18 23:53 #62 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム スクリプト:バランスグラフHTML fxsaber, 2019.04.08 09:16 fxsaber 2019.09.24 12:34 #63 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム MetaTrader 5 build 1640 プラットフォームの新バージョン:独自の金融商品の作成とテスト fxsaber さん 2017.08.04 19:55 最適化中に、コンピュータをスリープ状態にしないように、何らかの保護機能(少なくとも音声による警告)を作ることは可能でしょうか? Optimisationが進行中であることをすっかり忘れて、ノートパソコンの蓋を閉めてしまった......。接続が切れていたのが、起床後に復旧し、Optimisationが実行された。しかし、Optimisationが進行中であることを思い知らされたら、蓋を閉めるわけにはいきません。クラウドを利用する際の注意点... また、Optimization中は、Testerを非表示にしたTerminalでは、Optimization中の表示はアイコン上の緑のバーだけです(ブラウザでファイルをダウンロードするときと同じ)。ターミナルを閉じるときに、最適化中であることを示す警告が表示されない。 fxsaber 2019.09.24 13:51 #64 テスターでbool入力パラメータが表示される不具合を再現しました。 このExpert Advisor input int i = 0; input bool b = false; double OnTester() { return(i); } スクリーンショットに示すように最適化します。 パスの1つを選んで実行します。 Parametersでは、falseの代わりにzeroが表示されます。 fxsaber 2019.09.24 13:54 #65 再生方法がわからない。最適化の 結果から単一の実行を実行すると、ログに入力パラメータ値が正しく表示(置換)されることがあります(キャッシュのように、最適化されていない入力も含まれます)。しかし、同時にParametersタブでは、いくつかの入力パラメータが更新されません。 OptimizeからSingleを実行すると、問題ない(Optimizeの結果と一致する)ことがわかりました。 次に、Singleモードに入り、Startボタンで同じ実行を行うと、異なる値が得られます(いくつかの入力が前のステップと異なる値であるため)。 fxsaber 2019.09.24 13:57 #66 原木の大きさがワイルドであることは、すでに述べたとおりです。ログを見るとき、99%はログの最初と最後に興味があるものです。だから、サイズがワイルドな分、冒頭が全然見えないんです。 ログの最初と最後を重複させるのはどうでしょうか?特に、どのような入力パラメータでスタートしたかを確認することです。 fxsaber 2019.09.24 16:18 #67 以前の最適化の結果を見ることができない状況に陥った。唯一の救いは、再起動だった。 fxsaber 2019.09.24 18:11 #68 これが、今のテスターが出すメッセージです。 Slava 2019.09.24 20:12 #69 fxsaber: これが、今、テスターが出しているメッセージです。 テスターは以前にもこのようなメッセージを出したことがあります。オプトファイルのダウンロードが可能になったため。最適 化が実行されると、このopt-fileは上書きされ、最適化が再び開始されることを警告するものです fxsaber 2019.09.24 20:16 #70 Slava: 最適化実行 の場合、このopt-fileは上書きされます。 名前は一致するのか? 1234567891011121314...84 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
単一のパスは、その入力パラメータを知る必要があります。このような機能が導入される可能性は低いので、どのような方法が考えられるか?WinAPIなら問題ない。
最新のMT5 Testerの設定を取得する。
応用編
結果
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
スクリプト:バランスグラフHTML
fxsaber, 2019.04.08 09:16
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
MetaTrader 5 build 1640 プラットフォームの新バージョン:独自の金融商品の作成とテスト
fxsaber さん 2017.08.04 19:55
最適化中に、コンピュータをスリープ状態にしないように、何らかの保護機能(少なくとも音声による警告)を作ることは可能でしょうか?
Optimisationが進行中であることをすっかり忘れて、ノートパソコンの蓋を閉めてしまった......。接続が切れていたのが、起床後に復旧し、Optimisationが実行された。しかし、Optimisationが進行中であることを思い知らされたら、蓋を閉めるわけにはいきません。クラウドを利用する際の注意点...
また、Optimization中は、Testerを非表示にしたTerminalでは、Optimization中の表示はアイコン上の緑のバーだけです(ブラウザでファイルをダウンロードするときと同じ)。ターミナルを閉じるときに、最適化中であることを示す警告が表示されない。
テスターでbool入力パラメータが表示される不具合を再現しました。
このExpert Advisor
スクリーンショットに示すように最適化します。
パスの1つを選んで実行します。
Parametersでは、falseの代わりにzeroが表示されます。
再生方法がわからない。最適化の 結果から単一の実行を実行すると、ログに入力パラメータ値が正しく表示(置換)されることがあります(キャッシュのように、最適化されていない入力も含まれます)。しかし、同時にParametersタブでは、いくつかの入力パラメータが更新されません。
OptimizeからSingleを実行すると、問題ない(Optimizeの結果と一致する)ことがわかりました。
次に、Singleモードに入り、Startボタンで同じ実行を行うと、異なる値が得られます(いくつかの入力が前のステップと異なる値であるため)。
原木の大きさがワイルドであることは、すでに述べたとおりです。ログを見るとき、99%はログの最初と最後に興味があるものです。だから、サイズがワイルドな分、冒頭が全然見えないんです。
ログの最初と最後を重複させるのはどうでしょうか?特に、どのような入力パラメータでスタートしたかを確認することです。
これが、今のテスターが出すメッセージです。
これが、今、テスターが出しているメッセージです。
テスターは以前にもこのようなメッセージを出したことがあります。オプトファイルのダウンロードが可能になったため。最適 化が実行されると、このopt-fileは上書きされ、最適化が再び開始されることを警告するものです
最適化実行 の場合、このopt-fileは上書きされます。
名前は一致するのか?