文系人間のためのシステムトレーダー養成所 メタトレーダー講義3 Datatype
--------

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2009-03-08

メタトレーダー講義3 Datatype

それでは訳文です。
この文章はCodersGuruさんの↓が原文の訳になります。(翻訳しての転載に本人の許可はとってあります)
http://www.forex-tsd.com/lessons/208-lesson-8-variables-mql4-2.html


                       MQL4講座
                       Coders'guru
                        www.forex-tsd.com

                             -3-
                       DATA TYPES



私のMQL4の第三回目の講義へようこそ。

シンタックス講義は楽しんでもらえたでしょうか?前回の講義では以下の疑問に対してお答しました。

   ・MQL4ではどのような書式がつかえるのか。
   ・プログラミング世界を分かりやすくするためのコメントはどうやって書き込めるか。
   ・識別子とは何か。またそれを選ぶためのルールは何か。
   ・RQL4の予約語は何か。

今回は予約語の中のData type(情報様式)について取り上げます。楽しみましょう!

Data typeの意味は?

どんなプログラミング言語でも、データの記憶貯蔵庫(memory)の説明をする名前の型を持っています。
例えば、もし-2147483648から2147483648までの数字を記録している記憶貯蔵庫があったとすれば、ほとんどのプログラミング言語は、そのデータをInteger(整数)データタイプだと名付けるでしょう。

変数?

変数とは、データを保存すべき記憶貯蔵庫の場所はどれかを言及する名称です。

このことが鮮明にわかる助けになるように、記憶貯蔵庫は一連のサイズの違う箱であるとイメージしてください。箱の大きさは記憶容量単位(バイト)が要求する記憶貯蔵庫収容空間の大きさです。

     ・データを貯める箱を使うために、その箱は名前をつけられなくてはなりません。この過程を、
      declaration(宣言)といいます。

     ・宣言の過程において、あなたはコンピューターにどのような種類か、そしてどのようなサイズ
      の箱が使いたいかを知らせる言葉を使わなくてはなりません。そのコンピューターに伝える
      言葉をキーワードといいます。キーワードを使って宣言してるわけですね。

     ・もしあなたが情報の種類と関係がある意義のある名称を箱につけたなら、そのデータをより
      簡単に見つけられるようになります。その箱につけた名称のことを変数名(識別子とほぼ同
      義)といいます。

     ・データは、箱にいれられるときに、振り分けられながら箱にいれられます。
     
     ・あなたが作った箱に価値を付けたとき、同じ行であなたは計量値を宣言しています。この過
      程を(変数生成時に指定された値である初期値を格納することになるので)initialization(初
      期化)といいます

私たちが変数を作るとき、私たちの変数に、特定の記憶貯蔵庫の長さ(大きさ)を割り振ってほしいとコンピューターに告げています。文字列や、簡単な数字、文章、大きな数字は同じ記憶貯蔵庫の場所に入れておくことができないので、コンピューターはどのような種類のデータで、どのくらいの長さのデータなのだと私たちに聞くわけです。これがData typeの意味です。

例えば、もし私たちがこのコード文をコンピューターに言う時、
____________________________________________________________________________________________
int MyVaraible=0;
____________________________________________________________________________________________
これは、私たちはコンピューターに4バイトの長さの単位を私たちのつけた変数名称であるMy Variableに与えてくれと頼んでいるわけです。

いま使用した例を使って説明すると
int ←キーワード
int ←Integer data type
int ←Declaration(宣言)
MyVaraible←変数名
=0←初期化

MQL4で、これらはData typeの種類です。

   ・Integer(int)  整数
   ・Boolean(bool)論理型
   ・Character(char)文字
   ・String(string)文字列
   ・Floating-point number(double) 浮動小数点数(小数点が動くので少数と整数に対応)
   ・Datetime(datetime)



1- Integer(整数)

Integerは+ーどちらかの記号から始まる数字です。この範囲の値は-2147483648から2147483648までとなっています。
MQL4は10進法もしくは16進法が使えます。
例えば、以下の数字はIntegerです。
_____________________________________________________________________________________________
12,3,2134,0,-230
0x0A,0x12,0X12,0x2f
____________________________________________________________________________________________
int というキーワードを使うことで、整数の変数を作り出します。

例____________________________________________________________________________________________
int intIntger=0;
int intAnotherintger=-100
int intHexinteger=0x12
_______________________________________________________________________________________________
10進法と16進法について

10進法は10を基本にした数の記述で、アラビア数字(0,1,2,3,4,5,6,7,8,9)を使って数を
表します。これらのアラビア数字は時々端数の最初に小数点をつけて使われたり、+やマイナスの記号とともに数をあらわしたりします。

16進法について。
16進法は16を基本とした数表示で0~9もしくはA~Fまたはa~fの記号を使って表記されます。
例えば、10進法の79を16進法であらわすと4Fと表記することができます。


2-Boolean

Boolean変数はわずか二つの価値しかもつことのできないdata type(情報様式)です。
その二つの価値とはtrue(真)かfalse(偽)で、数字で表記するとしたらば0と1で書かれます。
そしてこれは記憶貯蔵庫の1ビットを占めます。
MQL4ではfalse,FALSE,False,true,TRUE,Trueどれも同じように使えます。

Booleanは偉大な数学者Boole Georgeにちなんで名付けられました。
Boolを使うことによってboolean変数をつくることができます。

例_________________________________________________________________________________________
bool I=true;
bool bFlag=1
Bool bBool=False:
____________________________________________________________________________________________
3-Character(文字定数)

MQL4は、このDatatypeをLiteral(文字の)と名付けています。
Aというアルファベット文字は、ASCII(American Standard Code for Information Interchange)が定められているアルファベット、数字、特殊なキー等計256種類の中の一つの”文字”(整数値)である。
“文字”はASCIIの位置と一致している整数の価値をもちます。
あなたは文字定数を書くときに、その文字の周りにクオーテーションマーク(')をつけなければなりません。(補足です。MQL4では、アルファベットや数値に対してそれぞれ決められた整数値が与えられています。ASCIItableをみて頂きたいのですが、たとえば0なら10進法で48の整数値が、Nなら78の整数値が与えられているわけです。character変数では' 'で囲むことにより、ASCIIに対応してない僕らが普段使っているアルファベットとして使えるようになります。)

例_________________________________________________________________________________________
‘a’, ’$’, ’Z’
____________________________________________________________________________________________
int キーワードを使ってcharacter変数を作り出すことができます。

例_________________________________________________________________________________________
int chrA=’A’;
int chrB=’$’;
____________________________________________________________________________________________
いくつかの文字の中で特別文字と呼ばれている文字があり、それはクオーテーションマークで囲まれても直接あらわすことができません。なぜならば、MQL4言語で、特別な用法として予約されているからです。
ここに私たちが特別な文字を表すためにエスケープシークエンス(拡張表記)とよばれるものを使います。そして、それはバックスラッシュを(╲)その文字の前につけることで表します。
尚、バックスラッシュはキーボード右下の「ろ」のところにおかれていますが、\がでてくるだけでバックスラッシュは通常でてきません。しかし\で代用できます。
 
例_________________________________________________________________________________________
int chrA=’╲╲ ’:  //スラッシュ
int chrB=’ ╲n’; //改行
____________________________________________________________________________________________

これらはMQL4におけるエスケープシークエンスです。
____________________________________________________________________________________________
╲r       復帰(現在の行の先頭位置へ移動する)
╲n       改行
╲t       水平タブ(次の水平タブ位置へ移動する)
╲╲       逆斜線
╲’       ‘
╲”       “
╲xhh       hhは任意の桁数の16進法  
____________________________________________________________________________________________
ascii.png


4-String(文字列)

String data typeは、ダブルクオーテーションマーク(”)で囲まれた一続きの文字列のことです。

一続きの文字列は文字が次々と続いていく配列で、その最初の添字は0からはじまります。
最後の文字データのあとに、NULL文字が次の配列の場所に置かれます。そのあとに使われていない配列の場所があろうが関係ありません。

NULL文字は、特別文字(ASCIIコードの0で表わされる。)で、文字列タイプの終わりの目印として使われます。

下の図をみてください。文字列定数のhelloの、文字配列について説明したものです。(CodersGuruさんのpdfファイルより転送)
 null

MQL4には文字列変数の大きさを255字を限界としており、どのような文字でも255字時を超えると、一般的に次のエラーがでるでしょう(too long string(255 characters maximum))

あなたは上で論じた特別な文字をどれでも前にバックスラッシュ(╲)をいれることによって、文字列定数でも使うことができます。

stringキーワードを使って文字列変数を作り出せます。

例_________________________________________________________________________________________
string str1=”Hello world。Coders guruです”;
string str2=”CopyrightC2005, ╲”Forex-tsd forum ╲”.”  // (“)に注目して
↑これはCopyrightC2005, ”Forex-tsd forum ”. のように表示されるのだと思います(バックスラッシュをいれなければ”はプログラミング上で表示されません。)
string str3=”1234567890”;
____________________________________________________________________________________________

5-浮動小数点(double)

浮動小数点は実数(これは、整数の部分とわけるためにドット.をつけて分数部分も含めることができる。)例をあげれば3, 0, -115, 5, 15, 0.0001等

浮動小数点のとれる値の範囲は-2147483648から2147483648です。

doubleキーワードを使うことによって浮動小数点変数を作り出すことができます。


例_________________________________________________________________________________________
Double dbnumber1=10000000000000;
Double dbnumber3=1/4;
Double dbnumber3=5.75;
____________________________________________________________________________________________

6-Color

Color data typeはMQL4の特別なdata typeです。MQL4は自分のExpert AdviserもしくはCustom Indictorを作った時に、メタトレーダーのチャートに表す色をもっています。そしてユーザーはExpert AdviserもしくはCustom Indictorのプロパティーを使って色を変えることができます。

あなたはcolor変数を以下の三つの方法で定めることができます

1- カラーネームによる指定>:良く知られているウェブカラーセットのカラー名をcolor変数に指定することが可能です。ウェルカラーセットは下を見てください。

2- 文字描写による指定:この方法は、あなたはキーワード(C)のあとにクオーテーションマーク(‘)を二つ使います。二つのクオーテーションマークの間に、赤、緑、青の明度を指定します。これらの明度は0~255までで指定してください。この明度は、10進法でも16進法でも記述することが可能です。

3-整数値による指定:ウェブカラーのすべてのカラーはそれぞれ整数値をもっています。あなたは10進法でも16進法でも記述することができます。そしてあなたはcolor変数を、その色が割り当てられた整数値で指定することができます。16進法での色指定の記述はこのようになります0xBBGGRR BBは青GGは緑RRは赤の明度を表します。

例_________________________________________________________________________________________
//1のカラーネームによる指定
Red
Yellow
Black

//2の文字描写
C’128,128,128’ //灰色
C’0x00,0x00,0xFF’//青

//3の整数値での描写
0xFFFFFF  //白
16777215  //白
0x008000  //緑
32768    //緑
____________________________________________________________________________________________
colorキーワードを使ってcolor変数を作り出します。

例_________________________________________________________________________________________
color clrl=Red;
color clrl=C’128,128,128’;
color clrl=32768;
____________________________________________________________________________________________
ウェブカラー

7-Date time

Datetime data typeはMQL4の特別なdata typeで、それは、データとタイムデータをもちます。あなたはキーワード(D)と、それに続くふたつのクオーテーションマーク(‘)を使用してDatetime変数を設定することができます。
二つのクオーテーションマークの間に、あなたは年、月、日、時間、秒の5つの値の文字列を記述します。
Datetime定数は1970年1月1日から2037年12月31日までの値をとることができます。

例____________________________________________________________________________________________
D’2004,01,01 00:00’//新年
D’1980.07.19 12:30:27’
D’19.07.1980 12:30:27’
D’19.07.1980 12’ // =D’1980.07.19 12:00:00’
D’01.01.2004’ //=D’01.01.2004 00:00:00’
____________________________________________________________________________________________
datatimeキーワードを使うことでdatetime変数をつくりだすことができます。

例_________________________________________________________________________________________
Datetime dtMyBirthDay=D’1972.10.19 12:00:00’;
Datetime dtl=D’2005.10.22 04:30:00’;
____________________________________________________________________________________________
楽しんでいただけましたでしょうか?
次のレッスンは、Operations&Expressionsです。
それでは
Coders’Guru

拙い訳文のなか最後まで読んで頂きありがとうございました。
プログラミング言語の知識がないのでプログラミング言語の辞書も引きながら訳してみたのですが、完璧に訳せているかは自信がありません。なにか誤訳がみつかりましたら教えて下さると幸いです。



押していただけると大変嬉しいです。よろしくお願いします。
人気ブログランキングへ


theme : FXでシステムトレード
genre : 株式・投資・マネー

コメントの投稿

管理者にだけ表示を許可する

管理人のみ閲覧できます

このコメントは管理人のみ閲覧できます

Hello worldを原文に戻しておきました。

ご指摘ありがとうございます。何かわかりづらいところがありましたら質問もしてくださいね。

これからも宜しくお願い致します^^
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。