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

*

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

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

こんばんは。キリンです。
最近、各EAの動向で一喜一憂してしまっています。
精神的によろしくないですな^^;
クロスファイアですが、またドローダウンから復帰しました。
復帰が非常に早いのですが、また落ちたら・・・と思うと怖いです。
早く開始値より十分な利益をあげてくれたらなぁと
期待して待っています。
さて、本日の講義です。
「配列を覚えよう」
■前置き
■配列とはどういったものなの?
■配列の構造
■配列の使用例
■前置き
前回まででプログラムの超基本である、
「繰り返し」と「場合わけ」をお話させていただきました。
変数・関数・繰り返し・場合わけの4つを抑えれば、
参考書を持ってきて独学する際にも、大体乗り切っていけると思います。
が、あえてその中でつまづく可能性があげるならば、
・配列
・グローバル変数とローカル変数
の2つがあります。
この2つもプログラミングの参考書をみると、
なかなか詳しく書いているものがないんですね。
僕の場合も、MQL(MT4のプログラム言語)の勉強をしているだけでは、
完璧に理解することはできませんでした。
今日はその中の一つ、
「配列」
についてお話します。
皆さんのプログラミングの勉強のお力になれれば幸いです。
■配列とはどうつかうの?
プログラミングの独特の考え方になるので、
説明するより具体例を理解してもらえればと思います。
まず、配列というのはこのような構造になっています。
■配列の構造
string Array[5];
Array[0] = “変数の割り当て”;
変数と配列の違いは、
「 文字列の後ろに[ ]がある 」
ということです。
配列を定義するときは、[ ]の中に数字を入力します。
そこで入力した値が、
「[ ]の中に入力できる数字の個数」
になります。
この場合、5未満の数(0, 1, 2, 3, 4)を入力することができます。
[ ]の中は必ず自然数にしてくださいね。
(自然数とは、1以上の整数です)
定義した後、配列Arrayの[ ]の中身が配列の番号になります。
[ ]の中身の数字が違えば、まったく別の変数として扱うことができます。
(↑すっごく大事)
そう、Array[0]は変数として扱うことができるんですね。
同様に、
Array[1], Array[2], Array[3], Array[4]
をそれぞれがまったく別の変数として扱うことができます。
ただの変数で全てを置くとすれば、
string Array[5];
とおくだけで、
string Hensuu0; //Array[0]に対応
string Hensuu1; //Array[1]に対応
string Hensuu2; //Array[2]に対応
string Hensuu3; //Array[3]に対応
string Hensuu4; //Array[4]に対応
と定義したことと非常に近い意味になります。
(※例え話です。ArrayとHennsuuはまったく別物です。)
違いは、変数ではできない動作を配列だとすることができるんです。
それは明日お話させていただく予定です。
■配列の使用例
では、実際に配列を使ったプログラムを作ってみましょう。
愛用?のscriptのtestという名称のプログラムのstart()の { }の部分を
下記の様に変更します。

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

このスプリクトの動作結果は、
Trading Systems ~経済的自由を得るために~
という形になります。
そう、変数であるArray[0]の中身が出力されたんですね。
では、次にPrintの部分を下記のようにしてみましょう。
Trading Systems ~経済的自由を得るために~
すると、
Trading Systems ~経済的自由を得るために~
と表示されます。
配列の挙動をご理解いただけましたでしょうか。
配列は非常に大事な部分になりますし、
とっつきにくい中の一つです。
基本的な内容は今回説明させていただきましたが、
次回は配列の細かい内容について詳しくお話していこうと思います。
せっかくなので宿題をば・・・。
下記のプログラムは正しく表示されません。
間違いはどこでしょう?
string Array[5];
Array[5] = “Array[5]です”;
Print(Array[5]);
最後までお読みくださりまして、ありがとうございます。
明日もお楽しみにしていただければと。
ではでは~

にほんブログ村 為替ブログへ 
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プログラミング講座■ 第15回 MQL定義済み関数について

こんにちは!キリンです。 このブログ自体が夜書くことが多いので、「こんにちは!」っていうと新鮮ですね。 春の陽気を感じら

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

■超直感!MT4プログラミング講座■ 第17回 iMA()に慣れよう

こんばんは!キリンです。 今日、鮒谷さんのかの有名なメルマガ、平成進化論において面白い話が載っていました。 簡単にご紹介

記事を読む

no image

■超直感!MT4プログラミング講座■ 第34回 決済スプリクトをサブルーチン化する

こんにちは。キリンです。 自立ってそんなに難しくないと思うんですが、 自律は大変ですよね。 自立できれば自律を目指さなけ

記事を読む

no image

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

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

記事を読む

no image

■超直感!MT4プログラミング講座■ 第28回 決済スプリクトの作成(1)

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

Comment

  1. りある より:

    SECRET: 0
    PASS:
    宿題の答えは、、、、
    string Array[5];
    としているので、変数としては5個ですが、0から始まるので、指定できるのは4まで、かな?
    だから、
    Array[5] = "Array[5]です";
    と指定しても Array[5] は存在しないため表示できないということでしょうか?

  2. junky より:

    SECRET: 0
    PASS:
    エラーになるのでしょうか?

  3. りぼじゅん より:

    SECRET: 0
    PASS:
    お世話になってます!
    あのぉー・・・・・・・
    自分のTOPGUNFXナンピン倍率かわらないんで、多額の損切り2連発されちゃったんですけどどこがおかしいんですかねぇ?
    (初期ポジ0.45LOT→1回目ナンピン0.45LOT→2回目ナンピン0.45LOT→損切り)
    とゆー感じです・・・・・・・このパターン2回やられました(TT)
    すいませんがサポートお願いします(*- -)(*_ _)ペコリ

  4. SECRET: 0
    PASS:
    >りあるさん
    すばらしいです!
    今回のブログでコメント使わせていただこうと思います!
    コメントありがとうございます!

  5. SECRET: 0
    PASS:
    >junkyさん
    エラーにならないんですねぇ。
    この点が難しいところなんです。

  6. SECRET: 0
    PASS:
    >りぼじゅんさん
    通常考えられない動作ですね。
    他のEAと共用されていたりしないでしょうか?
    他のEAにより決済されてしまっているのかもしれません。
    動作が起こった場面のスクリーンショットなどをいただけると対処できると思います。
    メッセージでメールアドレスをお送りしますので、ご連絡いただけますでしょうか。
    コメントありがとうございます。
    ご迷惑おかけします。

Message

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

Adsense

Ubuntu で仮想ディスプレイを使う

雑多な備忘録ですが、せっかくなので残しておきます。 Ubuntu 18.04 の resolv.c

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

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

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

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

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

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

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

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

→もっと見る

PAGE TOP ↑