■超直感!MT4プログラミング講座■ 第15回 MQL定義済み関数について

スポンサーリンク

こんにちは!キリンです。
このブログ自体が夜書くことが多いので、「こんにちは!」っていうと新鮮ですね。
春の陽気を感じられる素晴らしい日々が続いています。
散歩が気持ちいいです。
ほんと関係ないのですが、
ふとこのような言葉を思いつきました。
「心のおだやかさ、優しさは、幸福感と感謝から生まれる」
我ながら悪くないと思ってます(w
さて、本日の講義です。
っとまずは先日いただいたコメントのご紹介からさせていただこうと思います。
(こういうコメントのお陰で、説明の至らないところがよく分かります。
 本当にありがとうございます!)

SetIndexBuffer(0, Buf);
IndicatorShortName(label);
SetIndexLabel(0, label);
この大文字から始まる3つって、変数ですよね?
真ん中を除いた2つが(0,***)と2つの要素を入れるっていう概念が急にでてくるもので、
とっつきにくいんだと思います。
あと、これらはintとかが定義されてないのも???です。
junky

まず、正解からお話しますと、
SetIndexBuffer(0, Buf);
IndicatorShortName(label);
SetIndexLabel(0, label);
これら3つはMQL定義済み関数です。
関数については、関数の回がありますので
そちらをご覧いただければと思います。
( )の中で「,」を使うお話もさせていただいておりますので、
分からない方はぜひ。
第3回 関数を覚えよう!
第4回 関数の定義方法
関数の変数との根本的な違いは、「文字の後に()があれば関数だ」と理解していただければいいと思います。
では、junkyさんのコメントをきっかけに
今回のお話をさせていただきます。
皆さんのプログラミングの助けになれば幸いです。


第15回 MQL定義済み関数について

■簡単な復習
■MQL定義済み関数とは?
■MQL定義済み関数ってどう見分けるの?
■MQL定義済み関数はどういったものがあるの?]
■簡単な復習
さて、冒頭で、
SetIndexBuffer(0, Buf);
IndicatorShortName(label);
SetIndexLabel(0, label);
はMQL定義済み関数だというお話をさせていただきました。
まず簡単に復習を。
リンゴの回を思い出していただきたいのですが、
()の中には{}で使う変数に数字を割り当てることができます。
それを、[ , ]で区切って複数いれることができるんです。
(よく分からなければ第4回をごらんになっていただければと。
 大事な部分ですので、しっかりと理解していただきたいです。)
■MQL定義済み関数とは?
では、MQL定義済み関数って何?
ということなのですが、第4回のリンゴの例を用いて説明しますね。

int RingoNoGoukeiNedan(int RingoNoKosuu, int RingoNoTanka = 80, double ShouhiZei = 1.05){
int GoukeiNedan = RingoNoKosuu * RingoNoTanka * ShouhiZei;
return(GoukeiNedan);
}

リンゴの合計値段を取り出す関数ですね。
MQL定義済み関数というのは、
このプログラムの中で、{ }の部分がすでに定義済みだということです。
このあたりは「サブルーチン」という概念の理解がないと
辛いところであるのですが、
「MT4自体であらかじめ動作の内容が決まっている関数」
と理解していただければいいかと思います。
すでに定義済みですので、intやdouble、voidなどで指定する必要がなく、
いきなり、
SetIndexBuffer(0, Buf);
IndicatorShortName(label);
SetIndexLabel(0, label);
とかけるわけです。
■MQL定義済み関数ってどう見分けるの?
MQL定義済み関数はメタエディター上で文字が紫色になります。
$Trading Systems ~経済的自由を得るために~
■MQL定義済み関数はどういったものがあるの?
僕の場合は、下のHPさんを拝見させていただいています。
MQL言語リファレンス日本語翻訳マニュアル
一番充実しているのではないかなぁって思っています。
これに負けないものを作りたい・・・ものです。
このサイトの中にも今回紹介したMQL定義済み関数が紹介されていますので、
ご覧になっていただければと思います。

SetIndexBuffer()

IndicatorShortName()
SetIndexLabel()
↑クリックしてみてくださいね
ご理解いただけたでしょうか?
これから、このMQL定義済み関数はものすごく頻繁に登場します。
しっかりと使えるようになっていただければと思います。
最後までお読みくださりましてありがとうございました。
宿題は、リファレンスサイトを見ていただくことにしようと思います(w
AskやBid、Close[], High[]についても書かれているので、そちらもご覧になってみてくださいね。
ではでは~

コメント

  1. junky より:

    SECRET: 0
    PASS:
    自分で答えてましたね、リンゴの代金の回で・・・
    定義済み関数って、あらかじめプログラムが組まれてるっていうことなので、楽をさせてもらってるんだと思います、個人的には。
    あとは、そこで何をやってるのかということがキチンと理解できればいいのですが。

  2. SECRET: 0
    PASS:
    >junkyさん
    ですですー。
    楽させてもらってるんですね。
    自分で作らなくていいんですよ♪
    それがMQLのいいところです。
    何をやっているかというのは、
    「慣れ」が大きいかもしれません。
    「こうしたい」と思ったときに「こういうものがあるのか」という理解を
    増やしていけば、徐々に覚えていくと思います。
    応援しています!
    コメントいつもありがとうございます!

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