基礎から学ぶシステムトレード
シストレブログ人気ランキング  

シストレ徹底攻略シストレマスターへの道ワールド・トレーディング・エッジ基礎から学ぶシステムトレードシストレニュースシストレツールシストレナビTOPへ

 

2010年01月12日(火)

配列の注意点(1) [プログラミング]



皆さん、こんにちは。

今年の最初のテーマは、再びプログラミングに関するものです。

MQL4のプログラムでは、チャート上のデータ処理が必要となるので、配列を使います。

但し、MQL4では、扱いの異なる2種類の配列があります。

ひとつは、C言語などでも使われる普通の配列で、もうひとつがチャート上のデータを格納する時系列配列です。

まずは、普通の配列についてお話しします。

配列というのは、変数の集まりなので、int や double のような型があります。

通常の配列では、配列の要素数、つまり何個の変数の集まりにするかを決めて宣言します。

例えば、10個の double 型の変数を一まとめにした配列変数の場合、

double buf[10];


のように宣言します。ここでは、「buf」が変数名で、[]の中に指定した数「10」が配列の要素数ということになります。

配列を宣言した後は、10個の変数を独立に扱うことができます。その10個というのは、

buf[0], buf[1], buf[2], buf[3], buf[4], buf[5], buf[6], buf[7], buf[8], buf[9]


です。

ここで注意することは、buf[10]は使えないということです。

例えば、次のようなプログラムを見てください。10個の要素しか宣言していないのに、buf[10]という11個目の要素に値を代入しているので明らかに間違っています。
int start()
{
double buf[10];

buf[10] = 100.23;

Print(buf[10]);

return(0);
}

しかし、困ったことにbuf[10]を使ってもコンパイルではエラーが出ません。

コンパイルしてもエラーが出なければ間違っていないのかというと、そうではなく、そのまま実行しても正しい結果にはなりません。この場合、結果は100.23でなく、0になります。

このように配列を使うと、プログラムの間違いを見つけるのが難しくなるのです。

配列は便利な反面、多用すると、プログラムのデバッグに時間がかかることがあります。

自分のわかる範囲で適度に使うことが肝心ですね。


>>“基礎から学ぶシステムトレード”全記事バックナンバーはこちらから




Posted at 15時04分


ページのトップへ ページのトップへ

Sponsor AD

2010/1

          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            

プロフィール

豊嶋久道

2003年よりFX取引を始め、システムトレードの道へ。最近ではFXオプション取引も含めたトレーディングシステムの研究を行っている。システムトレードを基礎から正しく理解するための情報を発信する予定。

PHOTO

値動きのヒストグラムからわかること

値動きのヒストグラムからわかること

カテゴリーリスト

最近の記事

検索


当サイトコメントについて

当コメントは情報提供のみを目的として作成されたものであり、投資に関してはご自身でご判断くださいますようお願い致します。また、当資料は著作物であり著作権法により保護されております。無断で全文または一部を転載することはできません。

RSS1.0

[Login]


powered by a-blog
Copyright (C) 2008 PhiConcept,Inc. All rights reserved.