プラットフォームの開始
インストール後、プラットフォームのプログラム群が「スタート」メニューに追加され、プログラムのショートカットがデスクトップに作成されます。プラットフォームを実行するためにはそれらを使用してください。
同じディレクトリから複数のプラットフォームを実行することはできません。同時に複数のプラットフォームを使用する必要がある場合は、プラットフォームをそれぞれ異なるディレクトリにインストールしてください。
プラットフォームには主に2つの起動モードがありますが、その他の方法もあります。
メインモード #
MS Windows Vista以上では、「Program Files」にインストールされたアプリケーションは、デフォルトのインストールフォルダにデータを格納することはできません。全てのデータは、別々のWindowsユーザーディレクトリに格納する必要があります。
したがって、プラットフォームが Program Files ディレクトリにインストールされ、ディレクトリへのユーザの書き込み権限が制限されている場合、メインモードが使われます。メインモードは、以下の状況でも使用されます。
- UAC(ユーザーアクティビティコントロール)システムが有効である場合
- コンピュータへのリモート接続(RDP、リモートデスクトッププロトコル)が使用されている場合
このモードでは、プラットフォームの編集可能なファイルは、特定の Windows ユーザーディレクトリに保存され、不変のファイルは、 Program Files に格納されています。不変ファイルはプラットフォームの実行可能ファイル、MetaEditor、標準的な音声ファイルなどを含みます。編集可能なファイルは下記を含みます。
- プラットフォームの設定と構成ファイルの全て
- データベース(価格履歴)の全て
- プラットフォームとエキスパートの操作ログ
- プロファイルの全て
プラットフォームの全ての編集可能なファイルは、(使用するオペレーティングシステムに応じて)次のディレクトリに格納されています。
Microsoft Windows XP SP3:
- C:\Documents and Settings\username\Application Data\MetaQuotes\Terminal\instance_id\
Microsoft Windows Vista以上:
- C:\ユーザー\ユーザ名\AppData\Roaming\MetaQuotes\Terminal\instance_id\
ここで、「C」は Windows がインストールされている論理ディスクの文字、「ユーザ名」はプラットフォームがインストールされているオペレーティングシステム内のアカウントで、「instance_id」は、プラットフォームがインストールされているディレクトリへのパスに基づいて生成された一意の識別子です。
これらのフォルダにすばやくアクセスするには、
ファイルメニューの「データフォルダーを開く」を使用します。各データフォルダには、特別なテキストファイル origin.txt が含まれています。このファイルには、このデータディレクトリを使うプラットフォームのインストールフォルダのパスが含まれています。
- メインモードでは、編集可能なファイルが保存されているカタログは、各 Windows アカウントごとに異なります。
- プラットフォームのファイル構造の詳細とその目的はこちらのセクションで説明されています。
ポータブルモード
Program Files にインストールされた場合、プラットフォームは上記で説明されたメインモードで機能します。全てのデータは、特別な Windows ユーザーディレクトリに格納されます。しかし、インストールフォルダへのデータ格納を強制することもできます。そのためには、プラットフォームをポータブルモードで実行します。ポータブルモードでの実行には、コマンドラインからプラットフォームを/portableオプションを使って起動します。例は "С:\Program Files\MyTerminal\terminal.exe /portable" です。
ポータブルモードでの実行には、次の条件が満たされている必要があります。
- プラットフォームが、Program Filesフォルダにインストールされている場合、ユーザは、コンピュータの管理者権限を持っている必要があります。UAC(ユーザーアカウント制御)は、オペレーティングシステムで無効にされている必要があります。
- プラットフォームが他のフォルダにインストールされている場合、ユーザーはそのフォルダにデータを書き込む権限を持っている必要があります。
コマンドラインからの実行 #
プラットフォームは事前に定義されたパラメータを使って手動で実行することができます。これは、コマンドラインでの異なるオプション、及び異なる設定ファイルの使用によってなされます。
プラットフォームは、コマンドラインからオプションで実行することができます。そこにプラットフォーム実行ファイルへのパス( file\terminal.exe へのパス)を指定し、スペースの後に以下のキーの1つ以上追加します。
- /login: ログイン番号 — プラットフォームをアカウントで実行します。例は terminal.exe / login:100000です。
- /config: 設定ファイルへのパス — プラットフォームを指定された設定ファイルを使って実行します。例は terminal.exe /config:c:\myconfiguration.iniです。デフォルトの設定ファイルは common.iniです。
- /profile: プロファイル名 — プラットフォームを特定のプロファイルで実行します。プロファイルはプラットフォーム/profiles/charts/に位置しなければなりません。例は terminal.exe /profile:Euroです。
- /portable — プラットフォームをポータブルモードで実行します。このモードはプラットフォームがすでにメインモードで起動された場合に必要かもしれません。プラットフォームをポータブルモードで実行するには、オペレーティングシステムユーザーには適切な権限が必要です。
キー割り当てが誤って設定された場合(無効なログイン、プロファイル名または構成ファイル)は、デフォルト値が使用されます。
カスタム設定ファイルを使用しての実行 #
プラットフォームは、パラメータのカスタムセットを使用して実行することができます。デフォルトのcommon.iniに基づいて独自の構成ファイルが作成されます。プラットフォームを特定の構成ファイルで実行するにはコマンドラインで以下のコマンドを使います。
path_to_platform\terminal64.exe /config:c:\myconfiguration.ini
ここで c:\myconfiguration.iniは構成ファイルへのパスです。
カスタム構成ファイルは、プラットフォームの作業中には「読み取り専用」モードで使用されます。プラットフォームインターフェイスから行われた設定の変更は、使用されているカスタム構成ファイルには書き込まれません。
構成ファイルパラメータは、いくつかのブロックに分割し、プラットフォーム構成ウィンドウタブの設定に対応しています。以下は構成ファイルの中で最も重要な設定です。
[Common]
共通プラットフォーム設定はサーバタブに似ています。
- Login — 口座番号。プラットフォームは、構成ファイルからの追加的な承認情報(サーバと後述のパラメータで指定されたパスワードと証明書パスワード)の読み取りを試みます。口座の認証情報が指定されていない場合、プラットフォームは、独自の口座データベースから情報を読み取ろうとします。
- Server — コロンで区切られた取引サーバのアドレスとポート番号
- Password — ログインパラメータで指定された口座に接続するためのパスワード
- CertPassword — 証明書パスワード。このパラメータは口座の拡張認証モードが有効な場合に必要です。使用される証明書がオペレーティングシステムのストーレッジにインストールされていない場合、そのファイルは platform_folder/config/certificates/に配置されるべきです。
- ProxyEnable — プロキシサーバを介した接続を許可する(1)/ しない(0)
- ProxyType — プロキシサーバの種類: 0(SOCKS4)、1(SOCKS5)、2(HTTP)
- ProxyAddress — コロンで区切られた取引サーバのIPアドレスとポート番号
- ProxyLogin — プロキシサーバ上で認証するためのログイン
- ProxyPassword — プロキシサーバ上で認証するためのパスワード
- KeepPrivate — 接続間でパスワードを保存する(1)/ しない(0)
- NewsEnable — ニュースレターを有効にする(1)/ しない(0)
- CertInstall — 新しい証明書をシステムストーレッジにインストールする(1)/ しない(0)(拡張認証で使用)
- MQL5Login — 指定されたMQL5.communityでのアカウント
- MQL5Password — MQL5.communityでのパスワード
[Charts]
チャートの設定
- ProfileLast — 現在のプロファイルの名称
- MaxBars — チャート上のバーの最大数
- PrintColor — チャートの印刷モード(1 — カラー 0 — 白黒)
- SaveDeleted — 解除されたチャートを後でまた開けるために保存する(1)/ しない(0)
[Experts]
エキスパートアドバイザーの設定
- AllowLiveTrading — エキスパートアドバイザーでの自動売買を有効にする(1)/ しない(0)
- AllowDllImport — DLLインポートを許可する(1)/ しない(0)
- Enabled — エキスパートアドバイザーの使用を有効にする(1)/ しない(0)
- Account — 他のアカウントを使って接続する際にエキスパートアドバイザーの使用を有効にする(1)/ しない(0)
- Profile — アクティブプロファイルが変えられた際にエキスパートアドバイザーの使用を有効にする(1)/ しない(0)
[Objects]
オブジェクトの設定
- ShowPropertiesOnCreate — 作成されているオブジェクトのプロパティを表示する(1)/ しない(0)
- SelectOneClick — シングルマウスクリックでオブジェクトを選択する(1)/ しない(0)
- MagnetSens — オブジェクトのドッキング感度
[Email]
電子メールの設定
- Enable — 電子メールの使用を有効にする(1)/ しない(0)
- Server —SMTPサーバアドレス
- Auth — メールサーバ上の認証のための暗号化された情報
- Login —SMTPサーバログイン
- Password —SMTPサーバパスワード
- From — 差出人の名前とアドレス
- To — 受取人の名前とアドレス
[StartUp]
プラットフォームの起動時に自動に開くエキスパートアドバイザーとスクリプトの設定
- Expert — プラットフォームの起動時に自動に開くエキスパートアドバイザーのファイル名。エキスパートアドバイザーは、銘柄と期間パラメータに従って開き、チャート上で実行されます。Symbolパラメータが設定されていない場合は、追加的なチャートは開かれません。その場合、エキスパートアドバイザーは現在のプロファイルの1番目のチャートで実行されます。現在のプロファイルにチャートがない場合には、エキスパートアドバイザーは開始されません。エキスパートパラメータが設定されていない場合には、エキスパートアドバイザーは開始されません。
- 銘柄 — プラットフォームの起動時に開くチャートの銘柄エキスパートアドバイザーまたはスクリプトがこのチャートに追加されます。プラットフォームの終了時には、この追加的なチャートに関する情報は保存されません。次回の構成ファイルなしでの起動時には、このチャートを開くことができません。このパラメータが設定されていない場合は、追加的なチャートは開かれません
- Period — エキスパートアドバイザーまたはスクリプトが追加されるチャートの時間軸(利用可能な21期間のいずれか)。このパラメータが設定されていない場合、デフォルトのH1が使用されます。
- Template — チャートに適応される定型チャートの名称
- ExpertParameters — エキスパートアドバイザーパラメータを含むファイルの名称このファイルは プラットフォームデータディレクトリのMQL5\presets フォルダに位置しなければなりません。このパラメータが設定されていない場合、デフォルトの設定が使用されます。
- Script — プラットフォームの起動時に自動に開くスクリプトの名称スクリプトは、エキスパートアドバイザーと同じルールによって実行されます。
- ScriptParameters — パラメータを含むファイルの名称このファイルは プラットフォームデータディレクトリのMQL5\presets フォルダに位置しなければなりません。このパラメータが設定されていない場合、デフォルトの設定が使用されます。
- ShutdownTerminal — スクリプト操作の完了時に取引プラットフォームのシャットダウンを有効または無効にします(0 — 無効、1 — 有効)。このパラメータが設定されていない場合、値「0」が使用されます(シャットダウンは無効)。このパラメータはスクリプトにのみ使用され、他のプログラムタイプはサポートされません。
[Tester]
プラットフォームの起動時に自動に実行されるテストのパラメータ
- Expert — テスト(最適化)モードで自動に実行されるエキスパートアドバイザーのファイル名このパラメータが存在しない場合、テストは実行されません。
- ExpertParameters — エキスパートアドバイザーパラメータを含むファイルの名称このファイルは、プラットフォームのインストールディレクトリの \MQL5\Profiles\Tester フォルダに配置される必要があります。
- 銘柄 — メインテスト銘柄として使われる銘柄の名称このパラメータが追加されていない場合には、テスタで最後に選択された銘柄が使用されます。
- Period — テストチャートの時間軸(利用可能な21期間のいずれか)このパラメータが設定されていない場合、デフォルトのH1が使用されます。
- Login — このパラメータは、エキスパートアドバイザーにテストに使われたアカウントの値を通信します。このパラメータの必要性はエキスパートアドバイザーのMQL5コードで設定されます(AccountInfoInteger 関数内)
- Model — ティック生成モード(0 — 全ティック、1 —1分足OHLC、2 — 始値のみ、3 — 数値計算、4 — リアルティックに基づいたすべてのティック)。パラメータの指定がない場合、「全ティック」が使われます。
- ExecutionMode — ストラテジーテスターでエミュレートされる取引モード(0 — 通常モード、-1 — 取引注文の実行中にランダムな遅延を伴うモード、>0 — ミリ秒単位での取り引きの実行遅延、600,000を超えることはできません)。
- Optimization — enable/disable 最適化の有効化/無効化、最適化の種類(0 — 無効、1 — 低速かつより完全なアルゴリズム、2 — 高速遺伝的アルゴリズム、3 — 気配値表示の全ての銘柄を選択)
- OptimizationCriterion — 最適化基準。0 — 最大バランス値、1 — バランスと利益の積の最大値、2 — バランスと期待利益の積の最大値、3 — (100% - ドローダウン)*バランスの最大値、4 — バランスと回復率の積、5 — バランスとシャープレシオの積、6 — エキスパートアドバイザーの OnTester() 関数から受け取られた独自の最適化、7 — Complex Criterion max.
- FromDate — YYYY.MM.DD 形式でのテスト範囲の開始日。このパラメータが設定されていない場合は、ストラテジーテスターの対応するフィールドの日付が使用されます。
- ToDate — YYYY.MM.DD 形式でのテスト範囲の終了日。このパラメータが設定されていない場合は、ストラテジーテスターの対応するフィールドの日付が使用されます。
- ForwardMode — フォワードテストモード( — オフ、1 — テスト期間の1/2、2 — テスト期間の1/3、3 — テスト期間の1/4、4 — ForwardDate パラメータで指定された独自のインターバル
- ForwardDate — YYYY.MM.DD 形式でのフォワードテストの開始日。このパラメータは ForwardMode=4の時のみに有効です。
- Report — テストや最適化の結果を保存するレポートファイルの名称。このファイルは、プラットフォームディレクトリに作成されます。例えば \reports\tester.htmのようにこのディレクトリへの相対ファイルを指定することもできます。レポートが保存されるサブディレクトリは存在するべきです。レポートファイル名に拡張子が指定されていない場合、テストレポートには「.htm」、最適化レポートには「.xml」の拡張子が自動的に使用されます。このパラメータが設定されていない場合、テストレポートがファイルとして保存されません。フォワードテストが有効になっている場合、その結果は、「.forward」サフィックスを持つ別のファイルに保存されます。例は「tester.forward.htm」です。
- ReplaceReport — レポートファイルの上書きを有効にする(1)/ しない(0)。上書きが禁止され、同じ名前のファイルが既に存在する場合は、角括弧内の数字は、ファイル名に追加されます。例は「tester[1].htm」です。パラメータが設定されていない場合、デフォルトの 0 (上書きが許可されていない)が使用されます。
- ShutdownTerminal — テスト終了時のプラットフォームシャットダウンを有効にする(1)/ しない(0)。 このパラメータが設定されていない場合、デフォルトの0(シャットダウンされない)が使用されます。テスト/最適化プロセスは、ユーザによって手動で停止された場合、このパラメータの値は、自動的に0にリセットされます。
- Deposit — テストの最適化のための頭金。金額は口座の預金通貨で指定されます。パラメータが設定されていない場合、ストラテジーテスターの対応するフィールドの値が使用されます。
- Currency — テスト/最適化目的のための預金通貨。EUR、USD、CHF などの3文字で表されます。適切なテストを確実に行うためには、利益と証拠金を特定の預金通貨に変換するためのクロスレートがアカウントで利用可能でなければならないことに注意してください。パラメータが設定されていない場合、ストラテジーテスターの対応するフィールドの値が使用されます。
- Leverage — テスト/最適化のレバレッジ例は1:100です。パラメータが設定されていない場合、ストラテジーテスターの対応するフィールドのレバレッジが使用されます。
- UseLocal — テスト/最適化にローカルエージェントを使用する(1)/ しない(0)。パラメータが指定されていない場合は、現在のプラットフォームの設定が使用されます。テスト/最適化には
- UseRemote — テスト/最適化に遠隔エージェントを使用する(1)/ しない(0)。パラメータが指定されていない場合は、現在のプラットフォームの設定が使用されます。テスト/最適化には
- UseCloud — MQL5クラウドネットワークエージェントを使用する(1)/ しない(0)。パラメータが指定されていない場合は、現在のプラットフォームの設定が使用されます。テスト/最適化には
- Visual — ビジュアルテストモードを有効にする(1)/ しない(0)。パラメータが指定されていない場合は、現在のプラットフォームの設定が使用されます。
- Port — テストローカルエージェントが動作するポート。ポートは、様々なエージェントでの並行テストの実行を指定する必要があります。例えば、異なるパラメータを持つ同一のエキスパートアドバイザの並行テストの実行があります。単一のテスト時には、ポートは省略できます。
- ExpertParametersで指定されたファイルの入力パラメータはテスト/最適化に使用されます。
- ExpertParametersの設定が利用可能でない場合は、[platform_folder]\MQL5\Profiles\Testerに位置するExpert_name.set ファイルのパラメータが使われます。エキスパートアドバイザーの入力パラメータの最後に指定されたセットは、自動的にこのファイルに保存されます。
- そのようなファイルが存在しない場合には、エキスパートアドバイザーコードで指定されたデフォルトのパラメータがテストに使用されます。最適化は不可能です。
- パラメータセットを作成または編集するには、ストラテジーテスターの設定タブでエキスパートアドバイザーを選択して対応するタブで入力パラメータと辺国可能な範囲を指定します。
構成ファイルの例
[Common]
Login=1000575
ProxyEnable=0
ProxyType=0
ProxyAddress=192.168.0.1:3128
ProxyLogin=10
ProxyPassword=10
KeepPrivate=1
NewsEnable=1
CertInstall=1
[Charts]
ProfileLast=Euro
MaxBars=50000
PrintColor=0
SaveDeleted=1
[Experts]
AllowLiveTrading=0
AllowDllImport=0
Enabled=1
Account=0
Profile=0
[Objects]
ShowPropertiesOnCreate=0
SelectOneClick=0
MagnetSens=10
;+------------------------------------------------------------------------------+
;| プラットフォームの開始時に指定されたチャート上のEA及び/またはスクリプトを実行する |
;+------------------------------------------------------------------------------+
[StartUp]
;--- エキスパートアドバイザーは platform_data_directory\MQL5\Experts\Examples\MACD\ に位置する
Expert=Examples\MACD\MACD Sample
;--- EA 起動パラメータは platform_data_directory\MQL5\Presets\ に位置する
ExpertParameters=MACD Sample.set
;--- スクリプトは platform_data_directory\MQL5\Scripts\Examples\ObjectSphere\ に位置する
Script=Examples\ObjectSphere\SphereSample
;---プラットフォームの起動時に開かれる銘柄チャート。EA及び/またはスクリプトはその上で実行される。
Symbol=EURUSD
;---プラットフォームの起動時に開かれるチャート時間軸。EA及び/またはスクリプトがその上で実行される。
Period=M1
;--- チャートに適応する定型チャートは platform_installation_directory\Profiles\Templates に位置する
Template=macd.tpl
;--- スクリプト操作の完了時にプラットフォームの自動シャットダウンを設定する
ShutdownTerminal=1
;+------------------------------------------------------------------------------+
;| エキスパートアドバイザーのテスト/最適化を開始する |
;+------------------------------------------------------------------------------+
[Tester]
;--- エキスパートアドバイザーは platform_data_directory\MQL5\Experts\Examples\MACD\ に位置する
Expert=Examples\MACD\MACD Sample
;--- エキスパートアドバイザーパラメータは platform_installatoin_directory\MQL5\Profiles\Tester\ に位置する
ExpertParameters=macd sample.set
;--- テスト/最適化に使われる銘柄
Symbol=EURUSD
;--- テスト/最適化に使われる時間軸
Period=M1
;--- エミュレートされる口座番号
Login=123456
;--- 頭金
Deposit=10000
;--- テストに使われるレバレッジ
レバレッジ=1:100
;--- The "All Ticks" mode
Model=0
;--- ランダムな遅延での取引注文の実行
ExecutionMode=1
;--- 遺伝的最適化
Optimization=2
;--- 最適化基準 - 最大バランス値
OptimizationCriterion=0
;--- テスト範囲の開始日と終了日
FromDate=2011.01.01
ToDate=2011.04.01
;--- フォワードテストのカスタムモード
ForwardMode=4
;--- フォワードテストの開始日
ForwardDate=2011.03.01
;--- レポートファイルは platform_installation_directory に保存される
Report=test_macd
;--- 指定されたレポートがすでに存在する場合は上書きされる
ReplaceReport=1
;--- テスト/最適化の完了時のプラットフォームの自動シャットダウンを設定
ShutdownTerminal=1