找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
首页论坛EAHub 外汇论坛
查看: 13|回复: 0

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

[复制链接]

4万

主题

54

回帖

4万

积分

管理员

积分
45954
发表于 2026-8-23 00:53:00 | 显示全部楼层 |阅读模式
//+------------------------------------------------------------------+
//|                                                          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);
}
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|EAHub外汇论坛

GMT+8, 2026-10-12 10:38 , Processed in 0.106963 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表