MQL4 - automated forex trading   /  

参考文档

MQL4 Reference  Basics  Variables  Formal parameters

通过函数的变量 是局部的。范围是在作用块内。在作用之内正式变量的名称必须不同于其他外部定义变量和函数变量。 作用块内的正式变量值已经被赋予。

示例:

void func(int x[], double y, bool z)
  {
   if(y>0.0 && !z)
      Print(x[0]);
   ...
  }

正式参量可能由常数初始化。在这种情况下, 初始化的值作为缺省值被考虑。参量, 在旁边(intialized) , 必须初始化。

示例:

void func(int x, double y = 0.0, bool z = true)
  {
   ...
  }

这样作用显现时, 初始化的参量可能被省去, 缺省值会代替它们。

示例:

func(123, 0.5);

MQL4 资料库功能在外部函数变量 模块之内无法有默认值初始化。

参量值通过。在任何情况下,变量里布局的修改将不会显示在功能板块内。 它是可以通过数列作为参量。但是, 为了数列可以作为变量,需要改变它的数列元素。

它是还可能通过参量参考。在这种情况下, 修改的这样参量将被显示在对应的变量。 数组元素无法参考通过。参量可能只在一个模块参考通过, 数据库不提供。

示例:

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个。