ライブラリ: マルチテスター - ページ 23 1...161718192021222324252627282930...56 新しいコメント Sunriser 2020.11.26 18:19 #221 fxsaber:OnTesterInitでGetSettingsを行い、そこから得られた値をParametersSetRangeを介してsinput変数に渡す。 ありがとうございます。 GetSettings()の 呼び出しを OnTesterInit() に移した ところ、テスターが設定タブに切り替わらなくなりましたが、ローカルエージェントがおかしいようです。 GetSettingsのデータはどこにも使われておらず、ただ関数を呼び出しているだけです。 void OnTesterInit() { // テスターの設定を取得する string Str; if(MQLInfoInteger(MQL_TESTER) && MTTESTER::GetSettings(Str)) { // Print(Str); } } void OnTesterDeinit() { } fxsaber 2020.11.26 19:17 #222 Sunriser:地元のエージェントがおかしいんだ。 GetSettings はローカルエージェント(ターミナルが動作しているマシン)でのみ呼び出すことができます。他のマシンでは実行できません。 これが OnTesterInit が唯一の選択肢である理由です。 fxsaber 2020.12.25 07:24 #223 更新された。 Aleksei Skrypnev 2020.12.28 21:52 #224 テストが1回終わるごとに、そのテストに関する情報をファイルに 書き込みたい。 レコード・ブロックはどこに挿入すればいいのでしょうか?ライブラリの中ですか?それともExpert Advisorにのみ実装されているのでしょうか? ライブラリを使用しない通常のケースでは、ondeinitブロックに挿入しました。ここに挿入する場所はまだ見つかっていません。 Документация по MQL5: Файловые операции / FileWrite www.mql5.com FileWrite - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 fxsaber 2020.12.28 23:02 #225 Aleksei Skrypnev:テストが1回終わるごとに、そのテストに関する情報をファイルに書き出したい。レコード・ブロックはどこに挿入すればいいのでしょうか?ライブラリの中ですか?それともExpert Advisorにのみ実装されているのでしょうか?ライブラリを使用しない通常のケースでは、ondeinitブロックに挿入しました。ここに挿入する場所はまだ見つかっていません。 実行しているExpert Advisorのソースコードがない場合:EX5のみ、生成されたtstファイルを通して1回の実行から(MultiTester内部で)情報を引き出す必要があります。 ソースがある場合は、Expert Advisor の OnDeinit で Common ファイルにレコードを挿入します。 Aleksei Skrypnev 2020.12.31 14:23 #226 fxsaber:実行する Expert Advisor のソースコードがなく EX5 のみである場合は、生成された tst ファイルを通して 1 回の実行から(MultiTester 内で)情報を引き出す必要があります。ソースがある場合は、Expert Advisor の OnDeinit で Common ファイルにレコードを挿入します。 明確なようだが、実装はまだあまり明確ではない。まだよく分かっていない。) しかし、私が理解する限り、ライブラリファイルの適切な場所に情報を記録するブロックを挿入するだけでは、このケースはそう簡単には解決しないのでは?(つまり、各パスをファイルに保存する準備ができたブロックがない)。 Aleksei Skrypnev 2020.12.31 15:46 #227 fxsaber:実行する Expert Advisor のソースコードがなく EX5 のみである場合は、生成された tst ファイルを通して 1 回の実行から(MultiTester 内で)情報を引き出す必要があります。ソースがある場合は、Expert Advisor の OnDeinit で Common ファイルにレコードを挿入します。ちなみに、なぜか最後のExpert Advisorだけレコードがある。つまり、3つの同じスクリプトが次々にテストされ、3つの異なるファイルにデータを書き込むが、最後の1つだけが自分のファイルに 書き込む。そこで、さらにExpert Advisorを複製してみたが、やはり最後のExpert Advisorにしか書き込まれない。各Expert AdvisorのOnDeinitで 標準のfilewriteを使ってファイルに書き込む 方法です。 ターミナルログによると、同じものが開かれ、最後のものに書き込まれている。 Документация по MQL5: Файловые операции / FileWrite www.mql5.com FileWrite - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 fxsaber 2020.12.31 16:03 #228 Aleksei Skrypnev:しかし、私が理解する限り、ライブラリファイルの適切な場所に情報記録ブロックを挿入するだけでは、このケースはそう簡単には解決しないのでは?(つまり、各パスをファイルに保存する準備ブロックがない)。 私は、最適化後にopt-fileから最適なパスを選び出すコンバインを作った。そして、それに基づいてフォワードを作成し、他の最適化ジョブを作成した。 しかし、これは本当に少数の人しかできないことだ。 fxsaber 2020.12.31 16:04 #229 Aleksei Skrypnev:ところで、なぜか最後のEAだけ録画している。 よくわからない。 Aleksei Skrypnev 2020.12.31 16:10 #230 fxsaber:私には理解できない。 ライブラリに MultiTester_Example2 というファイルがあります。 私はそれを受け取り、既存の4つのEAに、互いにコピーしただけの同じ3つのEAを追加しました。 それぞれのアドバイザーのondeinitで、例えばadvisor1はファイル1に、advisor2はファイル2に、advisor3はファイル3にレコードを 作成します。 MultiTester_Example2をチャートに投げる。行が走り、終了を示す。記録フォルダに行ってみると、file3という名前の記録ファイルしかない。 (理由はまだわかりません)。 例えばEA4を追加し、テストを実行すると、EA4.-というファイルに出力された記録が表示されます(つまり、file4とfile1,2,3,noのみ)。 つまり、最後のExpert Advisorだけが最後のファイルに書き込まれる。 (つまり、ライブラリか何かを使って OnDeinit が実行されるのは、リストから一番最後の EA で 1 回だけです。 ). (リストの各EAの最後ではありません。) (その前に、3-4個のEAの情報を1つのファイルに書き込もうとしたのですが、ファイル内の情報も最後のEAのものだけでした。 Документация по MQL5: Файловые операции / FileWrite www.mql5.com FileWrite - Файловые операции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5 1...161718192021222324252627282930...56 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
OnTesterInitでGetSettingsを行い、そこから得られた値をParametersSetRangeを介してsinput変数に渡す。
ありがとうございます。
GetSettings()の 呼び出しを OnTesterInit() に移した ところ、テスターが設定タブに切り替わらなくなりましたが、ローカルエージェントがおかしいようです。
GetSettingsのデータはどこにも使われておらず、ただ関数を呼び出しているだけです。
地元のエージェントがおかしいんだ。
GetSettings はローカルエージェント(ターミナルが動作しているマシン)でのみ呼び出すことができます。他のマシンでは実行できません。
これが OnTesterInit が唯一の選択肢である理由です。
テストが1回終わるごとに、そのテストに関する情報をファイルに 書き込みたい。
レコード・ブロックはどこに挿入すればいいのでしょうか?ライブラリの中ですか?それともExpert Advisorにのみ実装されているのでしょうか?
ライブラリを使用しない通常のケースでは、ondeinitブロックに挿入しました。ここに挿入する場所はまだ見つかっていません。
テストが1回終わるごとに、そのテストに関する情報をファイルに書き出したい。
レコード・ブロックはどこに挿入すればいいのでしょうか?ライブラリの中ですか?それともExpert Advisorにのみ実装されているのでしょうか?
ライブラリを使用しない通常のケースでは、ondeinitブロックに挿入しました。ここに挿入する場所はまだ見つかっていません。
実行しているExpert Advisorのソースコードがない場合:EX5のみ、生成されたtstファイルを通して1回の実行から(MultiTester内部で)情報を引き出す必要があります。
ソースがある場合は、Expert Advisor の OnDeinit で Common ファイルにレコードを挿入します。
実行する Expert Advisor のソースコードがなく EX5 のみである場合は、生成された tst ファイルを通して 1 回の実行から(MultiTester 内で)情報を引き出す必要があります。
ソースがある場合は、Expert Advisor の OnDeinit で Common ファイルにレコードを挿入します。
明確なようだが、実装はまだあまり明確ではない。まだよく分かっていない。)
しかし、私が理解する限り、ライブラリファイルの適切な場所に情報を記録するブロックを挿入するだけでは、このケースはそう簡単には解決しないのでは?(つまり、各パスをファイルに保存する準備ができたブロックがない)。
実行する Expert Advisor のソースコードがなく EX5 のみである場合は、生成された tst ファイルを通して 1 回の実行から(MultiTester 内で)情報を引き出す必要があります。
ソースがある場合は、Expert Advisor の OnDeinit で Common ファイルにレコードを挿入します。
ちなみに、なぜか最後のExpert Advisorだけレコードがある。つまり、3つの同じスクリプトが次々にテストされ、3つの異なるファイルにデータを書き込むが、最後の1つだけが自分のファイルに 書き込む。
そこで、さらにExpert Advisorを複製してみたが、やはり最後のExpert Advisorにしか書き込まれない。各Expert AdvisorのOnDeinitで 標準のfilewriteを使ってファイルに書き込む 方法です。
ターミナルログによると、同じものが開かれ、最後のものに書き込まれている。しかし、私が理解する限り、ライブラリファイルの適切な場所に情報記録ブロックを挿入するだけでは、このケースはそう簡単には解決しないのでは?(つまり、各パスをファイルに保存する準備ブロックがない)。
私は、最適化後にopt-fileから最適なパスを選び出すコンバインを作った。そして、それに基づいてフォワードを作成し、他の最適化ジョブを作成した。
しかし、これは本当に少数の人しかできないことだ。
ところで、なぜか最後のEAだけ録画している。
よくわからない。
私には理解できない。
ライブラリに MultiTester_Example2 というファイルがあります。
私はそれを受け取り、既存の4つのEAに、互いにコピーしただけの同じ3つのEAを追加しました。
それぞれのアドバイザーのondeinitで、例えばadvisor1はファイル1に、advisor2はファイル2に、advisor3はファイル3にレコードを 作成します。
MultiTester_Example2をチャートに投げる。行が走り、終了を示す。記録フォルダに行ってみると、file3という名前の記録ファイルしかない。
(理由はまだわかりません)。
例えばEA4を追加し、テストを実行すると、EA4.-というファイルに出力された記録が表示されます(つまり、file4とfile1,2,3,noのみ)。
つまり、最後のExpert Advisorだけが最後のファイルに書き込まれる。
(つまり、ライブラリか何かを使って OnDeinit が実行されるのは、リストから一番最後の EA で 1 回だけです。 ). (リストの各EAの最後ではありません。)
(その前に、3-4個のEAの情報を1つのファイルに書き込もうとしたのですが、ファイル内の情報も最後のEAのものだけでした。