最適化のためのCPUコアの評価

 

最適化モードでのStrategy Testerの効果を推定するために、様々なプロセッサの性能に関する統計を取ることをお勧めします。

より客観的に見るには、ハードディスクとコンピュータのメモリの使用を最小限に抑えることができる「数学的計算」モードで動作するExpert Advisorを使用することをお勧めします。可能であれば、プロセッサ名、マザーボード名、RAMの周波数を指定してください。

Expert Advisor には最適化すべきパラメータが 1 つしかなく(実際には何もなく、データはすべてのエージェントで同一です - 客観的であるために)、スレッドの数と同じパス数を指定し、プロセッサコアの数でエージェントを選択します(ハイパートレーニングではありません!)。

私は、収集されたデータは、最初の順序のない取ることが合理的である最適化のためのハードウェアを選択する際に人々を助けることを願って、少なくともそれは最近そうでしたが、何かが変わる可能性があります。

Expert Advisor自体は、私が決定木から葉を選択する同様のタスクで使用している本物のEAを切り出したもので、つまり、本物のMoDタスクです。コード中の葉は1000個しかないが、実際にはすでに7万個以上あるので、コンパイルの結果を待つために許容できる待ち時間の関数に入れられる。

2019.08.09 23:04:26.397 Terminal        Windows 7 Service Pack 1 (build 7601) x64, IE 11, Intel Core i5  M 450 @ 2.40 GHz, Memory: 2045 / 3766 Mb, Disk: 53 / 148 Gb, GMT+3
コンテキストメニューからStrategy Testerのログで、"Full Optimisation Log "オプションにチェックを入れます。
2019.08.09 22:41:25.630 Core 2  pass 2 returned result 1001000.00 in 0:04:50.391
2019.08.09 22:41:26.642 Core 1  pass 0 returned result 1001000.00 in 0:04:51.365
2019.08.09 22:46:09.036 Core 2  pass 3 returned result 1001000.00 in 0:04:43.441
2019.08.09 22:46:10.759 Core 1  pass 1 returned result 1001000.00 in 0:04:44.152
2019.08.09 22:46:10.759 Tester  optimization finished, total passes 4
2019.08.09 22:46:10.769 Statistics      optimization done in 9 minutes 36 seconds
2019.08.09 22:46:10.769 Statistics      shortest pass 0:04:43.441, longest pass 0:04:51.365, average pass 0:04:47.337

追記:このスレッドで、一部の(これはこれから調べる)プロセッサにおけるファイルサイズが、コード構造的にはあまり変わらないものの、システム全体の性能に影響を与えることが判明しました。ですから、皆さんには2つのテスターをテストしていただくようお願いしています。

テスターの設定例 - シンボル、期間、タイムフレームは重要ではありません - その他の設定が関連します。 スクリーンショットは別のEAを示しますが、設定は正しいものです


これまでのところ、秒単位の平均時間が使用されている次のような評価があります - 最後の2列と最後の列は、1時間におけるプロセッサのパス回数を示しています。

この表は、計算資源 消費の点で最も重いEAオプションとして、最後の列でフィルタリングされています。



Распределенные вычисления в сети MQL5 Cloud Network
Распределенные вычисления в сети MQL5 Cloud Network
  • cloud.mql5.com
Большую часть времени современные компьютеры простаивают и не используют всех возможностей процессора. Мы предлагаем задействовать их с пользой. Вы можете сдавать мощности вашего компьютера другим участникам нашей сети для выполнения разнообразных...
ファイル:
 
Aleksey Vyazmikin:

最適化モードで動作するストラテジーテスターの効率を推定するために、さまざまなプロセッサーの性能に関する統計情報を収集することを提案します。

良い取り組みですね、応援しています。

コンパイル時に警告が出るのですが。

implicit conversion from 'number' to 'string'   Tree_Brut_TestPL.mq5    2567    16

こんなんでいいのか?

文字列です。

   if(FrameAdd(Test_P,1,0,stat_values)==false)
 
Aleksey Vyazmikin:

最適化モードでのStrategy Testerの効果を推定するために、様々なプロセッサの性能に関する統計を取ることをお勧めします。

より客観的に見るには、ハードディスクとコンピュータのメモリの使用を最小限に抑えることができる「数学的計算」モードで動作するExpert Advisorを使用することをお勧めします。可能であれば、プロセッサ名、マザーボード名、RAMの周波数を指定してください。

Expert Advisor には、最適化すべきパラメータが 1 つしかありません。(実際には何もなく、データはすべてのエージェントで同一です - 客観的であるために)スレッド数と同じパス数を指定し、プロセッサコア数でエージェントを選択します(ハイパートルーディングはありません!)。

少なくとも最近はそうなってきていますが、変わってきているものもあるかもしれません。

Expert Advisor自体は、私が決定木から葉を選択する同様のタスクで使用している本物のEAの断片で、つまり、本物のMoDタスクです。コード中の葉は1000個しかないが、実際にはすでに7万個以上あるので、コンパイル時の期待値を許容するために関数に入れられる。

どのような期間で、どのような最適化を行うべきか?そのツールは重要か?
 
Serhii Shevchuk:

良い取り組みですね、応援しています。

コンパイル時に警告が出る。

これがあるべき姿なのか?

線です。

訂正して再登場!

テストしてみてください。

 
Maxim Romanov:
どの期間、どのようなタイムフレームで最適化を行うか?そのツールは重要か?

数学的計算 モードでは、刻みは発生しませんので、問題ありません。

 
それがどうした?2000年代後半のスタンプは、もう離陸しないのでしょうか?:D
 
Artem Prischepa:
何があるんだろう?2000年代後半のスタンプはもう離陸しないのか?:D

このプロセッサを試してみて、その結果を投稿してください。

 

老いた馬は溝を荒らす?

ハード

結果

2019.08.09 23:22:07.472 Tester  set "Custom max" as optimization criterion for mathematical calculations
2019.08.09 23:22:07.540 Experts optimization frame expert Tree_Brut_TestPL (EURUSD.m,H1) processing started
2019.08.09 23:22:07.592 Tester  cache file 'tester\cache\Tree_Brut_TestPL.30.DFF2DB61B8A3751199D61AD0A0F226D3.opt' deleted
2019.08.09 23:22:07.623 Tester  Experts\Tree_Brut_TestPL.ex5 math calculations test means no history and no symbol info for EURUSD.m
2019.08.09 23:22:07.623 Tester  complete optimization started
2019.08.09 23:22:07.648 Core 1  agent process started on 127.0.0.1:3008
2019.08.09 23:22:07.650 Core 2  agent process started on 127.0.0.1:3009
2019.08.09 23:22:07.652 Core 3  agent process started on 127.0.0.1:3010
2019.08.09 23:22:07.654 Core 4  agent process started on 127.0.0.1:3011
2019.08.09 23:22:07.657 Core 5  agent process started on 127.0.0.1:3012
2019.08.09 23:22:07.659 Core 6  agent process started on 127.0.0.1:3013
2019.08.09 23:22:07.662 Core 7  agent process started on 127.0.0.1:3014
2019.08.09 23:22:07.664 Core 8  agent process started on 127.0.0.1:3015
2019.08.09 23:22:07.972 Core 1  connecting to 127.0.0.1:3008
2019.08.09 23:22:07.973 Core 1  connected
2019.08.09 23:22:07.983 Core 1  authorized (agent build 2097)
2019.08.09 23:22:07.997 Core 1  common synchronization completed
2019.08.09 23:22:08.035 Core 3  connecting to 127.0.0.1:3010
2019.08.09 23:22:08.036 Core 3  connected
2019.08.09 23:22:08.046 Core 3  authorized (agent build 2097)
2019.08.09 23:22:08.056 Core 2  connecting to 127.0.0.1:3009
2019.08.09 23:22:08.057 Core 2  connected
2019.08.09 23:22:08.059 Core 3  common synchronization completed
2019.08.09 23:22:08.067 Core 5  connecting to 127.0.0.1:3012
2019.08.09 23:22:08.068 Core 5  connected
2019.08.09 23:22:08.068 Core 2  authorized (agent build 2097)
2019.08.09 23:22:08.082 Core 2  common synchronization completed
2019.08.09 23:22:08.083 Core 5  authorized (agent build 2097)
2019.08.09 23:22:08.103 Core 7  connecting to 127.0.0.1:3014
2019.08.09 23:22:08.104 Core 7  connected
2019.08.09 23:22:08.119 Core 7  authorized (agent build 2097)
2019.08.09 23:22:08.125 Core 5  common synchronization completed
2019.08.09 23:22:08.140 Core 7  common synchronization completed
2019.08.09 23:22:08.150 Core 4  connecting to 127.0.0.1:3011
2019.08.09 23:22:08.151 Core 4  connected
2019.08.09 23:22:08.151 Core 8  connecting to 127.0.0.1:3015
2019.08.09 23:22:08.151 Core 8  connected
2019.08.09 23:22:08.162 Core 8  authorized (agent build 2097)
2019.08.09 23:22:08.164 Core 4  authorized (agent build 2097)
2019.08.09 23:22:08.184 Core 6  connecting to 127.0.0.1:3013
2019.08.09 23:22:08.185 Core 6  connected
2019.08.09 23:22:08.208 Core 6  authorized (agent build 2097)
2019.08.09 23:22:08.228 Core 4  common synchronization completed
2019.08.09 23:22:08.240 Core 6  common synchronization completed
2019.08.09 23:22:08.250 Core 8  common synchronization completed
2019.08.09 23:24:45.931 Tester  optimization finished, total passes 8
2019.08.09 23:24:45.941 Statistics      optimization done in 2 minutes 38 seconds
2019.08.09 23:24:45.941 Statistics      shortest pass 0:02:35.945, longest pass 0:02:37.669, average pass 0:02:37.006
2019.08.09 23:24:45.941 Statistics      8000 frames (3.14 Mb total, 412 bytes per frame) received
2019.08.09 23:24:45.941 Statistics      local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
2019.08.09 23:24:45.988 Tester  8 new records saved to cache file 'tester\cache\Tree_Brut_TestPL.30.DFF2DB61B8A3751199D61AD0A0F226D3.opt'

端末バージョン。

2019.08.09 23:20:35.776 Terminal        MetaTrader 5 x64 build 2085 started (MetaQuotes Software Corp.)
2019.08.09 23:20:35.778 Terminal        Windows 10 (build 17763) x64, IE 11, UAC, AMD FX-8300 Eight-Core Processor , Memory: 17102 / 24574 Mb, Disk: 2407 / 2441 Gb, GMT+2
 
Serhii Shevchuk:

老いた馬は溝を荒らす?

結果

端末バージョン。

FXのFPUには4個と8個のALUしかなく、最適化時にロードされるのはFPUなので、8個のエージェントが関与しているようですが、4個必要なのです。なぜそう - は明らかではない - 開発者に質問、コードが比較に主に構築されているので、明らかに浮動小数点演算の消費は、それがコプロセッサの数を設定する必要があることが判明したので、勝つまたは倍遅く、その後1パスが速くなると平均時間は同じままになります。

 
Aleksey Vyazmikin:

FXのFPUは4個と8個のAPUしかなく、最適化時にロードされるのはFPUなので、8個のエージェントが関わっていて4個必要なようです。なぜそれがそうである - 明白ではない - 開発者への質問、コードはほとんど比較に基づいているが、明らかに浮動小数点演算の消費量が優勢または倍遅いですので、それはコプロセッサの正確な数を置くことが必要であることが判明し、1パスが速くなると平均時間はほぼ同じままであること。

明確にしてください。4つのエージェントをオフにして、最適化するパラメータを設定すると、最適化が4パス、または8パスになるのですが?
 
Serhii Shevchuk:
明確にしてください。4つのエージェントを無効にして、最適化するパラメータを設定することで、最適化のパスが4回になるようにするか、8回にするか?

8は4つのエージェントを渡す、一種のハイパートレーディングに類似している - スレッドの数に応じて。

Full optimisation log "をオンにすると、各パスの 時間が表示されます。