記事"高速数学的計算に基づくカスタムストラテジーテスター"についてのディスカッション

 

新しい記事 高速数学的計算に基づくカスタムストラテジーテスター はパブリッシュされました:

この記事では、カスタムストラテジーテスターと最適化パスのカスタムアナライザーを作成する方法について説明します。 これにより、数学の計算モード、いわゆるフレームの仕組みを理解することができ、計算のカスタムデータをロードしその圧縮の効果的なアルゴリズムを使用できるようになります。 この記事は、EAの中でカスタム情報を保存する方法に興味がある方にも有意義なものになります。

このコードには、インプットパラメータ x と、渡された引数からの正弦値を計算する OnTester 関数が含まれていません。 この場合は、 xです。 今度はこの関数を最適化してみてください。 これを行うには、ストラテジーテスタで「Slow complete algorithm」最適化モード、および前のシミュレーションモードを選択します: 「Math calculations」。

最適化パラメータの x の範囲を設定します: スタート-0.01、ステップ-0.01、ストップ-10。 すべての準備ができたら、ストラテジーテスターを実行します。 ほぼ即座に終えるでしょう。 その後、最適化チャートを開き、コンテキストメニューの「1D チャート」を選択します。 グラフィカルな解釈で正弦関数が表示されます:

図3. 正弦関数のグラフィック表現

このモードの特徴は、リソースの消費量が少ないことです。 ハードドライブ上の読み取り/書き込み操作が最小化され、テスターエージェントは、リクエストされたシンボルのクオートをダウンロードしていません。すべての計算は、OnTester 関数に焦点を当てています。


作者: Vasiliy Sokolov

 

ResourceCreator.mqhのソースコードを読み終えた。いくつかの疑問が生じた。

  1. なぜ標準のFileLoadとFileSaveを使わないことにしたのか?
  2. 開発者によると、tester_fileディレクティブは強制圧縮の後にのみ対応するファイルをAgentに渡すとのこと。ということは、引用符を中に押し込んだ変形(あなたが決めたことだと思います-私はまだそれ以上読んでいません)はEX5として妥当なのでしょうか、それともtester_folderの 代替なのでしょうか?この件に関してスピードの研究はしましたか?
  3. 各パスで内部リソースをアンパックするというのは正しく理解していますか?
 
この実装では、ポジション生成の瞬間が最も興味深い。そのフィールドは外部からの変更から保護されているが、静的なCreateOnBarOpenメソッドは、適切に設定されたパラメータを持つクラスのオブジェクトを返す。このメソッドを呼び出す以外に、このクラスのオブジェクトを作成することは不可能である。これが、意図しない変更に対するデータ保護の仕組みである。

彼らはコンストラクタをpublicから外すのを忘れたに違いない。なぜ普通のコンストラクタを使わなかったのか、それだけが理解できない。

 
各ランは、1つのzipアーカイブ内に別個のファイルとして保存することができる。

このソリューションには、異常終了という弱点がある。中断された最適化のデータが失われることになる。また、すでにお気づきのように、mqdファイルは再度読み込むことができません。

その上、この方法ではアナライザーを移動中に使用することができません。

 

手始めに良い記事だ!注意事項

  • 実際には、独自の取引APIを使用することが推奨されている。これは開発をほとんど否定するものです。テスター用の取引APIが標準のものと一致している場合、MT5内に独自のテスターを持つことは理にかなっています。そうでなければ、競合他社の既製のテスターを使用するか、同じRを使用して同じ利益を得ることができます。
  • カスタムシンボルのメカニズムでは、そのようなテスターが何のために必要なのかがよくわからない。
  • バイト操作は、普遍的な形で見ることができればいいだろう。
  • あなたのテスターと標準的なテスターの速度の比較が欠けている。
  • あなたのテスターをそのような目的にも使用することは合理的である。

取引、自動取引システム、取引戦略のテストに関するフォーラム。

メタトレーダー5の技術的特異点

fxsaber, 2017.12.14 14:11 pm.

カスタムシンボルについては、CustomTicksAddを通じてティックを投げるオプションがあります。これは非常に便利なものです!例えるなら、TesterCreate, TesterDestroyと同様にTesterTicksAddも欲しいです。そうすれば、自分のティックをテスターに投入し、テスターの現在の状態の取引環境を読み取ることができる。

TSを書くスキームが完全に変わってしまうので、カスタム・フィードよりもアルゴ・トレーディングのブレークスルーになるだろう。これまでのTSの実装は、一挙にアルゴリズム取引ロジックの旧基準となるだろう。

作者に感謝する!


なぜFrameNextはwhileなしで使われるのですか?

 

クールだが、私には複雑すぎるように思える...本当に、pythonでいくつかの既製のテスター/最適化ツールを見つけ、gpuを含め、必要に応じてそれを呼び出すことができる。pythonのテスターはたくさんあるはずだ。

ところで、mt5でpythonスクリプトを使うことについての記事は一つもありません。

 
fxsaber:
  • バイト操作は普遍的な形で見たい。

私には理解できない。普遍的な見方とは?

fxsaber

ZY なぜFrameNextがwhileなしで使われるのですか?

最後の実行はOnTesterPassに渡され、そこでFrameNextが ロードされます。この場合、whileは必要ありません。
 
fxsaber:

この解決策には、ターミナルからの異常終了という弱点がある。中断されたOptimisationのデータが失われることになる。また、すでにお気づきのように、mqdファイルは再度読み込むことができません。

その上、この方法ではアナライザーを移動中に使用することができません。

私の理解では、統計はプログラムの別のインスタンスによって収集されるため、データが失われることはありません。一般的に、私はすべての実行を1つのアーカイブとして保存することが、プロジェクト 全体の中で最も成功した解決策だと考えている。

 
Maxim Dmitrievsky:

クールだが、私には複雑すぎるように思える...本当に、pythonでいくつかの既製のテスター/最適化ツールを見つけ、gpuを含め、必要に応じてそれを呼び出すことができる。pythonのテスターはたくさんあるはずだ。

ところで、mt5でpythonスクリプトを使うことについての記事は一つもありません。

さて、PythonでMetaTrader Cloudをどのように使うのでしょうか?MT上でどのようにpythonスクリプトを実行したいですか?

 
fxsaber:

コンストラクタをpublicから外すのを忘れたのだろう。なぜ普通のコンストラクタを使わなかったのか理解できない。

実験。

 
fxsaber:

ResourceCreator.mqhのソースコードを読み終えた。いくつかの疑問が生じた

  1. なぜ標準のFileLoadとFileSaveを使わないことにしたのか?
  2. 開発者は、tester_fileディレクティブは強制圧縮の後にのみ対応するファイルをAgentに渡すと言いました。ということは、EX5の中に引用符を押し込んだ変形(あなたがそう決めたのだと思いますが、それ以上はまだ読んでいません)は合理的なのでしょうか、それともtester_folderの 代替なのでしょうか?この件に関してスピードの調査をしましたか?
  3. 各パスで内部リソースをアンパックするというのは正しい理解ですか?
これらはすべて検討すべきオプションです。おそらく次のバージョンでは、いろいろと変更すると思います。今は、少なくとも何とか駆動するようにしました。