MQLインジケーターの作り方

関数ってなに?

インジケーターなどプログラムで「関数」について
分からない人向けです。

スポンサーリンク

関数とは

ある処理をする機能のことです。
入力データ(引数といいます)と出力(戻り値といいます)があります。
MQLに用意されてる関数もあるし、自分で関数を作ることもできます。

関数がどんなものかは、例を見た方が早く理解できると思います。

例:MQLに標準で用意されてる関数を使う例。
現在日時を取得する関数TimeCurrent()を使う場合です。
1行目は、日時を扱うデータ型で「dt」という変数を用意します。
2行目は、MQLに標準で用意されてる関数のTimeCurrent()で、「dt」に現在日時をセットできます。
TimeCurrent()は、現在日時のデータを取得できる機能があるのです。

datetime dt;  // ← 「datetime 」型の「dt」という変数を用意
dt = TimeCurrent(); // ← 現在日時をセット

例:足し算する関数を自作(自分で関数を作る)
整数型の「a」「b」を入力データとして、「a」と「b」を足し算して結果を返す機能の関数です。関数の名前を「tashizan」と自分で決められます。ただし、すでに存在する関数と同じ名前にはできません。

int tashizan(int a, int b)  // tashizanという関数名
{                           // 整数の変数 a と b の入力
                            // 処理結果(出力)を int型で戻す
    int kekka;
    kekka = a + b;          // a とb を足し算する
    return kekka;           // 足し算の結果値を戻す(出力)
}

例:上記の自作の足し算関数の使い方
1行目で、整数のデータ型の「n」という変数を用意。
2行目で、自作の足し算関数に2,5を引数(入力データ)にして、足し算の結果が「n」にセットされます。この場合「n」には2+5の7がセットされます。

  int n;
  n = tashizan(2, 5);  // 2+5の結果が n にセットされる

コメント