EA作成メモ:AI機能バックテストの制約
MT5でAI機能を取り入れたEAを作ってみた。
テンプレートが、4-4-5-3層のニューラルネットワークだったのでまずそれで試したところ、まずまずの動きをしてくれた。
試すうちにシグナル=インプットが15項目になったので、ニューロンもテンプレの4から15にしないといけない気がしてきて、増やしたバージョンを作ってみた。改修に際していくつかバグを出したが、何とかエラーはなくなった。
いざバックテストを行おうとすると思わぬ問題に直面。バックテスト時のパラメーター設定に上限値があるらしい。
15-15-5-3層のニューラルネットに必要なウェイトはdouble weight[338];、4-4-5-3の時は63、15-4-5-3層の時はweight[107];だったので3倍に増えている。
バックテストの画面の右下に「オプティマイズの総量が64ビットロングの値を超えています。n/a」のメッセージがでて、スタートボタンを押してもすぐに終了してしまう。ログを見るとパラメータをセットしろ、と。
パラメーターチェックボックスをクリアしてひとつづつ付け直してみると、どうやら133個までらしい。
バックテストできなければ使い物にならないので133以内で設計しなおしだ。15-5-5-3の128だろうか?
ということで、15-5-5-3を作ってみた。バックテストを開始したところ正常にテスト開始できたのでおそらくこれで大丈夫だろう。しばらくはこのレイヤー構成でインプットを変えて試してみよう。