龙听期货论坛's Archiver






 微信: QQ:

龙听 发表于 2017-10-30 14:50

[转载]MT4编程入门1-3

MT4编程教程

MT4编程入门1:MT4自定义指标的基本操作
MT4自定义指标的保存目录、指标编缉器与指标调用
一、MT4自定义指标保存在C:Program FilesMetaTrader 4expertsindicators这个目录中,


该目录中主要有二种类型的文件,
一种是mq4文件,这是MT4自定义指标的源码文件,是一种高级语言文件,可以人工编写修改,机器不能直接执行,但能在MT4启动时自动编译为ex4可执行文件。
另一种就是ex4文件,这是MT4自定义指标的可执行文件,由mq4文件编译得到。
mq4文件必须编译为ex4文件才能被MT4执行。
但ex4文件是机器码文件,人工不可修改

另外还有一个文件是mqlcache.dat,它用来保存目录中的文件信息,如果MT4无法自动编译,只要删除此文件即可解决问题

mq4文件编译为ex4可执行文件有两种方法:
1、MT4启动时,会自动把此目录中的mq4文件编译为ex4文件。

2、用MQ语言编辑器打开mq4文件,点一下“编写”按钮,即可生成ex4文件


二、下载保存mq4文件、ex4文件

在论坛上我们经常看到有mq4文件、ex4文件可供下载,我们只要把它们保存到C:Program FilesMetaTrader 4expertsindicators这个目录,也就是下面这个目录中,就可以了。如果下载的是ex4文件,那可以直接调用;如果是mq4文件,则需要重启动MT4,让系统自动编译生成ex4可执行文件。如果下载的是rar、zip等类型的压缩文件,还必须下载后解压到此目录才能使用。

三、将源码保存为源码文件
在论坛上,我们也经常能看到指标源码贴在网页上,但没有mq4、ex4等文件可以下载,只能复制源码。此时需要我们自己动手将源码保存为源码文件,那也没关系,非常地简单,多点几下鼠标就搞定。
1、打开MQ语言编辑器


2、在MQ语言编辑器中新建一个文件,文件名一定要输,别的随便操作都没关系。



3、删除新文件里面的所有内容,成为一个空文件,


4、接着我们就可以将网页上源码复制粘贴进来
试着点一下“编写”,如果左下角出现“0错误,0警告”,那说明源码没问题,编译通过了,成功生成了ex4可执行文件

5、还有很重要的一点,就是要把源码文件保存到正确的目录中


保存后,再点一下编写。

到此,源码保存完成。

当然,我们也还有另的办法:

可以打开一个原已存在的mq4文件,然后另存为你需要的文件名,再删除文件中的所有内容成为空文件,把网页上的源贴到文件中保存即可

也可以在记事本中新建一个文件,把网页上的源码贴进记事本,然后取个文件名保存到上面提到的目录,不过文件后缀必须输入mq4,保存类型选择“所以文件”

四、mt4程序调用自定义指标

这非常简单




MT4编程入门2:指标源码中的常用符号说明
一、注释符:单行注释“//”、多行注释“”
程序不执行注释,注释内容仅供阅读或保留不用的语句
在MQ语言编辑器中,注释内容以灰色显示

二、分号“;”
表示一个语句结束

三、逗号“,”
表示一个语句内部间隔,不结束语句。

四、等于号“=”
赋值语句,把等号后面的值赋给等号前的变量中

五、加号“+”
整数或小数,则表示值相加;字符串,则表示前后连接。

六、加加“++”
表示把符号前的变量值加1,例如:“i++;”  这实际上就是:“i=i+1;”的简写,表示i的值加1

七、加等于“+=”
表示把符号后的值加到符号前的变量中。例如“i+=2;”,实际上就是“i=i+2;”的简写,表示i的值加2

八、双等号“==”
等于号。用于逻辑判断,双等号前后值相等,则返回逻辑值“真true”;双等号前后值不相等,则返回逻辑值“假false”

九、叹号等号“!=”
不等于号。用于逻辑判断,不等号前后值不相等,则返回逻辑值“真true”;不等号前后值相等,则返回逻辑值“假false”

十、“&&”
逻辑符“并且”

十一、“||”
逻辑符“或者”

十二、大括号“{}”
表示函数体。
{}内部为函数体语句。
MT4编程入门3:自定义变量

MT4编程入门3:自定义变量
一、自定义变量在使用前,必须先创建(定义),设定变量的类型和名称。
创建时可同时赋值,也可以不赋值。名称可以使用中文字符。
例:
int  mark;           创建一个整型变量,变量名为“mark”。
bool 是否报警=true;  创建一个逻辑型变量,变量名为“是否报警”,同时,赋初值“true”

二、类型和类型定义词
自定义变量的基本类型有:
1、整形(int):就是整数,包括负整数
2、双精度小数(double):可以简单地理解为带小数位的数
3、字符串型(string)。
4、逻辑型(bool):其值分别为“true、false”,即“真、假”,也可以写成“1、0”(1真,0假)。
类型定义词仅在创建变量时使用,后面使用变量时,就不能再加类型定义词了

三、附加变量
附加变量就是在程序投入使用后,变量值允许用户自由更改的变量,一般用作程序参数。
一般指标,例如MACD(12,26,9)参数输入就是通过附加变量实现,(12,26,9)分别为三个附加变量的默认值。
定义附加变量只需在变量定义语句前加“extern”
例:
extern int 周期=9;  创建一个整型附加变量,变量名为“周期”,默认值为9,允许用户在程序外部修改参数值
TOP

MT4编程入门4:自定义函数
MT4编程入门5:自定义数组
MT4编程入门6:市场数据取值
MT4编程入门7:判断语句
MT4编程入门8:循环
MT4编程入门9:MT4自定义指标的结构
MT4编程入门10:画一条指标线
MT4编程入门11:MT4的报警

页: [1]
渠道·推广(20年运营值得信赖!)▼:温馨提示:期货论坛稳定、流畅的访问体验有赖于赞助商的广告支持,赞助商业务内容非本站官方业务,期货、证券及外汇投资均有亏损的风险,访问赞助商广告即代表您已了解其中的风险。欢迎意向赞助商联系客服或管理员咨询相关事宜。
                     
❤️2025年通过期货论坛开户享受如下优惠政策:政策一:手续费最低交易所+1分起,政策二:日内炒单及大资金享更高比率返还,政策三:保证金可申请交易所标准+0,政策四:开户即享有论坛Prime会员资格(价值199元/年),开户咨询管理员或右侧客服! 😋欧美期货杂志购买、下载与中文翻译:/thread-10603-1-1.html |TB/MC开户优惠政策:/thread-5986-1-1.html2025年最新交易所手续费表:/thread-7537-1-1.htmlSC2.png2025年最新中文翻译:/thread-160355-1-1.html;
欧美期货程序化期刊中文翻译目录: 【1982/83.01-12期】 【1984.01-12期】 【1985.01-12期】 【1986.01-12期】 【1987.01-12期】 【1988.01-12期】 【1989.01-12期】 【1990.01-12期】 【1991.01-12期】 【1992.01-12期】 【1993.01-12期】 【1994.01-12期】 【1995.01-12期】 【1996.01-12期】 【1997.01-12期】 【1998.01-12期】 【1999.01-12期】 【2000.01-12期】 【2001.01-12期】 【2002.01-12期】 【2003.01-12期】 【2004.01-12期】 【2005.01-12期】 【2006.01-12期】 【2007.01-12期】 【2008.01-12期】 【2009.01-12期】 【2010.01-12期】 【2011.01-12期】 【2012.01-12期】 【2013.01-12期】 【2014.01-12期】正在更新中...... 【2015.01-12期】待补 【2016.01-12期】待补 【2017.01-12期】正在更新中...... 【2018.01-12期】 【2019.01-12期】 【2020.01-12期】 【2021.01-12期】 【2022.01-12期】 【2023.01-12期】 【2024.01-12期】 【2025.01-12期】正在更新中......