記事"MQL5クラウドネットワークを使った速度アップ"についてのディスカッション - ページ 2

 

以下の設定での私の結果:

  • 移動平均
  • EURUSD、H1、MetaQuotes-Demoの2010.01.01から2011.01.01までのすべてのティック
  • 残高:100 000 USD
  • 設定


MQL5クラウドネットワークのGeneticsモード:予想された8,704パスのうち2,624パスが15分52秒で実際に計算されました。Geneticsは、検索フィールドが非常にまばらであったため、結果の上限に達し、計算を早めに停止した。

2012.02.05 00:52:50     Statistics      locals 0 tasks (0%), remote 0 tasks (0%), cloud 2624 tasks (100%)
2012.02.05 00:52:50     Statistics      optimization passed in 15 minutes 52 seconds
2012.02.05 00:52:50     Tester  genetic optimization finished on pass 8704 (of 1276290)
2012.02.05 00:52:50     Tester  result cache was used 6082 times
2012.02.05 00:52:50     Tester  genetics is over

ディスク上のすべてのキャッシュをクリアし、ターミナルを再起動した後、ローカルコアのi7-2600、3.4Ghz、Windows 7 x64、RAM 16Gb、8コアでGeneticsを実行した:

ローカルの平均通過時間は19秒から25秒(コンピュータには何もロードしていない):

2012.02.05 01:06:34    Core 2    genetic pass (184, 344771) returned result 97426.26 in 20 sec
2012.02.05 01:06:31    Core 7    genetic pass (191, 419403, 1) started
2012.02.05 01:06:31    Core 7    genetic pass (181, 347989) returned result 94247.90 in 25 sec
2012.02.05 01:06:31    Core 3    genetic pass (190, 1048934, 1) started
2012.02.05 01:06:31    Core 3    genetic pass (183, 255717) returned result 92939.02 in 20 sec
2012.02.05 01:06:28    Core 4    genetic pass (189, 535782, 1) started
2012.02.05 01:06:28    Core 4    genetic pass (182, 131277) returned result 98194.52 in 21 sec


このままでは長い時間待つことになると思い、211パスで計算を止めた:

2012.02.05 01:07:59    Statistics    locals 211 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
2012.02.05 01:07:59    Statistics    optimization passed in 11 minutes 16 seconds
2012.02.05 01:07:59    Tester    genetic optimization finished on pass 211 (of 1276290)
2012.02.05 01:07:59    Tester    result cache was used 0 times


古いキャッシュへのヒットがゼロの純粋な211パスであることがわかる。

ジェネティクスの異なる実行がパス数と一致することはほとんどなく、私はかなりきれいにテストを実行したので、数学的に時間を計算することは可能である:

  • ローカルエージェントはクラウデのジェネティクスと同様に2,624パスかかると考える。
  • クロードの2,624パスには15分52秒(952秒)かかった。
  • 211のローカルパスには11分16秒(676秒)かかった。
  • つまり、2,624回のパスには= (2624 / 211) * 676 = 8,406秒(140分6秒)かかることになる。

合計すると、8,406 / 952 = 8.8倍遺伝子がクラウドで速くなることがわかります。これは64ローカルコアのパワーに相当する。


どういう説明か:

  • 遺伝学では、最大スケーリングファクターは64コアから256コアの範囲である。

    これは、異なる世代を交差させるという考え方と適応集団のサイズに直接依存する。つまり、遺伝学では、クラウドネットワーク全体を使用することはない。

  • 遺伝学では、クラウド上のエージェントは各世代の計算が完了するのを待たなければならない。

    その結果、64~256のエージェントのうち、多くのエージェントは継続的に働くのではなく、新しいチャンクを待つことに時間を費やすことになる。多くの場合、各エージェントは64~256のタスクのうち1つのタスクしか完了させる時間がない。また、ローカルコアは、数が少なくパワーが同じであるため、アイドル状態になることはほとんどありません。



  • 一方では、クラウドの結果は実質的に4-8で割らなければなりません。他方では、ローカルコアの能力を可能な限り効率的に使用しています。

  • 20秒パスと半秒パスの結果は非常に近い。

    パケット化と効率的なネットワーク・プロトコル・メカニズムが支配している。

もちろん、完全な列挙の結果には、小さなパケット集団による遅延の問題はなく、速度は数百倍、数千倍にリニアにスケールすることができる。

 

他人の RoboForex サーバーでテストしていて、チャート履歴の初期ポンピングに十分な時間を費やしていました。

新しい履歴では、クロードは数分間ウォームアップするだけで、エージェントによって履歴が同期されます。今テストを繰り返します。

 

MetaQuotes-Demoでテストを行いました:私たちのサーバーにはより多くのM1履歴があり、ほとんどすべてのクローがすでにそれを持ち、ネットワークのウォームアップ時間が短くなっています。

M1バーの量が増えたため、1パスの時間が30秒に増加しました。

MQL5クラウドネットワークでの 結果は以下の通り: 3,704クリーンタスクで25分8秒(1,508秒)。

2012.02.05 02:44:37     Statistics      locals 0 tasks (0%), remote 0 tasks (0%), cloud 3704 tasks (100%)
2012.02.05 02:44:37     Statistics      optimization passed in 25 minutes 08 seconds
2012.02.05 02:44:37     Tester  genetic optimization finished on pass 8960 (of 1276290)
2012.02.05 02:44:37     Tester  result cache was used 5256 times
2012.02.05 02:44:37     Tester  genetics is over

ローカル・パスの結果は以下の通り:181タスクで11分57秒(717秒) - 4時間待つのを避けるために止めた(合計時間は簡単に計算できる)。

2012.02.05 02:58:21     Statistics      locals 181 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
2012.02.05 02:58:21     Statistics      optimization passed in 11 minutes 57 seconds
2012.02.05 02:58:21     Tester  genetic optimization finished on pass 181 (of 1276290)
2012.02.05 02:58:21     Tester  result cache was used 0 times

3,704タスクの計算にローカル・カーネルでどれだけかかるかを計算すると、次のようになる: ( 3,704 / 181 ) * 717 = 14,672秒(244分32秒 = 4時間4分32秒)。

合計すると、14,672 / 1,508 = 9.7倍の遺伝子がクラウドの方が速いことがわかる。

この結果は前回の8.8倍に近いが、それでも10倍に達しており、「桁違いの速さ」と宣言する権利がある。

https://www.mql5.com/ru/forum/6071/page2#comment_148584

Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Заработать деньги, продавая мощности своего компьютера для сети распределенных вычислений MQL5 Cloud Network
 
notused:

3分。28秒のネットワーク利用で、2セントか3セント(端末で3セント、ウェブサイトで2セント、凍結で3セント)が請求された。3セントとするか、あるいは単純化するために、遺伝子のためにネットワークを使用すると、1分間で1セントかかる。合計すると、1時間は60セント、24時間=14.4ドル。私にはとても高く聞こえる。消費者にとって魅力的な価格にするためには、少なくとも3割引にする必要がある(多くの人がEAをテストしているが、誰もがクラウドに1日あたり約15ドルも出費できる/したいわけではない。)

...

私の思考回路は明確だと思う

おい、隣人よ、俺が仕事している間に妻に会いに行くのは気に入らない。

あんたはわかってない、あんたは好きじゃないけど、妻は好きなんだよ。)

買い手はより安く、売り手はより高くを常に望んでいる。

買い手はタスクの希望価格を、売り手はリソースの希望価格を提示することができるはずだ。

しかし、これはすべて将来の話であり、サービスが一般的になり、その便宜性が問題にならなくなるときの話である。今、MQはクラウドがクールであることを積極的に証明しなければならない。

 

私の経験:私はクロードで多くのテストを行ってきたし、現在も行っている。

これは、2-3,000エージェントを使用したことを考慮すると、非常に少ない金額です。

 
Renat:


その結果、14,672÷1,508=9.7倍の遺伝子がクラウドの方が速いことが判明した。

この結果は前回の8.8倍に近いが、それでも10倍に達しており、「桁違いの速さ」と断言する権利がある。

合計すると、遺伝学は7倍から10倍に加速される。つまり、一桁違うのだ。また、ローカルテストでは弱いカーネルは使わなかったので、ユーザーによってはおそらく40倍に達するだろう。

私自身の力で最適化するのに1日以上かかるようなら、クラウドを使うことに決めました。

+ 要望 - 遅いエージェントを特定し、ローカルエージェントとリモートエージェントにタスクを再分配するメカニズムを拡張してください。というのも、リモートと同じコアを使い、さらに10個の弱いローカルエージェントと2個の弱いローカルエージェントで同じテストをすると、このような結果になることがわかったからです:

実質的に2.5倍遅い。そして、どのエージェントで最大のパフォーマンスを得るかを測定する欲求と可能性が常にあるわけではありません。

 

MQLクラウドネットワークのウェブページ()には、最適化のために自分のCPUを他人に使わせて、追加料金を稼ぐことができると宣伝している。

MQLクラウドネットワークのウェブページ(https://cloud.mql5.com/) では、自分のCPUを他の人に最適化のために使わせて、追加で$$を稼ぐことを宣伝している。最適化のためにクラウドネットワークを使用する場合、お金を支払わなければならないという記載がないのはなぜですか? もしあなたがお金を支払わないのであれば、自分のCPUをネットワークに載せているにもかかわらず、最適化を実行しない人たちに誰がお金を支払っているのですか?

Distributed Computing in the MQL5 Cloud Network
  • cloud.mql5.com
Connect to the MQL5 Cloud Network (Cloud Computing) and earn extra income around the clock — there is much work for you computer!
 

クラウドは安全?それともクラウドを使うとEAが盗まれてしまうのでしょうか?

ありがとうございます。

 
MyDream:

クラウドは安全?それともクラウドを使うとEAが盗まれてしまうのでしょうか?

ありがとうございます。

もしMQが望むのであれば、エキスパートによるバックテストの 結果が十分であれば、エキスパート+バックテストのレポートをローカルコンピュータから直接受け取ることができるようにすることができます。しかし、私は彼らがそのようなことをしているとは思わない。

もし本当にエキスパートが優秀だと思うのなら、スプリット・エンジニアリングをすればいい:基本的にテストは別々に行い、実際の結果は、その前に得た結果(スプリット)をすべて組み合わせたときに初めてわかる。

 
MyDream:

クラウドは安全?それともクラウドを使うとEAが盗まれてしまうのでしょうか?

ありがとうございます

MetaTrader 5におけるテストの基礎の 記事をお読みください:

ターミナルとエージェント間のデータ交換

...

エージェントは、セキュリティ上の理由から、ターミナルから取得したEX5ファイル(EA、インジケータ、ライブラリなど)をハードディスクに記録することはありません。DLL を含む他のすべてのファイルは、サンドボックスに記録されます。リモートエージェントでは DLL を使用した EA のテストはできません。

テスト結果は、必要なときに素早くアクセスできるように、端末によって結果の特別なキャッシュ(結果キャッシュ)に追加されます。各パラメーターセットに対して、ターミナルは再実行を避けるために、以前の実行から既に利用可能な結果を結果キャッシュから検索します。もしそのようなパラメータセットの結果が見つからなければ、エージェントにテストを実施するタスクが与えられる。

端末とエージェント間のトラフィックはすべて暗号化されます。