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

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

 

2009年11月10日(火)

CとMQL4の違い [プログラミング]



前回紹介したCプログラムとMQL4プログラムを再掲します。

Cプログラム

#include < stdio.h >
#include < stdlib.h >

int main()
{
printf("Hello World¥n");
system("pause");

return 0;
}


MQL4プログラム
int start()
{
Print("Hello World¥n");

return(0);
}


今回は、この最も簡単なプログラムの中でもわかる、CとMQL4の違いについて説明します。

■#include 命令について

Cプログラムでは、通常、< stdio.h >や< stdlib.h >といったヘッダファイルを #include 命令で読み込みます。

これらのヘッダファイルには、利用する関数(ここでは、printf()やsystem())の宣言が書いてあります。これらの関数はC言語に標準に組み込まれている関数です。コンパイラによっては宣言しなくてもエラーにならない場合もありますが、関数のパラメータや戻り値の型をチェックする都合上、宣言する方が安全です。

一方、MQL4では、関数の宣言についてはいい加減です。Print()のような標準で組み込まれている関数は宣言なしで使うことができます。従って、独自の関数を使う場合を除いて、通常は #include 命令を書くことはありません。

■main()関数とstart()関数

Cプログラムでは、最初に実行される関数は必ず main()関数という決まりがあります。

これと同じようにMQL4プログラムでは、最初に実行される関数は start()という決まりになっています。ただし、MQL4では、他にも init()deinit()という特別な役割をもつ関数があります。

ちなみにMQL5では、特別な関数がもっとたくさん定義されています。ややこしいので省略します。

■return の書き方

どちらのプログラムでも関数の最後に return 文が書かれています。

return文というのは、関数の戻り値を指定する文で、それぞれ int main()、int start() と宣言されているので、int型、つまり整数値を返す必要があります。

main()、start()関数など、その戻り値をさらに別のプログラムから利用しない場合は特に書かなくてもよいのですが、ここでは、形式的に書いてあるだけです。

細かい違いなのですが、Cプログラムの場合、return する値は return 0 のようにそのまま書いていいのですが、MQL4では、return 0 ではエラーになり、必ず、()で囲んで return(0) と書く必要があります。

もっともCプログラムで return(0) と書いても間違いではないので、どちらも return(0)と書くと覚えておいても差し支えありません。

なお、Cプログラムに出てくる system("pause") という文ですが、これは、コマンドプロンプト上で「pause」というコマンドを実行することを意味します。pause はキー入力待ちをするコマンドで、何かキーを押すと終了します。

これがないと、「Hello World」と表示してすぐにコマンドプロンプト画面も閉じてしまいます。出力した結果を残すためのコマンドということです。深い意味はありません。


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




Posted at 16時03分


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

Sponsor AD

2009/11

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          

プロフィール

豊嶋久道

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

PHOTO

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

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

カテゴリーリスト

最近の記事

検索


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

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

RSS1.0

[Login]


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