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

*

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

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

こんにちは!キリンです。
昨日は土曜出勤でした。サラリーマン生活も残すところあと2週間弱。
今日は、引越し会社に引越しの見積を作ってもらいましたが、
引越し費用は・・・
「12万!」
うーん。やっぱりこのぐらいするよなぁ。
神奈川から大阪だとやっぱり結構しちゃいますね。
では、本日の講座です。


第10回 if関数を使ってみよう

■前回の問題の回答
■条件分岐とは?
■条件分岐を使う例
■if関数を使ってみよう
■if関数を使った問題
■前回からの問題の回答

mt4のexpert上に
i = 5
i = 4
i = 3
と表示させるプログラムを作ってみてください!

for(int i = 3; i < 6 ; i++){
Print(“i = “,i);
}
が正解です。
初期値が3。6未満まで繰り返す。iに1を足し続ける。
というのが中身ですねー。
ちなみに補足の説明ですが、私が昔勘違いしていたことがありますので
せっかくなのでご紹介。
int i;
for(i = 3; i < 6 ; i++){
Print(“i = “,i);
}
とすることもできます。
関数の定義[ int ]をforの引数部分におく必要はないんですね。
簡単・・・ですよね?
分からない点がありましたら質問くださいね!
■条件分岐とは?
条件分岐とは。ある条件を満たすか満たさないかで場合分けすることを言います。
それを、プログラム上では
条件を満たす場合 ⇒ true[真]
満たさない場合  ⇒ false[偽]
と表現します。
例を挙げて説明しますね。
■条件分岐を使う例
・100円の商品を購入することができますか?
100円以上のお金を持っていれば ⇒ true[真]
100円未満のお金しか持っていなければ ⇒ false[偽]
・お金持ってますか?(w
お金持っていれば ⇒ true[真]
お金持っていなければ ⇒ false[偽]
みたいな形ですね。
そして、お金を100円以上持っていたら、レジに行って商品を買うという
動作をすればいいわけです。
では、実際にプログラムで条件分岐してみます。
■if関数を使ってみよう
では、testのスプリクトを下記のように変更してみてください。

//+------------------------------------------------------------------+
//| test.mq4 |
//| Copyright Kirin 2010, MetaQuotes Software Corp. |
//| http://ameblo.jp/ftlabo-kirin/ |
//+------------------------------------------------------------------+
#property copyright “Copyright Kirin 2010, MetaQuotes Software Corp.”
#property link “http://ameblo.jp/ftlabo-kirin/”
//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{
//—-
int ShojiKin = 120;
if(ShojiKin >= 100){
Print(“You can buy an apple!”);
}else{
Print(“You cannot buy an apple…plz earn your money…”);
}
//—-
return(0);
}
//+------------------------------------------------------------------+

新しく出てきた関数が if 文と else 文です。
ifというのは、「~~だったならば」という意味の英語で、
elseは「その他の場合~~」という意味ですよね。
ここでは、ifの()の中身がtrue[真]かfalse[偽]かを見ています。
ちなみに、>= というのは、≧という意味で、
ShojiKin >= 100
は、「ShojiKinが100以上ですか?」ということを確認しているんですね。
そして、()の中身が真だったら{}の中身を動作させる。
今回のプログラムの場合は、
Print(“You can buy an apple!”);
が動作します。
そして、ifの()の中身が偽であった場合は、
プログラムの動作がelseのところに移ります。
そして、elseの{}の中身を動作させます。
この場合は、
Print(“You cannot buy an apple…plz earn your money…”);
が動作するのですね。
何となくお分かりいただけたでしょうか?
一度このままプログラムを実行してみてください。
すると、
$Trading Systems ~経済的自由を得るために~
この様に動作します。ShojiKinが100以上なので、
ifの{}だけ動作したんですね。
次は、
int ShojiKin = 80;
としてみます。
すると、
$Trading Systems ~経済的自由を得るために~
と表示されます。
elseの{}の中身が動作したんですね。
これが、条件分岐です。
※プログラムの中身を変更したら、メタエディター上でF5を押してプログラムを更新してくださいね!
ちなみに、if文の後に必ずelseをつけなければならないというわけではなく、
elseで何も動作させる予定がなければ、elseは省略することができます。
また、trueとfalseの使い方を理解していただきたいので、
ifの括弧の中を次のように変更します。
if(true){
Print(“You can buy an apple!”);
}else{
Print(“You cannot buy an apple…plz earn your money…”);
}
とすると、ifの{}の中が動作します。
if(false){
Print(“You can buy an apple!”);
}else{
Print(“You cannot buy an apple…plz earn your money…”);
}
とすると、elseの{}の中が動作します。
trueとfalse自体が元々定義されている変数なんですね。
中身は1, 0なんですけど。
このように、
ShojiKin >= 100
を満たせば true
満たさなければ false
という動作をしていたんですね。
これがif文の使い方です。
では、今回の問題です。
■if関数を使った問題
お金を持っているか持っていないかで
表示させる文字が異なるものを作ってみてください。
お金があるとき
Print(“You have Money!”);
お金がないとき
Print(“No Money!”);
ですね。
皆さんのご回答楽しみにしています^^
最後までお読みくださりまして、ありがとうございます!

にほんブログ村 為替ブログへ 
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プログラミング講座■ 第28回 決済スプリクトの作成(1)

こんにちは!キリンです。 引越しも終わり、かなり落ち着いてきました。 時間的制約が皆無になると、セルフコントロール能力が

記事を読む

no image

■超直感!MT4プログラミング講座■ 第18回 インディケーターを色々いじってみよう

こんばんは!キリンです。 今日の名言 「日々、常に何か新しいことを学習し身につける。  それを繰り返すことによって、新し

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

おはようございます。キリンです。 今日から引越しの準備です。 今週はあまり仕事が進んでないです・・・。 引越しの準備とか

記事を読む

no image

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

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

記事を読む

no image

■超直感!MT4プログラミング講座■ 第11回 配列を覚えよう

こんばんは。キリンです。 最近、各EAの動向で一喜一憂してしまっています。 精神的によろしくないですな^^; クロスファ

記事を読む

no image

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

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

記事を読む

no image

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

こんばんは!キリンです。 気づいたら本格的なプログラムを扱っている状態にまで、 この講座も進んでこれたのですね。 私とし

記事を読む

no image

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

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

記事を読む

Comment

  1. otwo2 より:

    SECRET: 0
    PASS:
    BASIC、C言語は少しわかります。
    わかりやすいですね。
    Time is money なので、自分でシステム
    組んでみます。では。

  2. SECRET: 0
    PASS:
    こんばんは、新居です。
    私も最近MQLの勉強をしていますが、
    Kirin@FTLさんの解説は分かりやすいですね。
    とても参考になりました。

  3. まこ より:

    SECRET: 0
    PASS:
    初歩的な質問かわかりませんが教えて下さいキリンさん
    通常のパソコンの画面での4XPのMT4は立ち上げる度にライブアップデード画面が出てきてアップデードできるのですがVPS上のMT4にはそういえばライブアップデート画面が起動させる毎に出てこないのでアップデートさせていませんでした。
    今朝自分のパソコン上のMT4は回線不能でライブアップデートしたら普通に動き始めましたがVPS上のMT4をライブアップデートするにはどうしたらいいのでしょうか?
    あらたにMT4のダウンロードからしないといけないのでしょうか?
    こちら回線不能のままなのです…。
    本を読んだけどわかりません。
    手動アップデートの仕方を教えて下さい。

  4. SECRET: 0
    PASS:
    >まこさん
    おそらく今回の問題はヴァージョンアップのせいではなさそうですね。
    VPSサーバー上での動作は、通常お使いのパソコン上での動作と違いありません。
    ですので、FX業者の何かだと思われます。
    私の方でも調べてみますね。
    コメントありがとうございます!

  5. むん より:

    今回も、とてもわかりやすいです。読破にむけてがんばります。
    ちなみに、ときどき出てくる作業画面は、以前のバージョンでの作業方法ですよね?

    似ているんですが、今のMT4の画面とはちがう気がして、調べつつやっています。

FX比較!初心者のためのFX業者比較 にコメントする コメントをキャンセル

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

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 ↑