第18回:配列で変数をまとめる
MQLの配列
MQLでティックチャートを使うとします。
MQLでは過去のティックチャートのデータは保存されていないので、
直近のレートを変数に保存しておく必要があります。
1 2 3 4 5 6 7 |
double Tick0,Tick1,Tick2,Tick3,Tick4,Tick5; Tick5 = Tick4; Tick4 = Tick3; Tick3 = Tick2; Tick2 = Tick1; Tick1 = Tick0; Tick0 = Bid; |
上記のようにすると、
新しいレートはTick1に古いレートはTick2,Tick3と格納されていきます。
もしこれが100ティック分必要になったら変数の宣言だけで大変なことになります。
※エクセルになれている人はコピペで余裕とか思うかもしれませんが、
変更があったときに大変なのです。
プログラミングでは配列という概念があります。
説明するよりも実際に見てみた方が良いでしょう。
上記のコードは配列にすると、下記のようになります。
1 2 3 4 5 6 7 |
double Tick[6]; Tick[5] = Tick[4]; Tick[4] = Tick[3]; Tick[3] = Tick[2]; Tick[2] = Tick[1]; Tick[1] = Tick[0]; Tick[0] = Bid; |
少しだけきれいになりました。
配列とは[]を使った簡略化法のようなものです。
変数名[整数]と宣言することで、その整数分の配列が使えるようになります。
ただし、配列で使える数も0からスタートとなるので、
double Tick[10];
と宣言しても
Tick[0],Tick[1],Tick[2],Tick[3],Tick[4],Tick[5],Tick[6],Tick[7],Tick[8],Tick[9]
までしか使えません。
Tick[10]は使えないことに注意してください。
また[]内は整数しか入れられません。
[1.4]や[“bid”](連想配列)のようなことはできません。
このコメントはWEBに公開されるので、問い合わせ等はメールでお願いします。
関連記事
-
-
ティック更新よりも早い頻度で演算させる
EAというやつうは基本的にティックレートを受信する度に一回、演算する仕組みになっています。 U
-
-
第20回:複数のポジションを識別・判別する
口座内の異なる通貨ペア、マジックナンバーのポジションを区別する MT4では同時に異なる種類のポジシ
-
-
第13回:コードに汎用性を持たせる~”USDJPY”よりSymbol()~
MT4で設定を変更ができるような記述をする これまでに様々なコードを扱いましたが、 これまでの書
-
-
第7回:条件の書き方 == && ||
今回はif文の中の条件を記述します。 == 等しいことを条件にする A == B でAとBが
-
-
第14回:MarketInfoでスプレッドを取得する
MarketInfoという情報屋 MQLではスプレッド、口座通貨、ストップレベルなどを取得する際に