MetaTrader 5 Strategy Testerの開発計画について

 

ベータ版のテスターの中途半端な状態に怯える必要はありません。より早く結果を出すために、あえてすべての中間バージョンをベータ版で展開しました。


戦略テスターをどう改革していくか。

  1. 初心者の方にもわかりやすいように、テスターのスタートページでは、勉強の選択肢が表示されるように、新しいデザインでご紹介しています。




  2. 過去のテスト結果をすべて保存することを重視し、簡単な検索で過去にさかのぼってテスト結果を見ることができます。

    ファイルからの直接ダウンロードだけでなく、検索ボックスで過去の検索結果も簡単に見つけることができます。

  3. これまでのテストとの比較を可能にします。






  4. 新しい最適化オプションを追加する可能性があります

  5. 手数料や注文の発動条件、スリッページなど、テストの詳細設定を飛躍的に拡充します。

    今のところ、ベータ版ではピップ単位でのテストが可能で、モデリングの量を大幅に減らし、テストを高速化することができます。

    設定の全容は、もう少し後で紹介する予定です。

  6. ソースデータの準備機構を書き換え、エージェント同期のコストを削減します

    特にローカルエージェントでは、大量のデータを送り込む必要がなく、過去のデータのコピーを複数持つこともないので、高速化は顕著になるでしょう。

  7. 新しい3D可視化エンジンとフルウィンドウでのテスト結果表示

  8. クラスターネットワークの改革、各エキスパートの条件をより詳細に制御することで、エージェントグループを個別に選択できるようになりました。

    目標は、適さないエージェントや遅いエージェントによる遅延がないように、可能な限りタスクを高速化することです。


また、MQL5言語自体も活発に開発されており、スコープの搭載、テンプレートのサポート拡大、暗黙的に生成されるクラスの処理などを行っています。

近々、新機能を搭載する可能性が高い。

  • SQLiteデータベース
  • 3Dを含むグラフィックライブラリの拡張


この後、言語へのモジュール搭載という画期的な作業に移ります。

EX5形式に再コンパイルされたC++ライブラリで、MQL5コードから直接利用することができます。つまり、低レベルの危険な呼び出しが安全なランタイムに完全にマッピングされ、MQL5のコードに安全なラッパーが作成された時点で、オペアードライブラリの再コンパイル作業を開始する予定です。

こうすることで、セキュリティを犠牲にすることなく、言語の機能性を高めることを計画しています。モジュールアッセンブリーは、私たちだけが入手できるため、出来上がったソリューションに一定の安全性を確保することができます。

この仕組みはすでに機能しています。

例えば、MQL5環境の機能の一部は、長い間、コンパイル時にEX5のコードにネイティブに組み込まれており、ビルドレベルで非常に良い最適化を提供しています。

 

Renat Fatkhullin:

手数料や注文の発動条件、スリッページなど、詳細なテスト設定を大幅に拡充する予定です。

この追加もその一つでしょう。

 

走り比べは、とてもいいことだと思います。

また、サードパーティーのソリューションが普及したのは、複数のランをひとつにまとめるという、ヒゲの時代からのニーズがあるからです。

つまり、複数のTCが「同時進行」しているが、その全体の歴史とエクイティが構築されている。

 

トレーディング、自動売買システム、ストラテジーテストに関するフォーラム

ライブラリ: マルチテスター

fxsaber, 2019.07.22 01:54

テスターは、自動化する能力を身につけると、非常に強い脱穀機になります。

もし開発者がMQLに社内のテスター管理機能(日付/シンボル/モードの設定、ベストシングル実行、レポート保存など)を盛り込んだ場合。を使えば、潜在的な競争相手の100倍の強さになる。そして、本格的なコンピューティング・スレッシャーとなり、本格的なおもちゃから前代未聞の研究ツールとなることでしょう。

でも、そんなことはないでしょう。ハイライトを 自動化できる人がいれば、それは素晴らしいことです。


TesterSetInfo、TesterGetInfo。

 
fxsaber:

また、サードパーティーのソリューションが普及したヒゲの時代からのニーズとして、複数のパスを1つにまとめるというものがあります。

つまり、複数のTCが「同時進行」しているが、その全体の歴史とエクイティが構築されている。

仲間をサポートする側で実装しなければならないのですが、逆にテスターではどのように整理すればいいのでしょうか。ふむ、このようなパスには "Portfolio #"のような属性を追加する。- こんな感じかな?

 
Aleksey Vyazmikin:

仲間をサポートするサイドで実装しなければならないが、逆にテスターではどのように整理しているのか?うーん、こういうパスには、"ポートフォリオ番号 "のような属性を追加してください。- こんな感じかな?

テスト中の各プログラムに同時にエージェントを手動で割り当てることができます。
例えば、8人のエージェントがいて、そのうち4人がある専門家に、4人が別の専門家に割り当てられているとします。その結果、同時にテストできるのは2つのmqlプログラムのみとなる。
あるいは、各エキスパートには2人のエージェントが割り当てられ、同じ8人のエージェントがすでに4つのプログラムをテストしているなどです。

あるいは、エージェントを自動的に割り振り、レースのように、先に取った者がエージェントを取得する。
エージェントが1つのタスクを完了させ、再びタスクキューからピックアップされるまで待機する、など。
したがって、同時にテストするプログラムの数が増える。

同時にテストされる各プログラムには、自動的に仮想テスター環境が割り当てられます。
そして、各テストは同時に単体で実行され、すべてのパスが終了した後、各プログラムの結果をまとめて平均値を算出する。
全体の統計情報が表示されます。

 
Roman:

テスト中の各プログラムには、同時に手動でエージェントを割り当てています。
例えば、8つのエージェントがあり、4つがあるExpert Advisorに、4つが別のExpert Advisorに割り当てられているとします。その結果、同時にテストできるのは2つのmqlプログラムのみとなります。
あるいは、レースのように自動的にエージェントを割り当て、先にエージェントを手に入れた人が同じものを手に入れられるようにする。
エージェントは1つのタスクを完了し、タスクキューから再びピックアップされるのを待っている、など。
したがって、同時にテストするプログラムの数が増える。

同時にテストするプログラムごとに、仮想テスター環境が自動的に割り当てられます。
そして、各テストは同時に単体で実行され、全てのパスが完了した後、各プログラムの結果をまとめ、総合的な統計値を表示します。

私のバージョンはよりシンプルで機能的であり、必要なだけ多くのEAとその設定を、不必要な大騒ぎをすることなくテストすることができます。あなたのバリアントは、タスクを分配 するためのマネージャーを必要としている...あなたは、ユーザーによって形成され、どこにエキスパート-アドバイザーとそれのセット/設定だけでなく、ポートフォリオのIDが示されているポートフォリオテストのマネージャーを追加する必要があります - あなたはその後、別のポートフォリオを比較できるように、それは普遍と機能されます。

 
Aleksey Vyazmikin:

私のバージョンはよりシンプルで機能的で、余計な手間をかけずに好きなだけ多くのEAとその設定をテストすることができます。あなたのバリアントは、タスクを分配 するためのマネージャーを必要としている...ユーザーによって形成され、Expert Advisorとそのためのセット/設定、およびポートフォリオのIDが示されているポートフォリオテストのためのマネージャーを追加する必要があります - 異なるポートフォリオを比較できるように、それは普遍的かつ機能的になります。

そこで、2つのアプローチをとっています。
あるいは、各プログラムを順次テストし、その結果をポートフォリオ番号で生成し、一般的な統計に利用する。
また、マルチスレッドモードで各プログラムを同時にテストし、これらのセットセットの一般的な統計情報を即座に表示します。
違いは、初期設定の動作、またはテスト後の全体統計の手動生成のみです。
また、テスト実行の全体的なスピードも向上する可能性があります。

p.s. MetaQuotes - 夢は時々叶う。

 

Renatさん、MEスタイリングの 選択肢に、もう一つMQオールドという選択肢を追加してください。以前からあったもの。あなたにとっては小さなことですが、多くのユーザーにとっては神経をすり減らすことになるのです。

新しいスタイルに慣れるのは嫌だ...。古いものでもかなり満足しています。

ありがとうございます。

 

ストレステストとは何ですか?

(どのような機能を持つか)

 

素晴らしいニュースです。

これにより、MT5への移行が促進される。

結局、みんなmt5用にプログラムを書き換えてテストすることになるわけですが......。

理由: