コピペしたプロパティのテンプレートを使ったら、

著作者名に変な記号が表示された——という人向けの記事です。

この記事では、各プロパティの役割の解説に加えて、そのまま使えるテンプレートを紹介します。

#property(プロパティ)とは何か

プロパティとはMQL4プログラムの設定に関する定義で、

通常はソースコードの先頭に記述します。

#propertyはプリプロセッサ指令の1つであり、

コンパイル前にプリプロセッサによって処理されます。

プロパティでEA(エキスパートアドバイザー)や

カスタムインジケーターに関する様々な情報を表示させることが可能です。

プロパティで設定した情報はMT4の設定画面にある

バージョン情報タブから確認することが可能です。

また、作成するプログラムによっては定義が必須となるプロパティもあります。

#propertyの基本構文(プロパティ名 値の書き方)

#propertyプリプロセッサ指令は

#property プロパティ名 値 という使い方をし、

プロパティ名によって表されるプロパティの値として値を設定します。

#property プロパティ名 値

バージョン・説明・リンク・著作者を設定する共通プロパティ(version/description/link/copyright)

共通プロパティの書式の説明をします。

具体的には、バージョンを表すversion、概要を表すdescription、

著作者のサイトを表すlink、著作者名を表すcopyrightの4つがあります。

version

プログラムの現在のバージョンを設定することができます。

versionを設定すると、プログラム名の右側に現在のバージョンが表示されます。

description

プログラムの概要を表示することが可能です。

descriptionを設定すると、プログラム名と著作者名の下に概要が表示されます。

descriptionは複数設定することが可能です。

複数設定した場合には改行されてすべて表示されます。

link

著作者のサイトのURLを設定することができます。

linkを設定すると、バージョン情報に表示される著作者名をクリックすると、

linkで設定したURLが開きます。

copyrightを設定せずにlinkを設定した場合には、

著作者名の代わりにURLが表示されます。

copyright

プログラムの著作者を紹介できます。

copyrightを設定すると、プログラム名の下に著作者が表示されます。

「#property copyright」の後にダブルクォーテーションで囲った文字列が、

著作者として表示されます。

カスタムインジケーターで使うプロパティ(indicator_buffers/indicator_chart_window/indicator_separate_window/indicator_colorN)

カスタムインジケータを作成する際にもプロパティ設定が必要です。

プリプロセッサ命令とも言います。

カスタムインジケーターで必要なプロパティの書式について説明します。

具体的には、バッファ数を表すindicator_buffers、

表示場所を表すindicator_chart_window・

indicator_separate_window、

色を表すindicator_colorNの4つを確認します。

indicator_buffers

カスタムインジケータのバッファ数を設定します。

インジケータ計算のバッファ数の範囲は1~512まで格納することが可能です。

indicator_chart_window

カスタムインジケータをチャートウインドウに表示します。

indicator_separate_window

カスタムインジケータをサブウインドウに表示します。

indicator_colorN

インジケータの色を指定することができます。

(N=1〜8。

例: indicator_color1)

インジケーターの描画タイプはSetIndexStyle()で指定する(indicator_typeNという#propertyは存在しない)

indicator_colorN等とあわせてよく誤解されるポイントとして、

描画タイプの指定方法を確認しておきます。

インジケーターの描画タイプ(線・ヒストグラム・矢印など)は、

#propertyではなくOnInit()内のSetIndexStyle()関数

(DRAW_LINE・DRAW_HISTOGRAM・

DRAW_ARROW等を指定)で設定します。

「indicator_typeN」という名前の#property指令は存在しないので、

間違えないようにしましょう。

プロパティのテンプレート(そのままコピペして使える書き方)

これまで説明した各プロパティを組み合わせた、

実際にそのままコピペして使えるテンプレートを紹介します。

#property strict

#property version     "1.23"// ソフトバージョン

// プログラムの説明
#property description "プログラム説明1"
#property description "プログラム説明22"
#property description "プログラム説明333"

#property link        "https://creator.fx-ea-system-project.com/" //webサイトリンク
#property copyright   "FX-EA System Project Creator"// 著作者

【MQL言語入門】様々な情報を表示することが可能な『プロパティ(#property)』について徹底解説してみた:まとめ

今回はプロパティについて説明していきました。

関連記事