注释 标识符 保留字
MQL5编程语言的三大基础语法:注释、标识符和保留字。这三个知识点是编写EA的基石,需熟练掌握。
一、注释
作用:在代码中添加说明性文字,帮助程序员理解逻辑,不影响程序执行。
分类:
- 单行注释:以
//
开头,仅作用于当前行。cpp// 这是单行注释,解释变量初始化 int myVariable = 10;
- 多行注释:以
/*
开头,*/
结尾,可跨越多行。cpp/* 这是多行注释 可用于解释复杂逻辑或函数功能 */ void MyFunction() { // 函数内部代码 }
最佳实践:
- 量化EA代码量较小,可选择性添加注释;
- 工程性项目必须详细注释,避免后期难以维护;
- 注释需简洁明了,避免冗余。
二、标识符
定义:用于给变量、函数、类等命名的符号。
命名规则:
- 允许字符:
- 字母(A-Z、a-z)
- 数字(0-9)
- 下划线(
_
)
- 禁止规则:
- 不能以数字开头(如
1name
非法,name1
合法); - 区分大小写(
MyVariable
和myVariable
是不同标识符); - 不能与保留字冲突。
- 不能以数字开头(如
- 示例:cpp
// 合法标识符 string myString; int age_18; double TotalProfit;
常见命名习惯:
- 驼峰命名法(推荐):
camelCase
- 下划线命名法:
snake_case
- 匈牙利命名法(可选):
iCounter
(前缀表示类型)
三、保留字
定义:MQL5语言预定义的具有特殊含义的单词,禁止作为标识符使用。
分类与示例:
- 数据类型:
bool
、float
、int
、string
、datetime
等。 - 运算符与控制结构:
if
、else
、for
、while
、break
、return
等。 - 访问修饰符:
private
、protected
、public
。 - 特殊关键字:
true
、false
、this
、template
。 - 预处理指令:
#define
、#include
、#ifdef
。
完整保留字列表(参考):
cpp
// 数据类型
bool, float, int, string, datetime, double, struct, enum
// 运算符与控制结构
if, else, for, while, break, continue, return, switch, case
// 访问修饰符
private, protected, public
// 特殊关键字
true, false, this, template
// 预处理指令
#define, #include, #ifdef, #ifndef, #endif
快速区分方法:
- 颜色识别:在MetaEditor中,保留字默认显示为蓝色,标识符为黑色。
- 编译错误:若使用保留字命名,编译时会报错:
'int' : identifier is reserved
。
四、实战案例与注意事项
- 错误示例:cpp
int int = 10; // 错误:int是保留字 string String = "Hello"; // 错误:String是保留字(MQL5中string小写)
- 正确示例:cpp
int myInt = 10; string myString = "Hello";
- 颜色验证:
- 打开MetaEditor,输入保留字(如
int
),观察其颜色是否为蓝色; - 输入自定义标识符(如
myVariable
),颜色应为黑色。
- 打开MetaEditor,输入保留字(如