スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
メタバイザー
スポンサー広告  

メタトレーダー講義 第2回 シンタックス言語
こんにちわ。FXボーイです。

さて、今回の講義はシンタックス言語についてです。

いろいろ読みづらいところもあると思いますが質問や誤訳等ございましたらお申し付けください。すぐにメタバイザーが修正します。
時々文章の中にある茶目っけやハイテンションなところはCodersGuruさんによるもので僕によるものではありません

この文章はCodersGuruさんのMQL4Lesson3の訳文です。(翻訳しての転載に本人の許可はとってあります)

それでは、Coders'Guruさんの講義が始まります。





                   メタトレーダー講義
                       Coders'guru
                        www.forex-tsd.com

                             -2-
                         シンタックス



前回の私の最初の授業となるウェルカムレッスンでは、
・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




メタバイザーによる補足説明

さて、今回はメタトレーダーでプログラミングを作成していく中での記述法を解説して頂いた。

言うなれば、メタトレーダーが読み取れるようにするコードの文法を取り上げて解説したのが今回の講義ということになる。

今回の講義で実際プログラミングを書く時に特に覚えておいてほしいのが、識別子のルールの4番目。

4-識別子の名前はとても敏感な問題であるので、
 MA_PERIODも、ma_periodも、MA_Periodも同じじゃありません。


これを間違ってコンパイルエラーになるケースが多いので、大文字と小文字の区別をしっかりすることを心がけてほしい。

また何か質問や意見があれば、メタバイザーの放課後まで遊びに来てほしい。 

それではまた会おう。お疲れ様。


人気ブログランキングに参加している。
にほんブログ村 為替ブログ FX システムトレード派へ
もしよろしければ応援してほしい。どうもありがとう。

ちなみにブログをやっているメタトレーダー仲間は から見ることができる。


最後まで読んでくれたことに感謝している。



メタバイザー
メタトレーダー講義   0

:システムトレード - :株式・投資・マネー


http://metavicer.blog61.fc2.com/tb.php/57-64e572ba
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。