ライブラリ: マルチテスター - ページ 16 1...91011121314151617181920212223...56 新しいコメント fxsaber 2020.01.25 12:39 #151 ティックの履歴をダウンロードする最も便利な方法(ターミナルで Expert Advisorを実行する)。 #property description "ダウンロードはテスターを通して" sinput datetime inFromDate = D'2019.01.01'; // どの日付からダニをアップロードするか sinput bool inAllSymbols = false; // すべての文字(true)または現在の文字(false)。 #include <fxsaber\MultiTester\MTTester.mqh> //https://www.mql5.com/ja/code/26132 string PrevTesterSettings = NULL; string GetMyName( void ) { return(StringSubstr(MQLInfoString(MQL_PROGRAM_PATH), StringLen(TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL5\\Experts\\"))); } bool RunMe( const datetime FromDate, const bool AllSymbols = false ) { const string Str = "[Tester]" + "\nExpert=" + GetMyName() + "\nSymbol=" + _Symbol + "\nOptimization=" + (AllSymbols ? "3" : "0") + "\nModel=4" + "\nFromDate=" + TimeToString(FromDate, TIME_DATE) + "\nToDate=" + TimeToString(TimeCurrent(), TIME_DATE) + "\nForwardMode=0" + "\nProfitInPips=1" + "\nOptimizationCriterion=0" + "\nVisual=0"; return(MTTESTER::SetSettings2(Str) && MTTESTER::ClickStart()); } int OnInit() { bool Res = !MQLInfoInteger(MQL_TESTER) && EventSetTimer(1); if (Res = Res && MTTESTER::GetSettings(PrevTesterSettings)) if (!(Res = RunMe(inFromDate, inAllSymbols))) MTTESTER::SetSettings2(PrevTesterSettings); return(Res ? INIT_SUCCEEDED : INIT_FAILED); } void OnTimer() { if (MTTESTER::IsReady()) { MTTESTER::SetSettings2(PrevTesterSettings); if (inAllSymbols) MTTESTER::CloseNotChart(); ExpertRemove(); } } その後、ターミナルでティックで動作するスクリプトを実行することができ、生命の兆候なしに多くの時間を待つことはありません。 fxsaber 2020.01.28 06:39 #152 Stanislav Korotky:TesterSettings.Add 呼び出しのために独自のMQL5コントローラを書く必要は、テスターパスの設定のテキスト形式(シンボル、タイムフレーム、各行でTesterSettings.Addに 渡すことができる他のもののような)をサポートすることによって取り除くことができます。そして、普遍的なExpert Advisor-コントローラを作成し(ライブラリに追加する)、それを1つのパラメータ(設定を含むファイル)として入力し、それを基にSetTesterSettingsを 実装すれば、ユーザーは何もプログラムする必要はありません。 結局、私はこうした。我々はiniファイルからタスクのバッチを作り、それを実行のために送る。 しかし、しばしば、前のタスクの結果に基づいてタスクを形成する必要があるタスクがあります。 したがって、iniバリアントが常に適しているとは限りません。 ZY 実装はこちら。 fxsaber 2020.02.02 12:41 #153 テスターの自動化を実践されている方には、以下の設定をご覧になることをお勧めします。MQL5\Profiles\Tester\Groups\*.txt MQL5\Profiles\Tester\Symbols\*.txt fxsaber 2020.02.11 02:55 #154 fxsaber:ティック履歴をダウンロードする最も便利な方法(ターミナルで EAを実行)。その後、ターミナルでティックで動作するスクリプトを実行し、生命の兆候なしに多くの時間を待つことはありません。 これは、実際のシンボルのティック履歴からカスタムシンボルを作成するのに便利です。カスタム・シンボルはオリジナル・シンボルと異なり、ティックとバーが完全に対応している。従って、テスター(例)の結果に誤りは生じない。 Evgenii Kuznetsov 2020.02.12 12:39 #155 残念ながら、テスターでティック履歴をダウンロードしても、ターミナルから数年前のティックデータにアクセスすることはできません。まずテスターからティックをファイルにアンロードし、ターミナルからカスタムシンボルにロードする必要があります。以下はエキスパートアドバイザーの例です。まずテスターでリアルティックモードでティックデータを収集し、次にターミナルでカスタムシンボルにロードします。 ファイル: SymbolFilter.mq5 11 kb fxsaber 2020.02.12 13:02 #156 Evgenii Kuznetsov: 残念ながら、テスターでティック履歴をダウンロードしても、ターミナルから数年前のティックデータにアクセスすることはできません。まずテスターからティックをファイルにアンロードし、ターミナルからカスタムシンボルにロードする必要があります。以下はExpert Advisorの例です。このExpert Advisorは まずテスターでリアルティックモードでティックを収集し、次にターミナルでカスタムシンボルにロードする必要があります。 MTTester.mqhが使用されるターミナルでExpert Advisorを実行することで、あなたのスキームを実装することができます。 ティックからカスタム・シンボルを作成する作業に直面するのは何年ぶりだろうか。年間 - ターミナルはダニを取る問題なく、そこにやった。おそらく、あなたは部分的に要求していないと、単に大きな間隔を要求するときにメモリの不足で渋る。 Evgenii Kuznetsov 2020.02.12 13:33 #157 メモリ不足の 場合、CopyTicksRangeは-1を与え、それに応じてGetLastError()でエラーを見つけることができるが、私の場合は0を与えただけだった。 fxsaber 2020.02.12 13:43 #158 Evgenii Kuznetsov: メモリ不足の 場合、CopyTicksRangeは-1を与え、それに応じてGetLastError()でエラーを見つけることができるが、私の場合は0を与えただけだった。 もし再現のためのデータがあれば、開発者はそれを見て修正できるだろう。 Evgenii Kuznetsov 2020.02.12 14:52 #159 テスターで2013年以降のExpert Advisorをreal ticksモードで実行するだけです。 その後、ターミナルでスクリプトを実行します: void OnStart(){ MqlTick Ticks[]; Print("!!! ",CopyTicksRange(_Symbol, Ticks, COPY_TICKS_ALL, (ulong)D'2013.01.01' * 1000, (ulong)D'2013.02.01' * 1000)); } fxsaber 2020.02.12 15:36 #160 Evgenii Kuznetsov:はい、2013年以降、テスターにあるEAをリアルティクモードで実行するだけです。その後、ターミナルでスクリプトを実行します: 2020.02.12 16:35:03.435 Test6 (USDSEK,M1) !!! 2370228 1...91011121314151617181920212223...56 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
ティックの履歴をダウンロードする最も便利な方法(ターミナルで Expert Advisorを実行する)。
その後、ターミナルでティックで動作するスクリプトを実行することができ、生命の兆候なしに多くの時間を待つことはありません。
TesterSettings.Add 呼び出しのために独自のMQL5コントローラを書く必要は、テスターパスの設定のテキスト形式(シンボル、タイムフレーム、各行でTesterSettings.Addに 渡すことができる他のもののような)をサポートすることによって取り除くことができます。そして、普遍的なExpert Advisor-コントローラを作成し(ライブラリに追加する)、それを1つのパラメータ(設定を含むファイル)として入力し、それを基にSetTesterSettingsを 実装すれば、ユーザーは何もプログラムする必要はありません。
結局、私はこうした。我々はiniファイルからタスクのバッチを作り、それを実行のために送る。
しかし、しばしば、前のタスクの結果に基づいてタスクを形成する必要があるタスクがあります。 したがって、iniバリアントが常に適しているとは限りません。
ZY 実装はこちら。
ティック履歴をダウンロードする最も便利な方法(ターミナルで EAを実行)。
その後、ターミナルでティックで動作するスクリプトを実行し、生命の兆候なしに多くの時間を待つことはありません。
これは、実際のシンボルのティック履歴からカスタムシンボルを作成するのに便利です。カスタム・シンボルはオリジナル・シンボルと異なり、ティックとバーが完全に対応している。従って、テスター(例)の結果に誤りは生じない。
残念ながら、テスターでティック履歴をダウンロードしても、ターミナルから数年前のティックデータにアクセスすることはできません。まずテスターからティックをファイルにアンロードし、ターミナルからカスタムシンボルにロードする必要があります。以下はExpert Advisorの例です。このExpert Advisorは まずテスターでリアルティックモードでティックを収集し、次にターミナルでカスタムシンボルにロードする必要があります。
MTTester.mqhが使用されるターミナルでExpert Advisorを実行することで、あなたのスキームを実装することができます。
ティックからカスタム・シンボルを作成する作業に直面するのは何年ぶりだろうか。年間 - ターミナルはダニを取る問題なく、そこにやった。おそらく、あなたは部分的に要求していないと、単に大きな間隔を要求するときにメモリの不足で渋る。
メモリ不足の 場合、CopyTicksRangeは-1を与え、それに応じてGetLastError()でエラーを見つけることができるが、私の場合は0を与えただけだった。
もし再現のためのデータがあれば、開発者はそれを見て修正できるだろう。
テスターで2013年以降のExpert Advisorをreal ticksモードで実行するだけです。
その後、ターミナルでスクリプトを実行します:
はい、2013年以降、テスターにあるEAをリアルティクモードで実行するだけです。
その後、ターミナルでスクリプトを実行します: