MT5版のEAがようやく完成し、2018/11/1から本番運用開始しました。

最初はMT4と同じようにrawAPIで作成しようと考えていたのですが、標準ライブラリを調べていくうちに「こっち使ってみるか」と思い標準ライブラリで作成しました。
(標準ライブラリを使うと、若干JForexに似た感じの構成で作ることができます)

標準ライブラリで作成する際に困った点がいくつか・・・

  1. オブジェクト指向で作成されており、ライブラリの中身をよく解析する必要がある
  2. ドキュメントがMQL5.comにしかない
    ブログ等の野良ドキュメントはほとんどありませんでした(日本語)。ただしMQL5ドキュメントは殆ど日本語対応してるので、そうそう困ることはありませんでした。
  3. 最適化時にOnTesterで独自結果を集計するのに苦労した
    MT5はバックテストを複数ノード(時には海の向こう)で実行するので、MT4と考え方が全く異なっておりすごく苦労しました。
  4. 標準ライブラリの思想と異なることを実装しようとしたら、かなり大変
  5. 例1:異なる時間足で独立したロジック
  6. 例2:複数通貨の同時運用
  7. 例3:オンライン中でのパラメータ更新

例1は諦めて全ロジック並列・同格で動かすことにしました。
例2は無理やり実装しても重くなってtickを取りこぼすと本末転倒なので、素直に別window(スレッド)で動かすことにしました。
例3はdummytopには必須機能でrawAPIならパラメータをそのまま変更するだけなのですが、オブジェクト生成して使いまわしているので、それの解析にすごく時間がかかりました・・・。”元ソースは修正せずにクラス継承だけで実現する”思想だと無理だったので、少しソースをいじって実現しました。

最終的には現時点で満足できるデキになったので、これからは新取引ロジックの実装、資金管理ロジックの改善等、取引の中身に関する改善を行っていく予定です。

PS
(ほぼ)同じロジックで少し前に稼働させてたMT4版がかなりの成果を出しています。
MT5版が楽しみです( ̄ー ̄)ニヤリ

目標勝率60%なのですが、結構大変ですねw


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です