Build 600以降からデータフォルダが分離

アイキャッチ

今更な話ですが衝撃的な事実でした

過去に作ったMTFのインジケーターをチャートに挿入するとMT4が必ず強制終了するようになってしまい、原因がよく分からなかったので、仕方なくMT4を再インストールしました。最近の話です。

従来はインストーラーを実行すると、インストール先を自由に選べるようになっていましたが、最近のインストーラーはProgram Files (x86)に強制的にインストールしちゃうんですね。

ずっとファイルコピーでMT4を複製してきたので気づきませんでした。

「まぁいいや」と思って、いつも通りプログラムを書いていました。それで、コンパイルしてバックテストしたところ、プログラミングした内容が反映されていないじゃないですか!

「えぇ?!何で?」と軽くパニックになりました。Expertsフォルダのmq4ファイルはきちんと更新されています。私は秀丸で開発している人間ですが、MT4付属のmetaeditor(メタエディター)でソースファイルを確認してみると、プログラミングした内容が消えているじゃないですか。

メタエディターで同じ内容をプログラミングし直して再コンパイルしてみると、結果がちゃんと反映されている…。ん~謎です。

色々と試行錯誤した結果、Expertsフォルダ内のex4が更新されていないことに気づきました。それで、ピンときました。「別のフォルダに真のソースファイルが存在するのでは?」と。

メタエディターから真のソースファイルの存在するフォルダを開いてみたところ、C:\Users\コンピュータ名\AppData\Roaming\MetaQuotes\Terminal\長い文字列\に辿り着きました。

これでようやく謎が解けました。MT4本体のファイルが置かれているアプリケーションフォルダとソースファイルが置かれているデータフォルダが分かれていたんですね。

いやぁ、知らなかったです。調べてみたところ、公式サイトにきちんと説明がありました。

MT4ビルド600以降のバージョンのデータ構造と保存場所

正直不便だなぁと思います。OSのドライブには高速のSSDを使っているのですが、容量が小さいんですね。だから容量の大きいHDDのドライブにMT4をインストールしてきました。

MT4の複製も面倒そうです。どうするんだろう?今すぐには必要ではないので調べていませんが、いずれ調査が必要です。

Windows 10の記事でもありましたが、強制というのはがっつり使うユーザには優しくありません。元に戻してくれることを祈っています。

余談ですが、秀丸でコンパイルする場合、C:\Users\コンピュータ名\AppData\Roaming\MetaQuotes\Terminal\長い文字列\にmql.exeないしmql64.exeを設置します。それから、秀丸のプログラム実行で”C:\Users\コンピュータ名\AppData\Roaming\MetaQuotes\Terminal\長い文字列\mql64.exe” “%f”を入力して実行すれば、うまく動きます。「メタエディターは使いにくい」って人はご参考になさってください。

ブログランキングに参加中!

ポチっとクリック頂けると励みになります♪
(クリックしてもランキング一覧が表示されるだけですが、それでOKです)

  にほんブログ村 為替ブログ FX システムトレード派へ

コメントを残す



12 + twenty =