Extern Variables
Extern 变量
extern 存储类用于定义外部变量。extern 修饰符位于数据类型之前。
//--- extern parameters
extern int MA_Period=13;
extern int MA_Shift=0;
extern ENUM_MA_METHOD MA_Method=MODE_SMMA;与 input-变量类似,extern 变量也决定了 mql4 程序的输入参数。它们可以在属性窗口中访问。与 input 变量不同,extern 变量的值可以在程序运行期间进行修改。外部变量在调用 OnInit() 之前会立即重新初始化。
示例:
//--- strict compilation mode
#property strict
//--- show input parameters
#property show_inputs
//--- declare extern and input variables
extern int ExtVar=1; // ExtVar extern variable
input int InpVar=2; // InpVar input variable
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- display the values of ExtVar and InpVar variables
PrintFormat("Extern=%d, Input=%d",ExtVar,InpVar);
//--- increase the value of ExtVar variable by one
ExtVar++;
//--- attempt to change the input variable will result in the compilation error
//--- InpVar++;
//--- display the values of ExtVar and InpVar variables
PrintFormat("Extern=%d, Input=%d",ExtVar,InpVar);
}此脚本设置了严格编译模式,并显示了输入参数窗口的输出。因此,字符串注释中设置的数值而不是 ExtVar 和 InpVar 变量名会显示在变量字段中。

注意:数组和 复杂类型的变量不能作为 extern 变量使用。
注意:extern 变量的字符串注释长度不得超过 63 个字符。
另请参阅
最后更新于