マーケットにある商品の自動チェック(質問・提案) - ページ 5

 
Rashid Umarov:

これはすでに修正されています。

ありがとうございます。

 
もう一度、MetaQuotesの代表者に、自動検証をよりインテリジェントで柔軟なものにすることが望ましいという事実に注意を促したいと思います。すべての製品をひとくくりにすることに意味も正当性もない。特に、「テスターが長すぎる」というエラーに適用されます。明確な基準も、テストプロセスやインフラ(少なくともアルゴリズム取引における以前の選手権の枠組みでは行われていた)の説明も、多少なりとも完全な診断情報もないため、アプリケーション開発者はテレパシーで、あるいは手探りで、製品をオートバリデーターのプロクラステスベッドに詰め込む方法を見つけなければならないのである。

例えば、指標の場合、計算されたバッファの数とその直接的な目的が実行速度の制限に客観的に影響することは明らかである。もしインジケータがバッファ/レベルの10分の1のティック(ギャップなしのすべてのティック、つまり前回のイベントOnCalculateから受信したすべてのティックがCopyTicksRangeを通して読み込まれる)の統計計算を意図しているなら、それは終値 MACと同じ要件を持つことはできません。

もちろん、プロファイラや 経済的な計算方法はすでに確立されていますし、リファクタリングは何日もかかりますが、「テスターは時間がかかりすぎる」はそのまま残っています。テストしたペアとタイムフレーム(EURUSD H1, XAUUSD D1, GBPUSD M30, EURUSD M1)に関する利用可能な最小限の情報を使用して、中規模のコンピュータで4つの指定されたテストを実行し、ペアごとに1.5~2分の範囲で実行時間を得ました。なぜオートバリデーターが1時間足りないのか、私にはわからないし、知る由もない。フィードバック(以前は人間のモデレーターがいた)がないため、問題が解決されない。オートバリデーター導入前は、モデリングに成功していた。

マーケットが(開発者にとっても)便利にアップデートし、ユーザーに様々な機能の高品質な製品を提供するためには、サポートが存在しなければならない、イミフです。現在では、製品が市場の外にあるグレーゾーンに押し出されている状況です。もし、製品を切らずにオートバリデーションができないのであれば、新しいバージョンの製品を直接お客様に提供するしか方法はないでしょう。

PS.そして、小さな付加価値。プロファイラに よると、年間テストの1分半のうち、OnCalculateの処理全体で11秒かかっているそうです。つまり、ある指示計の速度合格率は、指示計自体の12%に過ぎず、それ以上に試験者に依存するのです。つまり、「テスターは時間がかかりすぎる」というフレーズは、文字通り「テスターが 遅くなる」と理解すべきなのです。そして、これは誰の問題なのでしょうか?MQL開発者がMQテスターのスピードアップに責任を持つにはどうしたらいいのでしょうか?
 
Stanislav Korotky:
PS.そして、小さな付加価値。プロファイラに よると、年間テストの1分半のうち、OnCalculateの処理全体で11秒かかっているそうです。つまり、ある指示計の速度合格率は、指示計自体の12%に過ぎず、それ以上に試験者に依存するのです。つまり、「テスターは時間がかかりすぎる」というフレーズは、文字通り「テスターが 遅くなる」と理解すべきなのです。そして、これは誰の問題なのでしょうか?MQL開発者がMQテスターの加速に責任を持てるのか?

何かスッキリしない。本物のダニだって、もっと早く用意されている。1分半もあれば、そこでやることはない。

メインレベルではオブジェクトは作成されないのですか?

 
Stanislav Korotky:
PS.そして、小さな付加価値。プロファイラに よると、年間テストの1分半のうち、OnCalculateの処理全体は11秒かかっている。そのため、特定のインジケータによるスピードテストの合格率は、インジケータ自体に12%程度依存し、それ以上はテスターに依存することになります。つまり、「テスターは時間がかかりすぎる」というフレーズは、文字通り「テスターが 遅くなる」と理解すべきなのです。そして、これは誰の問題なのでしょうか?MQL開発者がMQテスターのスピードアップに責任を持つにはどうしたらいいのでしょうか?

オートバリデーターのログを見ると、M1のテストでは1時間では月間のインターバルを 通過できないことがわかりました。

test on EURUSD:M1, from 01.5.2018 to 01.6.2018, deposit 1, model 1, execution delay 1 ms 

H1では、同じインジケータが数分でテストに合格しています。

test on EURUSD:H1, from 01.5.2017 to 01.6.2017, deposit 10000, model 1, execution delay 1 ms 

コードの中から原因を探します。

 
MetaQuotes Software Corp.:

オートバリデーターのログを見ると、M1のテストでは1時間では月間のインターバルを 通過できないことがわかりました。

H1では、同じインジケータが数分でテストに合格しています。

コードの中から原因を探します。

残念ながら、上記のログの断片には1時間遅れは見当たりませんが、おそらく月を強調するためだけに必要なのでしょうか。自分でも確認しましたが、ジャムは見当たりません。個人的なメッセージでログを送ることができます。

ログにエラーは出ていませんか(サイト上のレポートには表示されません)?

 
Andrey Khatimlianskii:

何か怪しいぞ。リアルチックスでも準備が早くなっている。1分半は何もすることがない。

メインレベルではオブジェクトは作成されないのですか?

もちろんオブジェクトはあるのですが、プロファイラーが それを強調するはずですよね。すべてのコンストラクタ/デストラクタがあります。実行時間でソートすると、予想通りOnCalculateが一番上になります。インジケータはビジュアルモードでテストされます - ビジュアライゼーションがあります。

こちらは2018年のEURUSDのM1テストから。

2019.10.10 18:43:30.736 EURUSD,M1: 26463085 ticks, 371934 bars generated. Environment synchronized in 0:00:00.331. Test passed in 0:04:36.710 (including ticks preprocessing 0:00:03.479).

そして、プロファイラの中身はこんな感じです(54秒)。


オンカレ 449 26463086 54 302 661 99.99%
 
こんにちは私は、端末の再インストールは、以前購入した製品は、問題を解決する方法を知っている市場で更新されていないだけでなく、助けていない市場からアドバイザーや 指標をインストール することはできませんが、市場を消失しています。
ファイル:
 
Prostocar:
こんにちは私は、端末で市場を消している私は、市場からのアドバイザーや指標をインストールすることはできません 端末の再インストールは、同様に以前に購入した製品は、問題を解決する方法を知っている市場に更新されていない助けにはなっていません

インターネットエクスプローラーのバージョンを確認してください。飛んでいるのではないかという疑惑があります。
 
Stanislav Korotky:

もちろん、オブジェクトは存在するのですが、プロファイラーが それを強調するはずですよね。すべてのコンストラクタ/デストラクタがあります。実行時間でソートすると、予想通りOnCalculateが一番上になります。インジケータはビジュアルモードでテストされます - そこにレンダリングがあります。

はい、確かに「@global_initializations」のことを忘れていました。

バーやインジケーターのバッファの描画自体に、これだけの時間がかかっていることが判明?

また、リリースに向けてコンパイルし、同じ間隔でビジュアライザーを実行し、そのまま最後までスクロールさせた場合(「skip to...」)、どれくらいの時間がかかりますか?

 
Andrey Khatimlianskii:

バーやインジケーターのバッファの描画自体にそんなに時間がかかることが判明したのか。

また、リリースに向けてコンパイルし、同じ間隔でビジュアライザーを実行し、そのまま最後までスクロールさせた場合(「skip to...」)、どれくらいの時間がかかりますか?

加速している。2018年4分→1.5分、2019年1.5分→35秒。また、何もカウントしない偽のワンバッファインジケータは、ビジュアライザーでのテストが53秒、スクロールでのテストが12秒です。

しかし、そこでハングアップする(タイムアウトは1時間)というからには、処理速度ではなく、私たちの知らない何らかの環境下にある可能性が高い(なにしろ、autovalidatorは端末テスターではないのだから)。だからこそ、少なくとも過去ログは重宝されるのです。