Skip to content

注释 标识符 保留字 ​

MQL5编程语言的三大基础语法:注释、标识符和保留字。这三个知识点是编写EA的基石,需熟练掌握。

一、注释 ​

作用:在代码中添加说明性文字,帮助程序员理解逻辑,不影响程序执行。
分类:

  1. 单行注释:以//开头,仅作用于当前行。
    cpp
    // 这是单行注释,解释变量初始化  
    int myVariable = 10;
  2. 多行注释:以/*开头,*/结尾,可跨越多行。
    cpp
    /*  
    这是多行注释  
    可用于解释复杂逻辑或函数功能  
    */  
    void MyFunction()  
    {  
        // 函数内部代码  
    }

最佳实践:

  • 量化EA代码量较小,可选择性添加注释;
  • 工程性项目必须详细注释,避免后期难以维护;
  • 注释需简洁明了,避免冗余。

二、标识符 ​

定义:用于给变量、函数、类等命名的符号。
命名规则:

  1. 允许字符:
    • 字母(A-Z、a-z)
    • 数字(0-9)
    • 下划线(_)
  2. 禁止规则:
    • 不能以数字开头(如1name非法,name1合法);
    • 区分大小写(MyVariable和myVariable是不同标识符);
    • 不能与保留字冲突。
  3. 示例:
    cpp
    // 合法标识符  
    string myString;  
    int age_18;  
    double TotalProfit;

常见命名习惯:

  • 驼峰命名法(推荐):camelCase
  • 下划线命名法:snake_case
  • 匈牙利命名法(可选):iCounter(前缀表示类型)

三、保留字 ​

定义:MQL5语言预定义的具有特殊含义的单词,禁止作为标识符使用。
分类与示例:

  1. 数据类型:bool、float、int、string、datetime等。
  2. 运算符与控制结构:if、else、for、while、break、return等。
  3. 访问修饰符:private、protected、public。
  4. 特殊关键字:true、false、this、template。
  5. 预处理指令:#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。

四、实战案例与注意事项 ​

  1. 错误示例:
    cpp
    int int = 10;  // 错误:int是保留字  
    string String = "Hello";  // 错误:String是保留字(MQL5中string小写)
  2. 正确示例:
    cpp
    int myInt = 10;  
    string myString = "Hello";
  3. 颜色验证:
    • 打开MetaEditor,输入保留字(如int),观察其颜色是否为蓝色;
    • 输入自定义标识符(如myVariable),颜色应为黑色。

Talk is cheap, show me the code!