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

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

 

2010年01月26日(火)

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



もう1回、配列の話です。

Cで「通常の配列」を勉強した人にとっては、MQL4の「時系列配列」はちょっと不思議に思えるでしょう。

通常の配列では、プログラム中で意図的にデータを代入しない限り、配列の各要素の値は変わりません。

しかし、時系列配列では、Close[0], Buf[0]のように0番目の要素が常に最新のバーに対応するように配列の各要素の値が変更されます。

ですから、今までClose[0]に入っていた値は、新しいバーができた途端に、Close[1]に移され、Close[0]には新しくできたバーの終値が格納されるようになります。

明らかに通常の配列とは異なります。

ただ、テクニカル分析にしろ、売買シグナルの生成にしろ、相場の時系列データを扱う場合、現在のバーを基準に考えた方が都合がよいのです。

MQL4で通常の配列しか使えないとしたら、プログラミングはもっと複雑になるでしょう。

ここでMQL4に組み込まれている時系列配列についてまとめておきましょう。

Open[] : バーの始値
Low[] : バーの安値
High[] : バーの高値
Close[] : バーの終値
Time[] : バーの開始時刻
Volume[] : バーのティック数

これらの配列はMQL4で予約されている配列なので、宣言しなくても利用することができます。

Open[],Low[],High[],Close[] は、いわゆる四本値です。最新のバーの四本値はそれぞれ、Open[0],Low[0],High[0],Close[0]に入っています。

1本前のバーだと、Open[1],Low[1],High[1],Close[1]、2本前のバーだとOpen[2],Low[2],High[2],Close[2]といた具合です。

Time[]は、それぞれのバーの開始時刻を表す配列です。これは単独では利用しにくいので、別の機会に解説します。

あと、Volume[]は「出来高」と訳されているのですが、決まった取引所で売買されていないFXでは、実際の出来高はわからないので、これは単に価格の変化した回数、ティック数を表します。

ここで予約変数だということを知らずに、
double Volume[10];

のように配列を宣言してしまったらどうなるでしょうか?

前回、エラーが出なくても正常に動作しないケースを紹介しましたが、このケースでは、ちゃんとコンパイルでエラーがでます。

ただ、エラーメッセージはこんな感じです。
'Volume' - variable expected

訳すと、
Volume - 予想された変数

・・・何のことでしょうね?

エラーメッセージの意味がわからないというのも、初心者泣かせなんですね。

慣れてくると、エラーメッセージがどういう場合に出るかがわかってくると思いますが、最初のうちは、あまりエラーメッセージを気にする必要はありません。

なので、とにかく「Volume」がおかしいということなので、名前を変えるのが手っ取り早い解決策です。

例えば、
double Volume1[10];

のように数字をつけるだけでもOKです。

もうひとつ、予約変数には値が自動的に代入されるので、プログラムする人が勝手に値を代入することはできません。

例えば、
Close[0] = 1.0;

のようにClose[0]に値を代入することはできません。

ただこのケースもコンパイル時にエラーメッセージが出ますので、そう心配する必要はありません。

配列はちょっと難しいですが、何かと便利ですので、通常の配列と時系列配列の違いを理解して、使いこなしていってください。


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




Posted at 14時49分


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

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

ランダムウォークとランダムトレード(4)

ランダムウォークとランダムトレード(4)

カテゴリーリスト

最近の記事

検索


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

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

RSS1.0

[Login]


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