Wizard In The Market
システムトレードの魔術師

*

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

公開日: : 最終更新日:2015/01/13 MT4(MQL4)プログラミング講座

こんにちは!キリンです。
このブログ自体が夜書くことが多いので、「こんにちは!」っていうと新鮮ですね。
春の陽気を感じられる素晴らしい日々が続いています。
散歩が気持ちいいです。
ほんと関係ないのですが、
ふとこのような言葉を思いつきました。
「心のおだやかさ、優しさは、幸福感と感謝から生まれる」
我ながら悪くないと思ってます(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[]についても書かれているので、そちらもご覧になってみてくださいね。
ではでは~

にほんブログ村 為替ブログへ 
Fx-Kirin

About Fx-Kirin

2009年10月にFXを開始、翌年2010年5月から脱サラをしてFX業界に専念。 2012年10月頃から本格的に勝ち始め、一月で資産を倍にする、2年半月間負けなし等、安定した収支で2013年11月に生涯FX収支が1億を超える。 投資スタイルはシステムトレード。プログラミングの知識がほぼない状態から、独学で自分がしたいと思うことであればほぼ実現することが可能なレベルまで成長。好きな言語はRuby, Python。必要となればC++からVBA、Pascal等なんでも行う。MT4/MT5のプログラミングも得意。 2011年にはFXで稼いだ資金をもとにシンガポールに移住し、留学も兼ねて起業をチャレンジするほど、ビジネスを興すことに熱意がある。国内の業者を主に使い始めたことから、2012年に帰国。零細株式会社経営中。

Adsense

  • このエントリーをはてなブックマークに追加
  • Pocket
  • 67 follow us in feedly

関連記事

no image

■超直感!MT4プログラミング講座■ 第23回 ボリンジャーバンドのおさらい(2)

こんばんはっ!キリンです。 平日に私服で電車に乗っているのが非常に違和感を感じます。 でも、脱サラしたんだなっという感無

記事を読む

no image

■超直感!MT4プログラミング講座■ 第12回 配列の応用方法を覚えよう!

こんばんは。キリンです。 TopGunの運用で、初めて3機目まで導入されてしまいました。 最後に投入するということもあり

記事を読む

no image

■超直感!MT4プログラミング講座■ 第33回 発注スプリクトをサブルーチン化する(2)

こんにちは。キリンです。 昨日、同い年の投資を始めている医大生とお会いしてきました。 すでに何度か事業にもチャレンジされ

記事を読む

no image

■超直感!MT4プログラミング講座■ 第7回 インディケーター表示のために

没になった回です。 内容が雑なため、第8回へ移動していただければと思います。 興味のある方はご覧いただければと思います。

記事を読む

no image

■超直感!MT4プログラミング講座■ 第4回 関数の定義方法

おはようございます。キリンです。 「パソコンを付けたら、まずブログを書く!」というマイルール作ってみました。 実践せねば

記事を読む

no image

■超直感!MT4プログラミング講座■ 第22回 ボリンジャーバンドのおさらい

こんばんは!キリンです。 お酒を飲んでからの講義は難しいですね。 何か対策を考えなければっ! 頑張って書いていきます。

記事を読む

no image

■超直感!MT4プログラミング講座■ 第39回 ブレイクアウトシステムのEAの最適化をやってみよ

こんばんは!キリンです。 今日は最適化をしてみます。 簡単に成績がいいものができてしまうので、 成果が出たときは非常に嬉

記事を読む

no image

■超直感!MT4プログラミング講座■ 第31回 サブルーチンを使えるようになろう

おはようございます。キリンです。 昨日、家の近くの図書館に行ってきました。 そこで借りた本の一冊に、 「生き方」(稲盛 

記事を読む

no image

■超直感!MT4プログラミング講座■ 第14回 インディケーターの定義部

こんばんは!キリンです。 最近ピグによく顔を出しています。 よければ遊びに来てくださいね。 ではでは、本日の講義です。

記事を読む

no image

■超直感!MT4プログラミング講座■ 第20回 ボリンジャーバンドを作ろう(2)

おはようございますっ!キリンです。 脱サラ後は朝のブログを習慣にする予定です。 毎日文章を書くことは、文章力をつける上で

記事を読む

Comment

  1. junky より:

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

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

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Adsense

PYPIへの登録を10秒でできるようになる方法

pip 使ってますよね Pythonを使っている人であれば、pip installでライブラリ

The art of debugging with GDB, DDD, and Eclipse の読書メモ

GDBの勉強がしたくて、下の本を原著で読んでみました。10年前の本だけど全然現役でした。

JupyterでボタンからJavascriptを実行して追加のアウトプットをさせない方法

Javascriptを実行するとアウトプットセルの行が増える これがとても面倒だった。上の

まだBokehで消耗してるの?これからはPandas-Bokehを使おうぜ

タイトルはあまり気にしないでください。全然、Bokehで消耗する価値があるとは思っています。ただ

SQLAlchemy のマイグレーションライブラリ Alembic を使ってみる。

SQLAlchemyの作者が作ったデータベースマイグレーションツール。個人的には、SQLAlch

→もっと見る

PAGE TOP ↑