量化交易之MQL4篇 - 脚本基础、枚举\input\extern等特殊变量定义、自定义函数修改外部传进来的参数

//+------------------------------------------------------------------+
//|                                                          foo.mq4 |
//|                                      Copyright 2018, Tang Qizhe. |
//|                                            https://www.baidu.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2018, Tang Qizhe."
#property link      "https://www.baidu.com"
#property version   "1.00"
#property strict


// 加上这句代码后, 脚本运行之前会有弹窗
#property show_inputs


// 枚举值后面只要有注释, EA的外部参数就显示注释的内容; 枚举值后面如果没有注释, EA的外部参数就显示枚举值变量的名字
enum week {
   monday = 15, // 星期一
   tuesday = 16, // 星期二
};


// input和extern的区别: input修饰的变量在程序内部不可以被修改(类似于const);
input week weekValue = monday;
extern double someFoo = 1360.55;


// 颜色的名称或日期的格式记不住的话,可以直接把光标移在color上按F1键
color colorValue = Blue;
datetime dateValue = D'2015.01.01 00:00';



void OnStart() {
   
   const string varString = "varString";
   
   /*
   double varValue = 1300;
   // 将varValue存储到数据库中
   GlobalVariableSet(varString, varValue);
   */
   
    // 根据字符串varString取得varValue.
   double getVarValue = GlobalVariableGet(varString);
   Print("getVarValue", getVarValue);
   
   
   
   int value1 = 4;
   int value2 = 5;
   int addValue = addValue(value1, value2);
   
   Print("value1: ", value1, "   value2: ", value2, "   addValue: ", addValue);
}
// 在自定义函数内修改外部传进来的参数
double addValue(int &value1, int &value2) {
   
   value1 *= 2;
   value2 *= 2;
   
   return (value1 + value2);
}

你可能感兴趣的:(量化交易之MQL4篇 - 脚本基础、枚举\input\extern等特殊变量定义、自定义函数修改外部传进来的参数)