新しいMetaTrader 4ビルド600以降へのアップデート
2014年2月3日に、新しいMetaTrader 4ビルド600が、完全に再設計されたMQL4言語と、アプリケーションマーケットへのアクセスと共にリリースされました。
MetaTrader 4ターミナルの新しいバージョンでは、MQL4取引戦略プログラミング言語が改訂されただけでなく、ユーザーデータの保存場所も変更されました。以前は、全てのプログラムやテンプレート、プロフィールなどがターミナルのインストールディレクトリに直接保存されていましたが、これからは特定のユーザーターミナルの動作に必要不可欠なデータは、データフォルダと呼ばれる別個の特別なフォルダに保存されます。この事に関連して、以前はWindowsのオペレーションシステムの最新バージョンに直面したことのなかった多くのトレーダーの中に疑問が沸いてきたようです。この記事では私たちはそれに対する答えを提示します。
- 新しいバージョンへのMetaTrader 4のアップデート
- アップデート時に何がどこにコピーされるか
- データフォルダとは
- インストールフォルダとは
- MetaTraderターミナルの主要起動モード
- Portableモード
- 旧EX4の起動法
新しいバージョンへのMetaTrader 4のアップデート
MetaTrader 4の「build509」から「build610」へのアップデートを例として見てみましょう。例えば、MetaTrader 4のbuild509が[Program files]システムフォルダにインストールされたと仮定しましょう。

ターミナルを起動して、 例えばdemo.metaquotes.netなど新バージョンが利用可能な任意の取引サーバーに接続します。MetaTrader 4を起動させたとき、自動的にアップデートが始まり、右下隅の変化する数字がそれを教えてくれます。

ダウンロードが完了すると、ターミナルウィンドウの『操作履歴』タブに「LiveUpdate: finished」と表示されます。

新しいバージョンへの移行を完了するには、必ずターミナルを手動で再起動させる必要があります。ターミナルを閉じ、もう一度起動させます。
ターミナルの新バージョンと旧バージョンの違いは簡単に区別することができます。MetaEditor呼び出しアイコンが変わり、取引ロボットやインディケータを有する『マーケット』タブが新しく出現しました。

もし、カスタムMQL4プログラムをお持ちの場合、アップデートが完了すると、ターミナルの新バージョンにこのようなダイアログボックスが表示されます。このダイアログボックスは、ターミナルのファイル構造の変化について情報を提示します。アップデートの全ての詳細はターミナルの[操作履歴]タブで見ることができます。

アップデート時に何がどこにコピーされるか
アップロードの過程でプログラムのインストールフォルダからデータフォルダへ、\config、\experts、\history、\logs、\profiles、\templates、\testerフォルダが転送されます。

\expertsフォルダからのカスタムプログラムのコピーは、次のように行われます。
| インストールフォルダ内のソースフォルダ |
内容 | ターミナルのデータフォルダ内のコピー先のフォルダ |
|---|---|---|
| \experts | エキスパートアドバイザ(取引ロボット) 注意:ルートディレクトリ\expertsからはファイルのみが転送されます。確実に内容を判別することができない為、いかなるサブディレクトリも転送されません。 | <data_folder>\MQL4\Experts |
| \experts\indicators | カスタムインディケータ | <data_folder>\MQL4\Indicators |
| \experts\scripts | スクリプト(チャート上での一回限りの実行の為のMQL4のプログラム) | <data_folder>\MQL4\Scripts |
| \experts\include | 他のプログラムに含まれている、拡張されたMQHとMQ4を持つソースコードファイル。 | <data_folder>\MQL4\Include |
| \experts\libraries | MQ4ソースコード形式のライブラリと同ライブラリからコンパイルしたEX4実行ファイル。 | <data_folder>\MQL4\Libraries |
| \experts\files | 特別な「ファイルのサンドボックス」。このフォルダの範囲内でのみ、MQL4プログラムはファイル操作実行を許可されます。 | <data_folder>\MQL4\Files |
| \experts\logs | MQL4プログラムの動作ログファイル | <data_folder>\MQL4\Logs |
| \experts\presets | MQL4プログラムの設定ファイル | <data_folder>\MQL4\Presets |
| \experts\images | 画像ファイル | <data_folder>\MQL4\Images |
アップグレードの際に、ターミナルの旧バージョンの標準配信からプログラムはコピーされません。その代わりに、標準配信から新しいプログラムがデータフォルダにインストールされます。
移行過程については、MetaTrader 4ターミナルの[操作履歴]タブに詳細に報告されます。

全てのこれらのメッセージは、操作履歴の*.logファイルでも見ることができます。

同様に「MetaTrader 4ビルド600以降のデータ構造」の記事をご一読頂くことをお勧めします。
データフォルダとは
データフォルダとは、build 600以降のMetaTrader 4ターミナルの動作過程で変化するユーザデータファイルの保存の為の特別なフォルダのことです。例えば、チャートテンプレート、プロフィール、プログラムの入力パラメータのセットファイル、ソースコードとコンパイルされたEX4です。
ターミナルからデータフォルダへ移動するためには、[ファイル]メニューから、この[データフォルダを開く]コマンドを選択します。

各データフォルダのルートにorigin.txtというファイルが含まれています。そこにターミナルのインストールフォルダまでの明確な道が記録されます。

インストールフォルダとは
ターミナルのインストールフォルダとは、ターミナルのインストール時にあなたが指定した、もしくはインストールされたターミナルのフルコピーを行った、あなたのコンピュータ内の場所のことです。インストールフォルダには、変更のできないファイル、例えばterminal.exeやmetaeditor.exe実行ファイルが保存されます。
ターミナルのインストールフォルダの場所は、デスクトップ上のプログラムのショートカットプロパティに入り、コンテキストメニューを介して見ることができます。

このメニューで『ファイルの場所』という項目をクリックすると、インストールファイル自体が開きます。

MetaTraderターミナルの主要起動モード
多くの場合、Windows Vista以降のコンピュータでは、ビルド509から600以上へのアップデート後、ターミナルのデータフォルダは、インストールフォルダとは別に置かれます。次の条件の内の少なくとも1つが実行された時に、データフォルダは特別なユーザフォルダに別個に配置されます。
- Windowsオペレーションシステム(Windows Vista以降)では、アカウントコントロールモード(User Account ControlまたはUAC)が有効になっています。
- ターミナルを起動させるユーザーは、インストールフォルダにターミナルのデータを書き込む権限を持っていません。
- ターミナルを起動させるユーザーは、ネットワーク接続(RDP)を介して作業を行います。
こちらでは、
- С: - システムディスク名
- ユーザーアカウント名:Windowsでのユーザーアカウント
- Instance_id:MetaTrader 4ターミナルの特定のコピーの動作の為の、このユーザーのデータが保存されているフォルダの唯一無二の名称。この名称は16の文字から構成されます。ターミナルのインストールフォルダへの道は明示的な形でフォルダ名として使用されていることはありえないので、ターミナルのインストールフォルダへの道に基づき名前が生成されます。1つのコンピュータに多数のターミナルのコピーがインストールされることがあるので、十分に長い名称が条件となります。
ターミナル起動時にこれらの条件が実行されない場合、データフォルダはインストールフォルダに配置されます。
Portableモード
Portableモードは"/portable"キーを使用して実行され、リムーバブルメディア、非システムディレクトリでのターミナルの起動、またWindows XPでの動作の為に設計されています。使いやすくする為に、ターミナル起動の別個のショートカットを作成し、そのプロパティに"/portable"を登録することができます。

Portableモードで起動すると、ターミナルは自身のデータをインストールフォルダ内に保存をしようと試みます。同時に、Portableモードで起動すると、オペレーションシステムがデータの保存をインストールフォルダに許可するという保証はありません。(例えば、Program Filesフォルダにターミナルがインストールされていて、UACシステムが有効になっている場合)
Portableモードでの動作性の為に、次の要件を満たす必要があります。
| インストールフォルダ |
オペレーションシステム |
必要要件 |
|---|---|---|
| Program Files、または他のシステムフォルダ(例えばWindowsなど) | Windows XP | インストールフォルダへの書込み権限がある |
| 他の非システムディレクトリ | Windows XP | インストールフォルダへの書込み権限がある |
| USBフラッシュメモリー、外付けHDDなど。 | Windows XP | ターミナルは常にPortableモードで起動します。 |
| Program Files、または他のシステムフォルダ(例えばWindowsなど) | Windows Vista\Windows 7 | 管理者や無効になっているUACシステムからのターミナルの起動 |
| 他の非システムディレクトリ | Windows Vista\Windows 7 | インストールフォルダへの書込み権限がある |
| USBフラッシュメモリー、外付けHDDなど。 | Windows Vista\Windows 7 | ターミナルは常にPortableモードで起動します。 |
| Program Files、または他のシステムフォルダ(例えばWindowsなど) | Windows 8以降 | UACシステムが無効にならない為、Portableモードでの起動はできません。 |
| 他の非システムディレクトリ | Windows 8以降 | インストールフォルダへの書込み権限がある |
| USBフラッシュメモリー、外付けHDDなど。 | Windows 8以降 | ターミナルは常にPortableモードで起動します。 |
旧EX4の起動法
ターミナルの旧バージョンではルートフォルダ\expertsに、MQ4、MQH、EX4の全てのユーザーファイルが保存されます。MetaTrader 4ターミナルの新バージョンでは、プログラム保存の為のファイル構造のルートは、データフォルダ内の\MQL4になります。自動コピー時は、ユーザープログラムはタイプに応じて転送されます。

アップロード後にインディケータやエキスパートアドバイザが、何かしらの原因によって、ターミナルのナビゲータウィンドウに表示されない場合、これはそのプログラムが標準外の場所にあるということになります。このようなプログラムは自分で、\MQL4<data_folder>の中の適切なサブフォルダへコピーする必要があります。

プログラムの古いファイルを再度コンパイルする必要はありません。build509以前で作成されたMQL4プログラムは、ターミナルの新バージョンでも正しく動作します。
MetaQuotes Ltdによってロシア語から翻訳されました。
元の記事: https://www.mql5.com/ru/articles/1389
警告: これらの資料についてのすべての権利はMetaQuotes Ltd.が保有しています。これらの資料の全部または一部の複製や再プリントは禁じられています。
MQL4プログラムの代表的なエラーとその対処法
MT4ビルド600以降のバージョンのデータ構造と保存場所
なぜ2014年8月1日までに、MetaTrader 4を最新のビルドにアップデートする必要があるのでしょうか?
チャート分析の良計経済学的アプローチ
- 無料取引アプリ
- 8千を超えるシグナルをコピー
- 金融ニュースで金融マーケットを探索