ライブチャットで出会う

MaxSystemFX公式ブログ

EAプログラミング4

みなさん
どうも!

いやー
それにしても暑い!

この暑さに負けない
熱い恋におぼれてみたいTonyです!!


さて、今回はEAプログラム入門(4)ということで、
難易度が少しずつ上がってきますよー!


今回、説明するのは関数です。


int init()やint start()等が関数です。

関数とは、
一連の処理がまとめられているものです。

int init()はEAをセットしたときに自動的に呼び出される関数です。

int deinit()はEAを終了させたときに自動的に呼び出される関数です。

int start()はティックが発生する毎に呼び出される関数です。
EAのプログラムはティック発生がトリガーとなって実行されます。

つまり、このint start()がメインのプログラムの処理といえますね!

上記で説明した関数は"特殊関数"といい、
最初から特別に用意されている関数です。

ですから、initやdeinit、startという名前の関数を
独自で作ることは出来ません。


「え?関数って自分で作れるの?難しくない?」
そう思ったあなた!
関数は作れます!非常に簡単に!

int kansu()
   {
   
   return(0)
   }

はい、これで"kansu"という関数を作りました。

それから、この関数に一連の処理を記載していきます。

int kansu()
   {
  
   int a;
   int b;
  
   int c;
  
   a = 10;
   b = 5;
  
   c = a * b;
  
   return(c);
   }
と処理を追加します。

ちなみに、この*(アスタリスク)は
掛け算の意味を持ちます。

それをメインのスタート関数から呼び出すと・・・

  
int start()
   {
  
   int z;
  
   z = kansu();
  
   Alert(z);
  
   return(0);
   }

さて、ちゃんと50と表示されましたか?

されたならOKです!


int kansu(int x, int y)
   {
  
   int c;
   c = x * y;
  
   return(c);
   }
  
  
int start()
   {
  
   int a;
   int b;
  
   a = 10;
   b = 5;
  
   int z;
  
   z = kansu(a,b);
  
   Alert(z);
  
   return(0);
   }
上記のようにしても同じ結果になります。
関数名の右の()は引数を入れる場所です。

int kansu(int x, int y){
となっているなら、関数を呼び出すときも
z = kansu(a,b);
と、引数の数を合わせないといけません。

この処理を簡単に説明すると、
        「ねぇ、kansuさん。5と10を渡すから、ちょっと掛け算してちょうだい!」
kansuさん「はいよー。5と10を掛けて・・・。はい!一丁あがりっ!」
        「ありがとね!どうもね!」
       
       
・・・kansuに渡す引数の値を変えれば、それに応じた結果が返ってくることになります。

ちなみに関数名の前に付いている"int"とは、
変数と同じく型を定義しています。

変数に関数からの戻り値を代入するときは、
この型に気をつけましょう!!

ここまで出来たなら、
あとはMQL4独自のクセを覚えるだけです!


次回は、
基本的な関数と、実際の処理を解説していきまーす!


次回も、見てくれよな!


最後にTony流プログラム川柳
「関数を 理解するのは 簡単っすぅ」


・・・いや、これはひどい・・・

14点!!

今回はここまで!!

失礼しましたー!!

 

2012年7月27日|コメント (0)

カテゴリー:FXプログラム(EA)完全制覇

コメントを投稿する