当前位置: 首页 > 工具软件 > MQL4 > 使用案例 >

《用MQL4编程》读书笔记(2)- MQL4基本知识

容俊豪
2023-12-01

 MQL4基本知识

Tick 是在某一时刻到来的、针对某一货币对的、市场新的报价事件。Ticks 是从远处服务器传到本机客户端的。

Control 控制是指程序内部的代码流程,及其与客户端宿主平台MT4的交互。

  • 常量与变量
    A = 7;
    B = A + 3;

    例如,A和B是变量,7和3是常量。

  • 数据结构

    MQL4的数据结构如下:

    int 与C语言的用法相同

    double 与C语言的用法相同

    bool 与C语言的用法相同

    string 不是C语言的字符数组,只能用双引号,如:string text = "Upper Line\nLower Line";(其中,\n 是换行符)

    color 色彩,例如:

    color Paint_1 = C'128,128,128';       // 深灰
    color Colo    = C'0x00,0x00,0xFF';    // 蓝
    color BMP_4   = C'0xFF,0x33,0x00'     // 红
    color K_12  = 0xFF3300;               // 红
    color N_3   = 0x008000;               // 绿
    color Color = 16777215;               // 白
    color Alfa  = 32768;                  // 绿
    color A       = Red;                  // 红
    color B       = Yellow;               // 黄
    color Colorit = Black;                // 黑
    color B_21    = White;                // 白

    datetime 日期时间,例如:

    datetime Alfa    = D'2004.01.01 00:00';       // 新年
    datetime Tim     = D'01.01.2004';             // 新年
    datetime Tims    = D'2005.05.12 16:30:45';    // 2005年5月12日下午4时30分45秒
    datetime N_3     = D'12.05.2005 16:30:45';    // 2005年5月12日下午4时30分45秒
    datetime Compile = D'';                       // 相当于 D'[编译日期] 00:00:00'
    

  • 运算操作与表达式

     MQL4这方面的语法,与C语言相同,包括::

    算术运算

    赋值运算

    关系运算

    逻辑运算

    位操作

    逗号运算符

    函数调用



  • 简单运算与复合运算

    简单运算,是指以分号(;)结尾的表达式,如:
    Day_Next= TimeDayOfWeek(Mas_Big[n][0]+60);   
    Go_My_Function_ind();                      
    a=3;  b = a * x + n;  i++;                 
    Print("   Day= ",TimeDay(Mas_Big[s][0]),   
             "   Hour=",TimeHour(Mas_Big[s][0]),  
             "   Minute=",TimeMinute(Mas_Big[s][0]),
             "   Mas_Big[s][0]= ",Mas_Big[s][0],    
             "   Mas_Big[s][1]= ",Mas_Big[s][1]);
    

    复合运算,包括 if, for, switch 等结构化语句,均与C语言相同。

  • 函数 结构形式、调用方式等,均与C语言相同

  • 程序类型

    MQL4编写的程序,按用途分为3种类型:
    一是“操盘手”。它的英文名称 Expert Advisor (EA) 很难找到恰当的中文表示,我觉得,译成“操盘手”比较有意思。当每次市场报价(tick)到达客户端时,“操盘手”会被调用工作。“操盘手”由用户自行编写,没有系统内建的“操盘手”。
    脚本 script 是客户端一次性运行的程序。脚本也是由用户自行编写,没有系统内建的脚本。
    外建指标,英文叫 custom indicator,直译成“用户自定义指标”,稍嫌啰嗦。而“外建指标”与“内建指标”相对应,有点意思。 当每次市场报价(tick)到达客户端时,外建指标会被调用工作。它的基本用途,是以预先计算的数据显示线条等图形。不能用它进行交易操作。它有系统自带的技术指标(内建指标)与用户自定义的外建指标两种。

    三种程序的不同特点

    程序的特点

    操盘手

    脚本

    指标

    运行周期

    周期较长

    一次性运行

    周期较长

    交易操作

    允许

    允许

    禁止

    显示线条



    在同一货币对窗口使用数个程序

    禁止

    禁止

    允许

    被其他程序调用

    禁止

    禁止

    禁止



 类似资料: