文系人間のためのシステムトレーダー養成所 メタトレーダー講義2 シンタックス言語
--------

スポンサーサイト

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

メタトレーダー講義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

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

コメントの投稿

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

管理人のみ閲覧できます

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

×
2-識別子は文字(小文字でも大文字でも可)もしくはアンダーバー "_" から始めてはならない。


2-識別子は文字(小文字でも大文字でも可)もしくはアンダーバー "_" から始めなくてはならない

誤文がありましたので訂正しました。

ご指摘頂いた方本当にありがとうございました。
今後とも本サイトをお楽しみください^^
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。