In the previous articles (Optimization Management (Part I) and Optimization Management (Part 2)) we considered a mechanism for launching the optimization in the terminal through a third-party process. This allows creating a certain Optimization Manager which can implement the process similarly to a trading algorithm implementing a specific...
This is the next article within a series devoted to the creation of an automated optimizer, which can perform walk-through optimization of trading strategies. The previous article described the creation of a DLL to be used in our auto optimizer and in Expert Advisors. This new part is entirely devoted to the MQL5 language. We will consider...
In the previous articles (Optimization Management (Part I) and Optimization Management (Part 2)) we considered a mechanism for launching the optimization in the terminal through a third-party process. This allows creating a certain Optimization Manager which can implement the process similarly to a trading algorithm implementing a specific...
新MetaTrader 5 Platformベータ版ビルド2245。MQL5の3DビジュアライゼーションとStrategy Testerのシンボル設定のためのDirectX関数
18. Tester: A plethora of new features and improvements: ...
もっと読む
良い記事が掲載されました-。
----------------
連続ウォークフォワード最適化(その1)。 最適化レポートとの連携
前回までの記事(最適化管理(その1)、最適化管理(その2))で、サードパーティーのプロセスを通じてターミナルで最適化を起動する仕組みについて考えました。これにより、特定の取引プロセスを実装する取引アルゴリズムと同様にプロセスを実装できる、つまり、ユーザーの干渉を受けない完全自動化モードで、特定の最適化マネージャを作成することができます。このアイデアは、スライディング最適化プロセスを管理するアルゴリズムを作成することであり、その際、フォワード期間とヒストリカル期間が事前設定された間隔だけシフトされ、互いにオーバーラップされます。
このアルゴリズム最適化のアプローチは、純粋な最適化ではなく、戦略のロバストネス・テストの役割を果たすことができますが、両方の役割を果たすことができます。その結果、取引システムが安定しているかどうかを調べることができ、システムに対する指標の最適な組み合わせを決定することができます。このプロセスには、ロボット係数のフィルタリングと最適な組み合わせの選択方法が含まれ、それぞれの時間間隔(複数の場合もある)をチェックする必要があるため、このプロセスを手動で実施することはほとんどできません。さらに、データ転送に関連するエラーや、人的要因に関連する他のエラーに遭遇する可能性もあります。そのため、最適化プロセスを外部から管理するツールが必要です。作成されたプログラムは、設定された目標に合致しています。より体系的に説明するために、プログラム作成プロセスをいくつかの記事に分け、それぞれの記事でプログラム作成プロセスの特定の領域をカバーしています。
このパートでは、最適化レポートを扱うためのツールキットの作成、ターミナルからのインポート、および得られたデータのフィルタリングとソートに専念しています。より良い表示構造を提供するために、*xmlファイル形式を使用します。このファイルからのデータは、人間でもプログラムでも読み取ることができます。さらに、データはファイル内のブロックにグループ化することができるため、必要な情報に迅速かつ容易にアクセスすることができる。
私たちのプログラムはC#で書かれたサードパーティーのプロセスであり、MQL5プログラムと同様に作成された*xmlドキュメントを作成し、読み取る必要があります。 そのため、レポート作成ブロックは、MQL5とC#の両方のコードで使用できるDLLとして実装する予定です。このように、MQL5コードを開発するためには、ライブラリが必要になります。まずはライブラリの作成手順について説明し、次回は作成したライブラリと連動して最適化パラメータを生成するMQL5コードの説明を行います。今回は、これらのパラメータについて考察していきます。
良い記事が掲載されました-。
----------------
連続ウォークフォワード最適化(その1)。 最適化レポートの使い方
その2へ続く
----------------
連続ウォークスルー最適化(その2):任意のロボットの最適化レポートを作成する仕組み
今回は、取引戦略のウォークスルー最適化を行う自動化オプティマイザーを作成するためのシリーズです。前回は、自動オプティマイザーとExpert Advisorで使用されるDLLの作成について説明しました。この新しいパートでは、完全にMQL5言語に専念します。最適化レポートの生成方法と、アルゴリズム内でのこの機能の応用について考えていきます。
ストラテジーテスターはExpert Advisorからそのデータにアクセスすることができず、また提供される結果も詳細ではないため、以前の記事で実装した最適化レポートのダウンロード機能を使用することにします。この機能の一部は変更されていますが、以前の記事でカバーしきれていない部分もあるので、プログラムの重要な部分であるこれらの機能について、もう一度考えてみましょう。まず、新機能の1つであるカスタム・コミッションの追加から説明します。この記事で説明するすべてのクラスと関数は、Include/History managerディレクトリの下に配置されています。
取引、自動売買システム、テスト取引戦略に関するフォーラム
MetaTrader 5 build 2340 プラットフォームの新バージョン。テスターでの口座設定の管理、Pythonとの統合の拡大
レナート・ファットフーリン, 2020/02/25 19:46
ベータ版2341は、エージェントでの* .dllの読み込みを修正したものが出てきました。トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
Strategy Tester中にALL "Agent -> Local: 4 cores "を使用するようにMT5を設定するにはどうしたらいいですか?
フェルナンド・モラレス, 2020.03.28 11:04
エージェントは最適化時に使用されます。バックテスト では、エージェントは1つだけ必要です。
今日、ローカルファームでテストしてみたところ、linuxで使っていたメタトレーダー5がエージェントを消してしまったので、メタテスターだけをインストールしてみたのですが、やはりダメでした。
ジャーナルには、"2020.04.18 17:15:22.124 Tester Cloud servers switched off" と記載されています。
今日、私のローカルファームでテストしてみたところ、linuxで使っていたメタテスター5がエージェントを消してしまったので、メタテスターだけをインストールしてみましたが、まだ動きません。
そしてジャーナルには "2020.04.18 17:15:22.124 Tester Cloud servers switched off" と書かれています。
...何らかの制限があるのかもしれません.
私はVPSと32ビットMetatraderでクラウドが動作しないことを知っている(しかし、私はLinuxのことをよく知らない...それは同じ制限かもしれない)。
私は、IP 180.214.90.6のようなPCの別のサブセットを使用したい、ローカルネットワーク192.168.1.5を使用しないでください。
192.168.1.5はパスOK接続と仕事良好です。
180.214.90.6のログは常に接続を示します......(パスワードの問題やタスクが起こっていない...)
これは行うことが可能であれば?
私はより多くのテストケースを作る... (そして、何が起こるかを確認するためのデバッグメッセージはありません?!ソックリです ><)
テスト環境 MT5Build 2410(08 May 2020) / Win10 x64 base/AllPR >120 全てのソフトで同じバージョンを 使用しています。
nb 192.168.18.3
pc1 192.168.18.7
PC2 180.214.90.6 --->(192.168.18.5)
PC3 192.168.18.8 (Ubuntu)
ケースA NBでPC1が見える(ただし、速度が一番遅いもので制限されているので、ロードバランスがうまくいっていないように見える?))
ケースB PC1からNBが見えない場合
ケースC NB,PC1からはPC2が見えない
ケースD PC1はローカルネットでPC1を見ることができます。
ケースE NBからPC3が見える(ubuntuでwinbindを追加後)
いろいろな方法を試してみました。PC1には複数のエージェントが入っていますが、副作用はないのでしょうか?
ファイアウォールを確認 し、エージェントを削除し、再度追加してみました。
それは動作しません><
連続ウォークフォワード最適化
----------------
"エージェント数が増えすぎると明らかにメモリ 不足になること、ハイパースレッディングコアでの計算速度が低下することから、クラウドでの作業時は物理コアのみに絞ることにしました。
..
私たちは以前からエージェントにタスクを発行する前に、おおよそのリソース充足度を評価していますが、その中で最も有効なのが、クラウドでは物理コアのみで作業することです。
ローカルでは、コアのシャットダウンを簡単に制御できるため、すべてのコアを使用することができます。"
私の新しいハードウェア(AMD Ryzen 9300、32GB DDR4)で、私は多くのエージェントの結果を観察しています - ハイパースレッドコアで実行されていた(と思われる)ものが、戦略テスターで誤った結果を生成しています。
このことから、ローカルですべてのコアを使用することは不可能であると思われます。