手机版
  • MT4编程初级手册(3):自定义变量
    一、自定义变量在使用前,必须先声明(定义),向系统声明变量的类型和名称。 创建时可同时进行赋值(赋默认值),也可以不赋值。MQ语法中自定义变量的名称可以使用中文字符。 例子: int flag; 创建一个整型变量,变量...
  • MT4编程初级手册(6):市场数据取值
    一、预定义数组(MT4已经预先定义好了的,可直接调用) 开盘价、最高价、最低价、收盘价、成交量等市场历史数据,每根K线实体都各自有一个,所以必须使用数组来调用,MT4有几个预定义数组,预定义的意思就是这些数据都是被准备...
  • MT4编程初级手册(5):自定义数组
    一、数组是一组同类型变量的集合,可以以一个名称同时存储多个数值,由索引来调用,在实现我们EA的算法时是一个非常重要的工具。 例:int arrai[5]={5,4,3,2,1}; 这是一个数组名为arrai、包含了5个元素的整数型数组(即数...
  • MT4编程初级手册(8):循环语句
    一幅K线图有几千上万条K线(Bar,根据设定的样本数),每根K线Bar又各有开收盘价、收盘价、最高低价等数值,而且还有很多移动平均线、MACD、RSI等技术指标数值。 面对大量的数据,我们经常采用循环来实现数据的取值和赋值。下...
  • MT4编程初级手册(7):条件判断语句
    一、if判断语句 if判断语句很常用,使用起来也比较简单。 规则:如果小括号中的条件成立则执行大括号中的语句;如果不成立则跳过大括号,执行后面的语句。 例如: if(condition==1){ a=b+1; } 我们在编写报警指标的...
  • MT4编程初级手册(10):一条指标线的实例
    MT4编程初级手册(10):一条指标线的实例
    我们现在以一个简单的实例来给大家讲述如何进行EA的开发。要画指标线,只要在程序中写明以下几点就可以了: 第一、定义指标线所在窗口,是主图还是副图。 第二、创建数组,用以保存指标线在各个位置上的值。 第三、要建立...
  • MT4编程初级手册(9):MT4自定义指标的结构
    MT4编程初级手册(9):MT4自定义指标的结构
    MT4自定义指标一般由四个部分所组成: (1)文件头部; (2)参数、变量和数组的定义; (3)初始化函数init(); (4)主函数start()。 一、文件头部,也称为预处理程序 预处理程序以“#”开头,行尾无语句结束符“;”。 常用的预处...
  • MT4编程初级手册(11):使用MT4的报警功能
    MT4编程初级手册(11):使用MT4的报警功能
    报警功能是MT4的一个特色功能。它可以在预定的条件达到时,给用户发出警报。见图: 与指标画线相比,报警语句则显得相对简单,只要在判断语句中加一个报警的指令语句即可。 报警方式有:弹出窗口报警、音乐报警、邮件报警...
  • 外汇EA的种类
    这几年国内外的外汇EA技术有了极大的发展,各种新型外汇EA不断涌现,我仅对其进行大概的分类,不够完善和严谨之处,敬请原谅。 1、趋势类 最常见也是最成熟的类型,趋势类。最为主流的EA类型,一般根据各种指标和策略来进行出...
  • EA编程教程第二讲 数据类型
    所有的程序就是对数据进行操作,我们根据不同的需求对数据定义不同的类型,比如数字类型的数据用于操作数组。价格数据使用浮点型类型数据,MQL本身没有货币类型的数据类型。不同的数据类型有着不同的处理速度,其中整形处...
  • EA编程教程第四讲 操作符与表达式
    简介:计算操作符有 +,-,*,/ 。%(求余),bool类型运算符(&&代表“与”,||代表“或”)。赋值运算符,=,+=,*=.1 表达式,例如:a++; b = 10;x = (y * z) /(w + 2) + 127;表达式必须以;号结尾。2 算术运算,例如:加法运算:i = j + 2;减法运...
  • EA编程教程第三讲 数据类型转换
    MQL语言目前仅支持隐式转换,MQL目前可以做一下数据类型自动转换。int(bool, color, datetime) 可转换成 double 或 stringdouble 可转换成 string,除了以上两种转换外,不能进行其他的数据类型转换,如:int i = 1 / 2; /...
  • EA编程教程第六讲 函数
    函数就是一个有某种功能的程序块,我们可以在程序的各个地方调用函数。一个函数由返回类型,函数名,函数参数构成。函数的参数最多不能超过64个。例如:一个实现加法功能的函数, double Add(double a, double b) { return...
  • EA编程教程第五讲 操作符
    1 复合语句。一个复合操作(版块)有一个或多个语句构成,他们由大括号和小括号({})包括起来,注意小括号后面不需要分号(;) 例如:if(x==0){Print("invalid position x=",x);return;}2 表达式一个表达式由分号(;)结束,一个分号(;)也...