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

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

 

2010年07月20日(火)

MQL5スクリプトプログラム [MetaTrader5]



今回からMT5に搭載されているMQL5プログラムについて紹介していきます。

但し、更新のペースはゆっくりなので、急いでMQL5入門したい方は、以下のサイトなどをご利用ください。

「とあるMetaTraderの備忘秘録」のMQL5カテゴリー
http://d.hatena.ne.jp/fai_fx/archive?word=*[MQL5]

では今回は、プログラムをチャートにアタッチすると、1回だけ実行されるスクリプトプログラムについて見ていきます。

スクリプトのサンプルプログラムもMT5にインストールされていますが、このサンプルプログラムは、MQL5で導入された「クラス」という機能を使ったものが多いので、C言語、あるいはMQL4しか知らない人にとってはさっぱりわからないかと思います。

クラスという機能は、そもそもC言語を拡張した「C++」という言語に導入されているものです。これは、独自のデータ構造やそれに関連する関数を作っていく場合に効果を発揮しますが、とりあえず、初心者向けの説明は後回しにします。

「class」というキーワードが入っているプログラムについては、今回は飛ばしていただいて結構です。

では、実際に簡単なスクリプトプログラムを作ってみましょう。

MetaEditorの「File」メニューから「New」を選ぶと、下図のようなWizard画面が現れます。MQL4の場合とほとんど一緒です。

画像(450x269)・拡大画像(609x365)

ここで「Script」を選択してプログラム名(ここでは「test」)を設定すると、次のようなプログラムの雛形が出来上がります。

画像(450x223)・拡大画像(589x292)

このプログラムで、//から始まる行はコメント行#から始まる行はプリプロセッサ命令といったところは、MQL4と同じです。

すると、OnStart()というのが関数のようですが、このOnStart()とは何でしょう?

MQL4の場合、プログラム中に必ず出てくる特殊関数は start()でした。プログラムはstart()関数からスタートするようになっていました。

MQL5のスクリプトプログラムでは、start()の代わりに、OnStart()という関数を使うように変わったのです。

但し、OnStart()を使うのはスクリプトプログラムだけで、カスタム指標プログラムやEAでは、別の関数を特別な関数として使うので注意してください。

詳しくは以下のMQL5のHELPサイトをご覧ください。

http://www.mql5.com/en/docs/runtime/running

では、スクリプトの簡単な例として、売値Bidと買値Askを表示させてみましょう。

MQL4の場合、

Print("Bid=", Bid); 
Print("Ask=", Ask);

と書けばよかったところですが、MQL5では、同じ書き方にすると、コンパイル時にエラーとなってしまいます。

エラーメッセージは
'Bid' - undeclared identifier
'Ask' - undeclared identifier

となります。つまり、BidとAskが宣言されていないという意味です。

実は、MQL4で BidやAskが宣言せずに使えたのは、予め宣言されていて自動的に値が代入される定義済み変数だったからです。

MQL5では Bid、Askは定義済み変数ではありません。では、別の変数名に代わったのかというと、そうでもありません。代わりの変数はないのです。

こうなってしまうと、何も参考資料がなければお手上げです。やっぱり、サンプルプログラムやMQL5のHELPを探していかなくてはなりません。

ということで、続きはまた次回。


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




Posted at 13時47分


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

Sponsor AD

2010/7

        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.