【異国のドラゴンボーナス】ブログ限定!口座開設で取引回数19000回の最強レベルのEAとインジケーターをプレゼント!

【MQL4の勉強】多次元配列とは何?プログラム書き方やサンプルコードも!

今回は多次元配列という少し難しい名前プログラミングの概念を紹介いたします。

名前は少し難しいですが、一度分かってしまえばそんなに難しい話でも無いので、ぜひ勉強してみて下さい!

1.多次元配列とは

多次元配列(Multi-dimensional Array)とは、配列の中に配列を定義(=配列そのものを要素として定義)している配列をいいます。

例えば、以下のようなものです。


int ma[2][3];

 

上記のような配列を、2次元配列といいます。

また、以下のような配列を、3次元配列といいます。


int ma[2][3][4];

大人気!高評価!最強の平均足! 【異国のベスト平均足】

ご購入はこちらから

最強の平均足インジケーター!1分足~週足まで「ボタンで」一発切り替え&自動サイン生成!これ以上ない極上の平均足の使い勝手! | GogoJungle

2.宣言の仕方

多次元配列の宣言は、以下のように記述して行います。

型名 配列名[要素数1][要素数2] …;

多次元配列の各要素の値の初期化は、以下のように記述して行います(2次元配列を例とします。)。


int ma[2][3] = {{1,2,3},{4,5,6}};

 

上記は、以下のように記述したのと、同様となります。


int ma[2][3];

ma[0][0] = 1;
ma[0][1] = 2;
ma[0][2] = 3;
ma[1][0] = 4;
ma[1][1] = 5;
ma[1][2] = 6;

 

また、以下のように記述することもできます。


int ma[2][3] = {{1,2,3},{4,5,6}};

 

上記のような2次元配列は、以下に示すように、エクセルにおける表のようにイメージすると分かりやすいと思います。

multidimensional-array-image

7ヶ月のリアルフォワードテストでも勝率96%!
プロフィットファクター53!
現在213PIPS獲得中!

自動売買システム【異国のゴールデンゲート】

【異国のゴールデンゲート_USDJPY】 | GogoJungle
ご購入はこちら

3.具体例

例えば、以下のようなスクリプトを作成したとします(スクリプトの作成方法については「こちら」を参照してください。)。

サンプルコード

#property strict

#property show_cnfirm

void OnStart()
{
  int ma[2][3] = {{1,2,3},{4,5,6}};
  
  for(int i = 0; i < 2; i++)
     {
       for(int j = 0; j < 3; j++)
          {
            Print("ma[",i,"][",j,"] = ",ma[i][j]);
          }
     }
}

上記のスクリプトを実行すると、「ターミナルウィンドウ」の「エキスパート」タブに、以下のような表示がなされます。


ma[1][2] = 6
ma[1][1] = 5
ma[1][0] = 4
ma[0][2] = 3
ma[0][1] = 2
ma[0][0] = 1