- マクロ代入( #define )
- プログラムのプロパティ (#property)
- ファイルの読み込み (#include)
- 関数のインポート( #import )
- 条件付きコンパイル( #ifdef、#ifndef、#else、#endif )
プログラムのプロパティ (#property)
全ての MQL5 プログラムは、明示的に起動せずにプログラムの中で適切なサービスを提供してクライアント端末を補助する #property という付加的な特定のパラメータを指定することが出来ます。これは、まず第一に、指標の外部設定に関連します。インクルードファイルに記載されているプロパティは完全に無視されます。プロパティは、メイン mq5 ファイルで指定する必要があります。
#property 識別子の値 |
コンパイラは、実行モジュールの設定に宣言された値を書き込みます。
定数 |
Type |
説明 |
---|---|---|
icon |
EX5 プログラムのアイコンとして使用される画像ファイルへのパス。パス指定のルールはリソースの場合と同じです。このプロパティは、MQL5 のソースコードのメインモジュールで指定される必要があります。アイコンファイルは ICO 形式である必要があります。 |
|
link |
会社のウェブサイトへのリンク。 |
|
copyright |
会社名。 |
|
version |
プログラムのバージョン(最大 31 文字) |
|
説明 |
MQL5 プログラムの簡単な説明文。複数の説明が存在でき、各々がテキストの1行を記述します。合計した説明の長さは、改行を含んで 511 文字を超えることは出来ません。 |
|
stacksize |
MQL5 プログラムスタックサイズ。関数の再帰呼び出しを実行する際には充分なサイズのスタックが必要です。 スクリプトまたはチャート上のエキスパートアドバイザーを起動する際には、8 MB 以上のスタックが割り当てられます。指標の場合には、スタックサイズは常に 1 MB に固定されています。 プログラムはがストラテジーテスターで起動される場合には、常に 16 MB のスタックが割り当てられます。 |
|
library |
|
ライブラリ。start 関数は割り当てられません。export 修飾子のついた関数は 他の MQL5 プログラムにインポート出来ます。 |
indicator_applied_price |
「適用価格」フィールドの初期値を指定します。値は ENUM_APPLIED_PRICE から選べます。プロパティが指定されていない場合、初期値は PRICE_CLOSE です。 |
|
indicator_chart_window |
|
チャートウィンドウで指標を表示します。 |
indicator_separate_window |
|
別ウィンドウで指標を表示します。 |
indicator_height |
ピクセル単位での指標サブウィンドウの固定された高さ(INDICATOR_HEIGHT プロパティ)。 |
|
indicator_buffers |
指標計算に使用されるバッファ数。 |
|
indicator_plots |
指標の グラフィックシリーズの数。 |
|
indicator_minimum |
個別の指標ウィンドウのスケーリングの下限。 |
|
indicator_maximum |
個別の指標ウィンドウのスケーリングの上限。 |
|
indicator_labelN |
データウィンドウに表示された N 番目のグラフィックシリーズ のラベルの設定。複数の指標バッファ(DRAW_CANDLES、DRAW_FILLINGなど)を必要とするグラフィックシリーズでは、ラベル名はセパレータ「 ; 」を使用して定義されています。 |
|
indicator_colorN |
線 N の表示色。N はグラフィックシリーズの番号で 1 から始まります。 |
|
indicator_widthN |
グラフィックシリーズの線の太さ。N はグラフィックシリーズの番号で 1 から始まります。 |
|
indicator_styleN |
ENUM_LINE_STYLE を使用して指定されたグラフィックシリーズの線のスタイル。N はグラフィックシリーズの番号で 1 から始まります。 |
|
indicator_typeN |
ENUM_DRAW_TYPE を使用して指定されたグラフィカルプロットの種類。. N はグラフィックシリーズの番号で 1 から始まります。</t4> |
|
indicator_levelN |
個別の指標ウィンドウにおける N の水平レベル。 |
|
indicator_levelcolor |
指標の水平レベルの色。 |
|
indicator_levelwidth |
指標の水平レベルの太さ。 |
|
indicator_levelstyle |
指標の水平レベルのスタイル。 |
|
script_show_confirm |
|
スクリプト実行の前に、確認メッセージウィンドウを表示します。 |
script_show_inputs |
|
スクリプト実行の前にプロパティウィンドウを表示して確認メッセージウィンドウを無効化します。 |
tester_indicator |
「indicator_name.ex5」の形式でのカスタム指標の名称。 対応するパラメータが定数文字列を介して設定されている場合、テストが必要な指標はiCustom() の呼び出しから自動的に定義されています。他の全ての場合(IndicatorCreate() 関数の使用や指標名を設定するパラメータでの非定数文字列の使用)、このプロパティが必要とされています。 |
|
tester_file |
テスタのファイル名。二重引用符内で拡張子の表示も含みます(文字列定数)。指定されたファイルはテスタに渡されます。テストされるべき入力ファイルがある場合、指定が必ず必要です。 |
|
tester_library |
二重引用符内で拡張子を含むライブラリ名。ライブラリは拡張子として「dll」または「ex5」を持つことが出来ます。テストを必要とするライブラリは自動的に定義されます。 しかし、ライブラリのいずれかがカスタム 指標で使用されている場合、このプロパティが必要です。 |
|
tester_set |
入力パラメータの値とステップを含むセットファイルの名前。このファイルは、テスト及び最適化の前にテスタに渡されます。ファイル名は、拡張子を含み二重引用符で定数文字列として指定されます。 EA名とバージョン番号をセットファイル名に"<expert_name>_<number>.set"として指定すると、パラメータバージョンのダウンロードメニューに<number>バージョン番号の下に自動的に追加されます。たとえば、"MACD Sample_4.set"という名前は、これがバージョン番号が4の"MACD Sample.mq5" EAのセットファイルであることを意味します。 フォーマットを調べるには、ストラテジーテスターでテスト/最適化設定を手動で保存し、この方法で作成したセットファイルを開くことをお勧めします。 |
|
tester_no_cache |
ストラテジーテスターは最適化を実行する際にすべての実行されたテストパスを最適化キャッシュに保存します。ここではテスト結果は入力パラメータセットごとに保存されます。これにより、無駄な時間を再計算にかけることなく、再最適化中に同じパラメータに対する既製の結果を使用することができます。 しかし、一部のタスク (例: 数学計算) では、既成の結果が最適化キャッシュにあるかどうかにかかわらず、計算を実行する必要があります。この場合、ファイルにはtester_no_cacheプロパティが含まれるべきです。テスト結果はキャッシュに保存されるため、実行されたテストパスのすべてのデータはストラテジーテスターで確認できます。 |
|
tester_everytick_calculate |
ストラテジーテスターでは、指標はそのデータがアクセスされるとき、すなわち指標バッファの値が要求されたときにのみ計算されます。各ティックで指標値を取得する必要がない場合、これによってテストと最適化の速度が大幅に上がります。
tester_everytick_calculateプロパティを指定することによって、全てのディックでの指標の計算を強要できます。
ストラテジーテスターの指標は、以下の場合にはすべてのティックで強制的に計算されます。
この関数はストラテジーテスターにのみ適用され、端末での指標は常に受信したティックごとに計算されます。 |
|
optimization_chart_mode |
最適化結果の視覚化に使用されるチャートタイプと2つの入力パラメータの名前を指定します。たとえば、「3d, InpX, InpY」は、テストされたInpXおよびInpYパラメータ値に基づいた座標軸を使用して、結果が3Dチャートに表示されることを意味します。したがって、このプロパティを使用すると、最適化チャートとチャートタイプをプログラムコードで直接表示するために使用されるパラメータを指定できます。 可能なオプション:
オプションで、1つまたは2つの入力パラメータを指定せずに、チャートタイプのみを指定できます。この場合、ターミナルは必要なパラメータを選択して最適化チャートを表示します。 |
説明とバージョン番号に関するサンプルタスク
#property version "3.70" // エキスパートアドバイザーの現在のバージョン
|
各指標バッファ用に別々のラベルを指定する例("C open; C high; C low; C close")
#property indicator_chart_window
|