mt4 (MetaTrader4)使い倒シストレ

メタトレーダー、自作インジケータ、自作EAで完全自動売買。使えるものは何でも使え。
インジケーター、EA(自動売買システム)製作のご依頼はこちらへ
Googolyen FX Factory
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


にほんブログ村 為替ブログ FX システムトレード派へ
--/--/--(--) --:--:-- | スポンサー広告 | Trackback(-) | Comment(-)
Formal parameters (引数)
関数の引数はローカル変数である。
参照範囲は関数内である。
引数は外部変数や、関数内で定義されているローカル変数と異なる名前でなければならない。
関数ブロック内で引数に他の値を挿入することができる。

Example:
void func(int x[], double y, bool z)
  {
   if(y>0.0 && !z)
      Print(x[0]);
   ...
  }
引数は定数によって初期化できる。この場合、初期値はデフォルト値である。
初期化された変数の次の変数も初期化されなければならない。

Example:
void func(int x, double y = 0.0, bool z = true)
  {
   ...
  }
このような関数を呼び出す際、初期化変数は省略することができ、その変数の値はデフォルト値となる。

Example:
func(123, 0.5);
他のモジュールからインポートされたMQL4ライブラリ関数の変数はデフォルト値によって初期化することはできない。

関数に渡された変数(すなわち関数内で変更されたローカル変数)の値は、外部から見ることができない。
変数群を複数の配列として渡すことは可能であるが、変数を一つの配列として渡す場合、要素の変更をすることはできない。

参照によって変数を渡すことも可能である(参照渡し)。
この場合、これらの変数の変更は呼び出した側の関数内でも変更されている。
配列要素は参照によって渡すことはできない。
変数の参照渡しは同一モジュール内に限られ、ライブラリー群内ではできない。
変数を参照渡しするためには、データ型の前に&を付けなければならない。

Example:
void func(int& x, double& y, double& z[])
  {
   double calculated_tp;
   ...
   for(int i=0; i< OrdersTotal(); i++)
     {
      if(i==ArraySize(z))       break;
      if(OrderSelect(i)==false) break;
      z[i]=OrderOpenPrice();
     }
   x=i;
   y=calculated_tp;
  }
配列も参照渡しができる上に、元の配列の要素を変更することもできる。簡単な変数とは違って、配列をライブラリ関数へ参照渡しすることもできる。

変数の参照渡しはデフォルト値で初期化することはできない。

変数個数の上限は64個である。

にほんブログ村 為替ブログ FX システムトレード派へ
Trackback
この記事のトラックバックURL
≪この記事へのトラックバック≫
Designed by aykm.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。