魔術師をめざして

魔術師を目指して、相場・数学・プログラム言語を研究しています。

MetaTrader 4 Build 600 and Higher

ぼくはうかつだった。

MetaTrader Build 600(以下、B600)へのアップデートにそれほどの意味はないものだと思っていた。しかし、考えてみれば、フォルダ構成が変わるなんてただ事ではなかったのである。まぁ、ぼくは基本呑気な人間なのだ。で、ぼくの MT4 は現在 Build 604 になっている。

【 MetaTrader 4 - Alpari Japan Version 4.00 Build 604 】
f:id:fxrobot:20140221004758j:plain

MetaQuotes社による今回の B600 はどうやら単なるアップデートではなかったようだ。MQL4 の仕様の一部も変更になったようなのだ。MT5 への移行がまったく進まないことに対応するための戦略ビルドであると考えなければならないようだ。

つまり無理矢理にでも MT5 移行させるぞ! まずはこれを食らえ! ということなのだろう。MetaQuotes社のこの政策にはぼくも反感を感じるが、だからといって、意図的に自動アップデートを不可にし、B600 以前の古いバージョンを 使い続けるという方法もあるにはあるが、結局、B600 以降のバージョンに移行するほかはないのだと思う。抵抗しないで身を任せるしかないというのがこの手の問題におけるぼくの経験則だ。

【 Build 600 は単なるアップデートではなかった 】
f:id:fxrobot:20140221003635j:plain

それでようやくぼくは MetaQuotes社のサイトを調べることにしたのだ。

正直な話、詳細はまだよく分かっていないのだが、B600 ではフォルダの構成が変わっただけではなく、MQL4 に構造体やクラスが導入されたようなのだ(ほんと?)。まだ、仕様書を見たわけじゃないので今のところぼくには断定できないけどね。

Build 509 以前の MQL4 ソースに対する互換性はあるのだろうか? 少なくとも完全な保証はないようだ。やってくれますよね。まぁ、今後 B600 の仕様を詳しく調べて、今手元にある MQL4 のソースコードを変更すればよいだろう。ぼくは今のところその内容をまだ正確に把握していない。ただ、ex4 ファイルはそのままで動く場合が多いようだ。

EA開発ツールについてはどうなのだろう。もちろん B600 対応バージョンが必要になるはずだ。で、ちょっと調べてみた。「EAつくる君」のサイトをみたら、

『 2014/02/08

MT4のアップデート600について

MT4が最近アップデートされて、設定に困っている方からの問い合わせが来ておりますが、EAつくる君サポート範囲外ながらお知らせ致します。
※サポートは、EAつくる君の「操作方法のみ」と記載しており、MT4についての設定運用はサポート外となっております。
(ユーザーマニュアルに記載)

 今回のアップデートでの対処方法について解説されています方のブログがございますのでアドレスを以下にご紹介させて頂きます。

<MT4アップデート600での解説ブログURL>
http://fx-on.com/asp/user/?i=28799&l=230467

とこんな感じ。ちょっと親切とはいえないような..。

「MT4EAエディタ」はといえば、ソースコードを吐き出すだけという方式ではなく密着型なのでどうなっているのか注目したが、「オンラインヘルプの設定方法の Build 600対応」というあまり重要ではなさそうなアップデートに収まったようだ。

この2つはどちらも、ぼくはユーザーなのだけど、実際は使っていないので、まぁ、興味薄。ユーザーではないけど、上の2つよりも興味深い Molanis Strategy Builder はといえば「New Strategy Builder 3.2 beta with support to MT4 Build 600」とあり、3.2 バージョンで正式に対応するようだ。現在は 3.2 のβバージョンを提供している。

Molanis のサイトをみて分かったのだけど、コンパイラのファイル名が変わったんだね。Build 509 以前は、metalang.exe だったけど、B600 で mql.exe に変更された。そうだったんだ(笑)。

さて、ぼくにとって最も重要な EAG はどうなんだ? もちろん調べた。Forex Generator version 5.1 が B600対応バージョンであり、無事無償でアップデートさせてもらえた。まずはとりあえず、それでよしとしよう。

結局、フォルダ構成が変わった、コンパイラファイル名が変わった、構造体やクラス(オブジェクト指向対応)が可能になった(他にも少しあるみたい)という感じで、言語システムの他にも少しだけ MT4ターミナルの仕様が変わった部分があるようだ。

詳しく分かったら、また書くかも知れない。
とりあえず速報ということで。(遅いよっ)