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

*

■超直感!MT4プログラミング講座■ 第9回 for関数を使ってみよう

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

こんばんは!キリンです。
今日は、繰り返し同じ動作をすることのできる
for関数についてのお話しようと思います。


第9回 for関数を使ってみよう!

■繰り返しと条件分岐
■繰り返しの例
■for分の使い方
■繰り返しと条件分岐
私の個人的な考え方ですが、プログラムっていうのは全て
・繰り返し
・条件分岐
の2つの組み合わせでできていると思っています。
その中の一つ、繰り返しについてお話します。
繰り返しっていう意味は皆さんご存知だと思いますが、
実際にどのようなことに用いられるか例を挙げて説明します。
■繰り返しの例
1.99×4の計算を足し算でする場合
説明はいらないですよね。
99を4回足せば、99×4の結果になります。
2.袋の中に5個のボールがあって、青色のボールがあるか調べる場合
  ただし、袋からは1個ずつしか取り出せません。
青が出るまで一個ずつ取り出す動作を繰り返しますよね。
この考え方、すごい大事です。
・繰り返し:ボールを1個ずつ取り出す
・条件分岐:青色のボールが取り出せれば終了
これを、次回の講座でプログラムにしたいと思います。
3.y = x^2 (x^2とは、xの二乗です) のグラフを描く場合
実は、これをパソコンで書く場合も繰り返しを使っているんです。
xを0から0.01ずつ増やしていって、y=x^2の結果をグラフ上に点を打っていく。
そうすることによって、最終的には点が線になってグラフ上の曲線になります。
このような形で繰り返し分っていうのは使われます。
必要となり次第、補足で説明していきますね。
■for分の使い方
では、実際に繰り返しのプログラムを作ってみましょう。
繰り返しをさせるときに使う基本的な関数は、「for」という関数です。
前回作成した、[test]という名前のスプリクトの
Print(“test”);
の部分を下の枠のように変更してください。

Trading Systems ~経済的自由を得るために~

まず、for分の構成を見てみましょう。
for(int i=0; i < 3 ; i++)
int i = 0
ここで入力した変数が、繰り返しを行う際の基準になります。
i = 0 と置くことで、
「iを初期値0から繰り返しますよ」
という意味になります。
i < 3
「 i < 3の条件を満たしていれば繰り返しますよ」
という意味です。
これは次の説明をお読みいただくとご理解いただけるかと。
i++
i++の意味は、i = i + 1 と同じです。
この口座の始めの方に数式は、「右の結果を左の変数に割り当てる」とお話しました。
ということは、i = i + 1 という式は、
i に + 1 したものを i とする。
という意味になります。
それと、i++ が一緒なんですね。
そして、繰り返しが行われるごとに、
i++
という動作が繰り返し行われます。
初期値が i = 0 であるので、0から始まり、
i++ され、
i < 3 が成り立たなくなったら繰り返しが終了
という動作をします。
実際には、
i = 0で1回動作⇒(終了したらi++)
i = 1で1回動作⇒(終了したらi++)
i = 2で1回動作⇒(終了したらi++)
i = 3となり、i < 3を満たさなくなるので動作終了
という動作をします。
それを、for (int i = 0; i < 3 ; i++)で表現できるんですね。
実際に繰り返す中身は、{}で指定します。
今回の場合は、
{
Print(“i = “,i); 
}
が繰り返す中身になります。
“”で区切られているところが文字列で、「,」で左と右を足し合わせ、
その次のiは変数なので数字が出力される。
このスプリクトの動作結果は、
i = 0
i = 1
i = 2
というものになります。
Trading Systems ~経済的自由を得るために~
mt4のターミナルにはこのように表示されます。
(ターミナルには最新の結果が上に表示されるようになっているので、
 実際に起こった順番は逆になります。)
for関数は非常に大事なところです!
ぜひぜひ理解してくださいね!!
その理解を助ければと思い、簡単な例題を出題します。
mt4のexpert上に
i = 5
i = 4
i = 3
と表示させるプログラムを作ってみてください!
明日は条件分について説明するつもりです。

にほんブログ村 為替ブログへ 
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
  • 66 follow us in feedly

関連記事

no image

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

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

記事を読む

no image

■超直感!MT4プログラミング講座■ 第1回 プログラミングって何?

こんにちは!キリンです。 今日から一週間に一回くらいの更新頻度を目標に、 MT4プログラミング講座を更新していきます。

記事を読む

no image

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

おはようございます。キリンです。 昨日、半年振り以上にバスケをしてきました。 今日の筋肉痛はやばいです(w サラリーマン

記事を読む

no image

■超直感!MT4プログラミング講座■ 第16回 インディケーターの実働部分

こんばんは。キリンです。 先ほどHey!Hey!Hey!の大阪の歌特集をやっていました。 Dreams Come Tru

記事を読む

no image

■超直感!MT4プログラミング講座■ 第26回 発注スプリクトの作成(2)

おはようございます。キリンです。 昨日は招き猫さんに来ていただいて、 引越しを手伝っていただけました。 だけと肝心の準備

記事を読む

no image

■超直感!MT4プログラミング講座■ 第27回 発注スプリクトの作成(3)

こんにちは!キリンです。 今日、ついに大阪の地に降り立ちました。 5年ぶりの大阪。あの頃とはまったく気持ちが違いますね。

記事を読む

no image

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

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

記事を読む

no image

■超直感!MT4プログラミング講座■ 第5回 MQL基本関数を覚えよう!

こんにちは!キリンです。 早いもので、1週間で5回まで来ちゃいましたね。 皆さんもしっかり付いてきてくれているので、私と

記事を読む

no image

■超直感!MT4プログラミング講座■ 第24回 インディケーターの補足

こんばんは。キリンです。 第24回 インディケーターの補足 ■インディケーターをサブウィンドウに表示する ■グラフに

記事を読む

no image

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

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

記事を読む

Comment

  1. まこ より:

    SECRET: 0
    PASS:
    クロスファイア、ドローダウンからの脱出おめでとうございます。
    キリンさんはきっとハラハラドキドキしながら値動きを見ていたのではないかなぁ…と想像してしまいました。
    EAを稼働させる側の立場になっての心遣いが度重なるメッセージから伝わってきました。
    EAを世に送り出し色々な人の手に渡ると利がのるのが当たり前だと思い込みドローダウンや上手く利益が乗らない時には、あらゆる方向から罵声攻撃を浴びせられる事もあろうと思います。
    稼働する側の無理なレバレッシ設定が招いた損失であろうとも…
    今回の荒い値動きに遭遇した際にクロスファイアのフォローメールやブログ更新などをみて改めてキリンさん達が自分達のEAに熱意を注いでいるのだなぁ…と感じ
    クロスファイア&トップガン頑張れ~と応援してしまいました。
    と、また携帯から長々書いているので文章がまとまっていませんが…、
    無事生還 よかったですねっ
    日曜日は一息ついて少し休んで下さい

  2. SECRET: 0
    PASS:
    >まこさん
    おぉ・・・
    ありがたいお言葉ですTT
    正直、前の日記で書かせていただきましたが
    ドローダウン発生時には相当心が痛みました。
    信用してくださった方々に対し、
    どのようにお話すればいいか戸惑いました。
    私たちが自信を持って提供させていただいている
    EAであるので、大きな責任感を持って仕事させていただいております。
    どうしようもないドローダウンが発生してしまった際には、取り返しが付かない事態になってしまいます。
    そうならないために努力しておりますし、
    そうでないと信じているからこそ、
    皆様にご紹介させていただいています。
    応援のお言葉、非常に励みになります!
    本当にありがとうございます!
    日曜日もばっちりやることがあるので、
    ゆっくりはしていられませんが、
    それも皆様の信頼にお答えせねばならないという
    固い信念のもの活動させていただいていることが
    一番の原動力です。
    文章、すごいまとまっていると思いますよ^^
    夜遅くに時間を割いてこのような長文をお書きいただきまして、誠にありがとうございます!

  3. konatu より:

    SECRET: 0
    PASS:
    制作費はいくらかかるのでしょうか全体的な価格をおしえていただきたいのですが

Message

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

Adsense

Avoiding the problem of connect to outside of LAN with L2TP/IPSec on Ubuntu 18.04.

とても困って、原因の特定に2日かかった。疲れた。確定申告したいのに。 The IPSEC tu

Wine 上の MT4から ZeroMQ を使って Linux の pyzmq の通信をさせる

こんにちは。キリンです。 最近、年に数度のMQLを書くときがきたのですが、Pythonに慣れま

numpy の2つ行列で片方にあるものだけを抽出する。

numpy で2つの時間のインデックスをarrayデータとして持っていて、x にはない時間のイン

Synology DS216j の MySQL に外部からつなぐ

Synology DS216j をNAS(RAID1 12TB)として使っています。もっぱらデー

VMWare Player をヘッドレスモードで使う。

[bm url="http://www.ryanchapin.com/fv-b-4-713/Ru

→もっと見る

PAGE TOP ↑