【超入門】MQL5 EA講座 第4回「#プロパティ命令(#property directive)」

MQL5でEA作ろう講座

前回「コメントアウト」

という処理について解説しました。↓

コメントアウトのおさらいをしておくと、

スラッシュを2つ書くと(「//」)コンピュータはそれ以降に書かれた部分を命令として認識しない。スラッシュが2つ書かれた行のみコメントアウトが有効

スラッシュとアスタリスクではさまれた後の部分(/*~~*/)もコンピュータは命令として認識しない。

(/*~~*/に囲まれた部分は複数行にわたってコメントアウトが有効)

という事でした。このコメントアウト

自分がどういう意味を持って、このコードを書いたのか?というメモ書き

の役割を果たす、大変便利な機能ですので、特にプログラミングを始めたばかりの人は積極的に使っていってください。

MQL5で自動売買プログラム作るにあたっては、MT5メタエディター5がお使いのパソコンにインストールされている必要があります。

もし、まだMT5のダウンロードが完了していない方は、

こちらからデモ口座の開設とMT5のダウンロード・インストールを完了して頂ければと思います。

さて、前回の講座で、コメントアウトされている部分を一旦取り払って、以下のような画面をご覧いただいたかと思います。↓

#property copyright "Copyright 2022, MetaQuotes Ltd."
#property link      "https://www.mql5.com"
#property version   "1.00"

int OnInit()
  {

   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {

   
  }

void OnTick()
  {

   
  }

一番上から書かれている3行の、

#property copyright “Copyright 2022, MetaQuotes Ltd.”

#property link “https://www.mql5.com”

property version “1.00”

というのは、第2回「メタエディターの使い方」

の中で触れた、MQL5ウィザード設定画面に基づく表示になっているんです。

MQL5ウィザードをおさらいをしておくと、

これから作るプログラムファイルの種類を決めて、そのファイルに関する初期設定をする

画面のことです。

この画面を覚えていますでしょうか?↓

この画面で設定した表記がそのまま#property~~という箇所に書かれている訳です。

この

この#property から始まる表記のことをプロパティ命令(property directive)と言います。

スポンサーリンク
スポンサーリンク

プロパティ命令とは何か?

プロパティ命令に関する、公式リファレンスの説明をちょっと覗いてみましょう↓

全ての MQL5 プログラムは、明示的に起動せずにプログラムの中で適切なサービスを提供してクライアント端末を補助する #property という付加的な特定のパラメータを指定することが出来ます。これは、まず第一に、指標の外部設定に関連します。インクルードファイルに記載されているプロパティは完全に無視されます。プロパティは、メイン mq5 ファイルで指定する必要があります。

MQL5リファレンス

↑・・・ちょっと文章がわかりづらいですが、

注目してほしいのは、「補助する」「特定のパラメータを指定する」

という部分です。

「プログラムのメインではないけど、補助的な細かい設定を#property の後に色々書くことによってできますよー」

という事を言っていると思ってください。

「色々」と書いている通りプロパティ命令はいろんな使い方があって、一番上の3行はそのうち

#property copyright~は著作者を明示する

とか

#property link はホームページを明示する、

とか

#property versionはヴァージョン情報を明示する

といったように、数多くあるプロパティ命令の利用法の一つ、という訳です。

例えば、自分が作ったプログラムをほかのユーザにも配布して利用してもらう、という機会があったときに、著作権者や自分のホームページURL等の情報を明示しておくことには、小さくない意味があります。

ただ、著作権者や、ホームページURL等の情報を明示することは、自動売買プログラムを作る上では特に必須なことではないとも言えますよね?

シンプルにするために、コメントアウトした部分と同様に#property~~と書かれた3行も消してしまいましょう。

残ったのは以下の箇所です。↓


int OnInit()
  {

   return(INIT_SUCCEEDED);
  }

void OnDeinit(const int reason)
  {

   
  }

void OnTick()
  {

   
  }

さらにシンプルになりました。

プロパティ命令は色んな使い方があるので、

例えば今後カスタムインジケ-タ(オリジナルのチャート分析ツール。売買はしない)

を作ろう、という時には重要な役割を果たすものもあるのですが、

MQL5ウィザード設定画面直後に表示される、

著作権者やホームページリンク、バージョン情報などのプロパティ命令記述に関しては、

あまり重要とは言えないので、必要であれば消してしまっていいでしょう。

まとめ

今回の講座では、プロパティ命令について解説しました。

  • プロパティ命令とは、プログラムの補助的な、細かい設定が幅広くできる処理である。
  • 著作権者やホームページリンク、バージョン情報などのプロパティ命令記述に関しては、特になくても問題ない。

以上のことを押さえてもらえば、問題ありません。

次回コメントアウト部分を消し、プロパティ命令部分を消して残った部分について

解説していきます。

最後までお読みいただきありがとうございました<(_ _)>

MQL5 EA講座 第3回「コメントアウト」← 

                   →MQL5 EA講座 第5回「OnInit関数」

コメント

タイトルとURLをコピーしました