メタトレーダー講義2 シンタックス言語
前回に引き続き今回はシンタックス言語についてです。
いろいろ読みづらいところもあると思いますが質問や誤訳等ございましたらお申し付けください。すぐに修正します。
時々文章の中にある茶目っけやハイテンションなところはCodersGuruさんによるもので僕によるものではありません。
この文章はCodersGuruさんのMQL4Lesson3の訳文です。(翻訳しての転載に本人の許可はとってあります)
以下訳文です
MQL4講座
Coders'guru
www.forex-tsd.com
-2-
SYNTAX
あなたは最初のウェルカムレッスンでMQL4とは何か、なぜMQL4なのか、MQL4はどこかという非常に基本的な質問を解き明かしたが、楽しんで頂けましたか?
常にもっとも重要な質問はどのように です。その質問についての答えはこれからのレッスンによって明らかにしていきたいと思います。
さて、今、あなたの頭の中から雑念を取り除いて空っぽの状態にしていただき、次の概念を注意深く読んでください。
今日話していることはMQL4のシンタックス言語のルールにたいするものです。
そして以前あなたに言ったようにもしあなたがC言語(もしくはC++)を操ったことがあるのならば、もう私がレッスンを始める前にたくさんのMQL4を知っていることになるでしょう。
なぜなら、MQL4のシンタックス言語はとてもC言語に似通っているからです。
シンタックスのプログラミング言語における項目を辞書で調べてみましょう。
"出力する際に、使用を許可されている予約後や、変数、正しい論理構造の型をシンタックス言語という"
だから、私たちが新タックス言語を学ぶとき、同時にシンタックス言語の文法や記述のルールを学ばなければなりません。それは以下の四つが含まれています。
・フォーマット
・コメント
・識別子
・予約語
さぁ始めましょう。
1-フォーマット
あなたがコードを書くとき、あなたは自由にスペースやタブ、改行を使って、自分が見やすいように、コードを分けたり、区切ったりすることができます。
例をあげると、これらの文はMQL4ですべて適用されます。
____________________________________________________________________________________________
double MacdCurrend,MacdPrevious,SignalCurrent;
___________________________________________________________________________________________
double
MacdCurrend,
MacdPrevious,
SignalCurrent;
____________________________________________________________________________________________
double MacdCurrend, MacdPrevious, SignalCurrent;
____________________________________________________________________________________________
でも、まぁ見て頂ければ、一番最初の文が最も見やすく理解しやすいのではないでしょうか。
そして、世界万事の共通事項ですが、このルールにも例外があります。
1-"コンパイラ制御"の中で改行してはならない。
コンパイラ制御については次のレッスンで説明するので、今はただこのことだけを記憶しておいてください。
たとえば、次のコード分は、適応されません。
____________________________________________________________________________________________
#property
copyright"Copyright C 2004.MetaQuotes Software Corp,"
____________________________________________________________________________________________
こちらは適応されるコンパイラ制御です。
____________________________________________________________________________________________
#property copyright"Copyright C 2004.MetaQuotes Software Corp,"
____________________________________________________________________________________________
2-定数、予約語、識別子のなかで改行してはならない。
たとえば、この文は適応されます。
____________________________________________________________________________________________
extern int MA_Period=13;
____________________________________________________________________________________________
"extern"と"int"は予約語。"MA_Period"は識別子"13"は定数です。
次のレッスンであなたはより詳しくなるでしょう。
次の文は適応されません。
____________________________________________________________________________________________
extern int MA_Period=1
3;
____________________________________________________________________________________________
ex
tern int MA_Period=13;
____________________________________________________________________________________________
extern int MA_Period=1 3; (タブが1と3の間に入っている。)
____________________________________________________________________________________________
2-コメント
プログラミングの世界を簡単にするために、プログラミング言語の中には、コメントを書くためのスタイルをもっているものがあります。
あなたはコード内に、コンパイラーが読み取らない文を記述することができます。それはあなたのコードを理解しやすく、はっきりさせることができます。
もしあなたが夏にプログラムを書いて、冬にそのプログラムを読み直すことがあったと仮定しましょう。
もしコメントがなかったら、あなたがもし仮にプログラマーだったとしても、パズルのような文をすべて理解することはできないでしょう。
MQL4(&C/C++)は、二種類のコメントスタイルがあります。
1-一行コメント
この一行コメントは、始まりに // をいれて、終りに改行すれば適応されます。
例えば
____________________________________________________________________________________________
//これはコメント
extern int MA_Period=13;
____________________________________________________________________________________________
____________________________________________________________________________________________
extern int MA_Period=13//これはまた別のコメント
____________________________________________________________________________________________
2-数行コメント
数行のコメントをする場合には、始まりに /* をいれ、終りに */ をいれます。
文の一行めの始まりに /* をいれ、最後の行の文の終りに */ を入れることによって、数行のコメントをすることができるのです。
例
____________________________________________________________________________________________
/*これ
は
複数
行の
コメントです*/
____________________________________________________________________________________________
以下のように、一行コメントを複数行コメントの中に入れ込むこともできます。
____________________________________________________________________________________________
/*これ
は
複数 //別のコメントはここに入り込んでいるよ。
行の
コメントです*/
____________________________________________________________________________________________
これは適応されます。
____________________________________________________________________________________________
extern int /*こんにちは!ぼくはコメントだよ*/MA_Period=13;
____________________________________________________________________________________________
でもこれは適応されません。
____________________________________________________________________________________________
extern int //テスト MA_Period=13;
____________________________________________________________________________________________
3-識別子
識別子は、あなたが変数、定数、関数につけるのに選ぶ名前です。
たとえば、ここで使われているMA_Periodは識別子です。
____________________________________________________________________________________________
extern int MA_Period=13;
____________________________________________________________________________________________
識別子の名前を選ぶにはいくつかのルールや制限があります。
1-識別子の長さは31字以上になってはならない。
2-識別子は文字(小文字でも大文字でも可)もしくはアンダーバー "_" から始めなくてはならない。
つまり、数字やアンダーバー以外のその他の記号から始めることはできない。
3-あなたは如何なる予約語も識別子として使うことはできない。
+次の項目で予約語のリストがあります。
4-識別子の名前はとても敏感な問題であるので、
MA_PERIODも、ma_periodも、MA_Periodも同じじゃありません。
5-アンダーバー以外の記号を使ってはならない。
例をいくつか見てみましょう。
____________________________________________________________________________________________
Name1 適応
_Name1 適応
1Name 不適応(先頭が数字)
~name1 不適応(記号で使っていいのはアンダーバーだけ)
N~ame1 不適応(上に同じ)
i_love_my _country_and_my_country_loves_all_the_world 不適応(31字を超えている)
Color 適応
color 不適応(予約語のなかにcolorが入っている)
____________________________________________________________________________________________
4-予約語
言葉をつかって特定の行為を引き出す語があります。
それらは言語用法として登録されているために、それを識別子や、その他の目的で使うことができません。
これはそれらの予約語のリストです。
____________________________________________________________________________________________
data types memory classes operators other
bool extern break false
color static case true
datetime continue
double default
int else
string for
void if
return
switch
while
____________________________________________________________________________________________
例えば次の文のコードは適応されません。
____________________________________________________________________________________________
extern int detetime=13;
int extern=20;
double continue=0;
____________________________________________________________________________________________
楽しんでいただけたでしょうか。
次の講義は"Data type"についてです!
準備はできていますか?いよいよ難しいところがやってきましたよ!
それではまた。
Coders'Guru
以上です。誤訳等が見つかりましたら教えていただけると助かります。
わかりづらい訳のなか最後まで読んで頂きありがとうございました。
<押していただけると大変嬉しいです。よろしくお願いします。


それでは訳文です。
この文章はCodersGuruさんの↓が原文の訳になります。(翻訳しての転載に本人の許可はとってあります)
http://www.forex-tsd.com/lessons/208-lesson-8-variables-mql4-2.html
いろいろ読みづらいところもあると思いますが質問や誤訳等ございましたらお申し付けください。すぐに修正します。
時々文章の中にある茶目っけやハイテンションなところはCodersGuruさんによるもので僕によるものではありません。
この文章はCodersGuruさんのMQL4Lesson3の訳文です。(翻訳しての転載に本人の許可はとってあります)
以下訳文です
MQL4講座
Coders'guru
www.forex-tsd.com
-2-
SYNTAX
あなたは最初のウェルカムレッスンでMQL4とは何か、なぜMQL4なのか、MQL4はどこかという非常に基本的な質問を解き明かしたが、楽しんで頂けましたか?
常にもっとも重要な質問はどのように です。その質問についての答えはこれからのレッスンによって明らかにしていきたいと思います。
さて、今、あなたの頭の中から雑念を取り除いて空っぽの状態にしていただき、次の概念を注意深く読んでください。
今日話していることはMQL4のシンタックス言語のルールにたいするものです。
そして以前あなたに言ったようにもしあなたがC言語(もしくはC++)を操ったことがあるのならば、もう私がレッスンを始める前にたくさんのMQL4を知っていることになるでしょう。
なぜなら、MQL4のシンタックス言語はとてもC言語に似通っているからです。
シンタックスのプログラミング言語における項目を辞書で調べてみましょう。
"出力する際に、使用を許可されている予約後や、変数、正しい論理構造の型をシンタックス言語という"
だから、私たちが新タックス言語を学ぶとき、同時にシンタックス言語の文法や記述のルールを学ばなければなりません。それは以下の四つが含まれています。
・フォーマット
・コメント
・識別子
・予約語
さぁ始めましょう。
1-フォーマット
あなたがコードを書くとき、あなたは自由にスペースやタブ、改行を使って、自分が見やすいように、コードを分けたり、区切ったりすることができます。
例をあげると、これらの文はMQL4ですべて適用されます。
____________________________________________________________________________________________
double MacdCurrend,MacdPrevious,SignalCurrent;
___________________________________________________________________________________________
double
MacdCurrend,
MacdPrevious,
SignalCurrent;
____________________________________________________________________________________________
double MacdCurrend, MacdPrevious, SignalCurrent;
____________________________________________________________________________________________
でも、まぁ見て頂ければ、一番最初の文が最も見やすく理解しやすいのではないでしょうか。
そして、世界万事の共通事項ですが、このルールにも例外があります。
1-"コンパイラ制御"の中で改行してはならない。
コンパイラ制御については次のレッスンで説明するので、今はただこのことだけを記憶しておいてください。
たとえば、次のコード分は、適応されません。
____________________________________________________________________________________________
#property
copyright"Copyright C 2004.MetaQuotes Software Corp,"
____________________________________________________________________________________________
こちらは適応されるコンパイラ制御です。
____________________________________________________________________________________________
#property copyright"Copyright C 2004.MetaQuotes Software Corp,"
____________________________________________________________________________________________
2-定数、予約語、識別子のなかで改行してはならない。
たとえば、この文は適応されます。
____________________________________________________________________________________________
extern int MA_Period=13;
____________________________________________________________________________________________
"extern"と"int"は予約語。"MA_Period"は識別子"13"は定数です。
次のレッスンであなたはより詳しくなるでしょう。
次の文は適応されません。
____________________________________________________________________________________________
extern int MA_Period=1
3;
____________________________________________________________________________________________
ex
tern int MA_Period=13;
____________________________________________________________________________________________
extern int MA_Period=1 3; (タブが1と3の間に入っている。)
____________________________________________________________________________________________
2-コメント
プログラミングの世界を簡単にするために、プログラミング言語の中には、コメントを書くためのスタイルをもっているものがあります。
あなたはコード内に、コンパイラーが読み取らない文を記述することができます。それはあなたのコードを理解しやすく、はっきりさせることができます。
もしあなたが夏にプログラムを書いて、冬にそのプログラムを読み直すことがあったと仮定しましょう。
もしコメントがなかったら、あなたがもし仮にプログラマーだったとしても、パズルのような文をすべて理解することはできないでしょう。
MQL4(&C/C++)は、二種類のコメントスタイルがあります。
1-一行コメント
この一行コメントは、始まりに // をいれて、終りに改行すれば適応されます。
例えば
____________________________________________________________________________________________
//これはコメント
extern int MA_Period=13;
____________________________________________________________________________________________
____________________________________________________________________________________________
extern int MA_Period=13//これはまた別のコメント
____________________________________________________________________________________________
2-数行コメント
数行のコメントをする場合には、始まりに /* をいれ、終りに */ をいれます。
文の一行めの始まりに /* をいれ、最後の行の文の終りに */ を入れることによって、数行のコメントをすることができるのです。
例
____________________________________________________________________________________________
/*これ
は
複数
行の
コメントです*/
____________________________________________________________________________________________
以下のように、一行コメントを複数行コメントの中に入れ込むこともできます。
____________________________________________________________________________________________
/*これ
は
複数 //別のコメントはここに入り込んでいるよ。
行の
コメントです*/
____________________________________________________________________________________________
これは適応されます。
____________________________________________________________________________________________
extern int /*こんにちは!ぼくはコメントだよ*/MA_Period=13;
____________________________________________________________________________________________
でもこれは適応されません。
____________________________________________________________________________________________
extern int //テスト MA_Period=13;
____________________________________________________________________________________________
3-識別子
識別子は、あなたが変数、定数、関数につけるのに選ぶ名前です。
たとえば、ここで使われているMA_Periodは識別子です。
____________________________________________________________________________________________
extern int MA_Period=13;
____________________________________________________________________________________________
識別子の名前を選ぶにはいくつかのルールや制限があります。
1-識別子の長さは31字以上になってはならない。
2-識別子は文字(小文字でも大文字でも可)もしくはアンダーバー "_" から始めなくてはならない。
つまり、数字やアンダーバー以外のその他の記号から始めることはできない。
3-あなたは如何なる予約語も識別子として使うことはできない。
+次の項目で予約語のリストがあります。
4-識別子の名前はとても敏感な問題であるので、
MA_PERIODも、ma_periodも、MA_Periodも同じじゃありません。
5-アンダーバー以外の記号を使ってはならない。
例をいくつか見てみましょう。
____________________________________________________________________________________________
Name1 適応
_Name1 適応
1Name 不適応(先頭が数字)
~name1 不適応(記号で使っていいのはアンダーバーだけ)
N~ame1 不適応(上に同じ)
i_love_my _country_and_my_country_loves_all_the_world 不適応(31字を超えている)
Color 適応
color 不適応(予約語のなかにcolorが入っている)
____________________________________________________________________________________________
4-予約語
言葉をつかって特定の行為を引き出す語があります。
それらは言語用法として登録されているために、それを識別子や、その他の目的で使うことができません。
これはそれらの予約語のリストです。
____________________________________________________________________________________________
data types memory classes operators other
bool extern break false
color static case true
datetime continue
double default
int else
string for
void if
return
switch
while
____________________________________________________________________________________________
例えば次の文のコードは適応されません。
____________________________________________________________________________________________
extern int detetime=13;
int extern=20;
double continue=0;
____________________________________________________________________________________________
楽しんでいただけたでしょうか。
次の講義は"Data type"についてです!
準備はできていますか?いよいよ難しいところがやってきましたよ!
それではまた。
Coders'Guru
以上です。誤訳等が見つかりましたら教えていただけると助かります。
わかりづらい訳のなか最後まで読んで頂きありがとうございました。
<押していただけると大変嬉しいです。よろしくお願いします。


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