読者です 読者をやめる 読者になる 読者になる

MT4 EA を cTrader cAlgo に移植しやすいAPIを開発中

f:id:miraaaman:20161225170601p:plain

ほとんど人は MT4 ユーザーでアルゴといえばEAを使ってると思います。おそらくですが MT4 の次にメジャーなプラットフォームといえば cTrader ではないでしょうか。

個人的に cTrader は最近よく使っていて、使えば使うほどその良さや開発のしやすさが分かってきます。正直なところもう MT4 には戻りたくないというくらい。とくに開発においては。いままで MT4 で出来た事が cTrader では出来ないと思っていたのですがそのような事もなく以前よりもストレスなく開発ができます。

ただEA開発者がcAlgo開発に挑戦する上で二の足を踏む理由は「開発言語の違い」です。MQL言語に慣れ親しんだ方は、APIの扱いやお作法がかなり違うため、なかなか移れずにいます。というか、そもそもMT4でいいし移る気なんてないよと思ってる人は多いと思いますが笑。しかしこれはかなり勿体無いなくて、cTrader では MT4 で出来ない事が簡単にできたりするので、慣れていくとその良さに気づくと思います。

とはいえ、いまから cTrader を覚えるのは面倒くさいというのは普通だと思います。ということで、MT4(MQL)開発者が、cTrader(cAlgo)に移行し易い API を開発中です。上の画像はまさにいま作ってる cAlgo の画面です。これやってみて思うのですが、かなり鬼畜です笑。

そして、やってて分かるのですが、MQL ってムダな記述が多いんだなって。まぁ当時は普通だったのかもしれません。また職人クラスであれば深いレベルで要求を投げれるのは良いんですが、そもそも毎回そこまでの要求は必要ないのが現実です。しかも同じような要求を毎回投げる事の無意味さに気が付きます。という意味では、近代の言語仕様である cAlgo は秀逸です。

というわけで、自分の開発方針として、MQLを触ってきた人が簡単に使えるような仕様を目指していますが、MQL で面倒だった記述を簡略化しむしろ cAlgo 仕様にしようと思っています。まぁ圧倒的に cAlgo のほうが短い記述で済むのでAPI仕様は「MQL風 cAlgo」という事になると思います。cTrader でもストラテジーを作ってみたいという人はご期待下さい。

MQL をそのままコピペで cAlgo にしたいという人は「MQL4 to C#」というサービスがありますので、簡単にとりあえずやってみたいという人はそちらを試してみてはいかがでしょうか。これもかなり優秀なサービスで、簡単にcAlgo化できます。ただ完全なコード変換は出来ないようで、たまに出来ないものもあります。ただしコードがかなり複雑なのでどこを直していいか分からないのと、何が原因で変換出来ないのかは教えてくれないので、ある意味大切なコードを吸い取られて終わり(サービス提供者のサーバー上で変換される→つまりコードはあっちに保存される)という悲しい結果を覚悟する必要があります。まぁそれが嫌なら自分で書きなさいという事だと思いますが笑。

あと、こんな感じのAPIなら使いたいとか、こういう仕様ならいいなどがあればコメント残してもらえたら、何か参考になるかもしれません。ぜひコメントよろしくお願いします。