В статье описан способ быстрой оптимизиции методом роя частиц, представлена его реализация на MQL, готовая к применению как в однопоточном режиме внутри эксперта, так и в параллельном многопоточном режиме в качестве надстройки, выполняющейся на локальных агентах тестера.
取引、自動取引システム、取引戦略のテストに関するフォーラム
記事 "集団最適化アルゴリズム:マイクロ人工免疫システム(マイクロAIS)アルゴリズム "についての議論
fxsaber, 2024.01.21 01:38 AM
IWOは最高の座標が返された値と一致しません。
引き込んだ。
私が理解した限りでは、カスタム最適化は1つのコアのターミナルグラフでのみ行われ、私はテスターでマルチスレッド最適化について話していました(記事で 説明した粒子群アルゴリズムについて、他のほとんどのアルゴリズムについても、通常はタスクをエージェントのグループに分割する原則があるため、類推すれば可能なはずです)。しかし、テスターは最も原始的な例(私は上記のテストを行いました)にぶら下がってしまい、アイデアの芽を摘んでしまいました。
プロジェクトを組み立て、コンパイルした。技術的にはすべて完璧に動作しますが、PSOアルゴリズムだけはスタニスラフから受け継ぎました。
ソースコードを見ていると、FFの実行回数について疑問がありました。これは非常に少なく、結果はランダムよりあまり良くないだろう。社内のテスターは19968回のFFを実行したので、私はソースを20000回に設定した。
私はスタッフで最適化を5回実行した。記事では、10回の最適化を行い、平均値を表示した。
次に、実際の離散取引戦略の問題に最も近い離散関数であるFF Megacityを使用した(HillyとForestは滑らかで、MOタスクの実行能力を評価するのに適している)。
テスターでの設定:
5回実行後の最適化結果:
カスタムラン#1の結果:
カスタムローンチ第2弾の結果:
カスタムラン#3の結果:
100%収束した結果は黄色でハイライトされている。
このように粗いステップでは、RNDアルゴリズムでも収束することがわかります。しかし、複数回の実行(これは論文で行われている)と平均結果の考慮のみが、結果に信頼性を与えることができる。見てわかるように、ハイライトされたもののうち、すべてが繰り返し収束したわけではありません。
結論
1. アルゴリズムは、複数回のテストにおいてのみ、その真価を発揮する(1回のテストでは、偶然に良い結果が出ることもある)。
2. アルゴリズムの能力は、多くの変数と小さなステップで示される。そうでない場合、結果はランダムになりがちである(RNDはその例で、1回のテストで100%の収束を示した)。
3.3.実行回数は多く、10000回程度とする(例えば、母集団が50の場合、エポック数は10000/50=200となり、1000回実行しても20エポックしかない)。
カーソルを強調表示したスタッフの結果は、1人目が0.666、4人目が最大0.97であった。結果のリストでは、最高が0.97と表示されている。
私が理解した限りでは、カスタムの最適化は1つのコアのターミナルグラフでのみ行われ、私はテスターでマルチスレッドの最適化について話していました(記事で 説明した粒子群アルゴリズムについて、他のほとんどのアルゴリズムについても、通常はタスクをエージェントのグループに分割する原則があるので、類推すれば可能なはずです)。しかし、テスターは最も原始的な例(私は上記のテストを行いました)にぶら下がってしまい、アイデアの芽を摘んでしまいました。
スタニスラフから受け取った PSOアルゴリズム以外は、すべて完璧に機能している。
真相を究明したい。
これがエラーです
エラー
ここから TypeToBytes.mqhを 入手してください。