从零开始学MT4编程
更新时间:2023-08-27 07:05:01 阅读量: 教育文库 文档下载
- 从零开始学漫画推荐度:
- 相关推荐
第一章
1.1
1.2
1.3
1.4 目录 开始使用MT4 ............................................................................................................... 1 前言................................................................................................................................. 1 MT4下载与安装 ........................................................................................................... 1 熟悉软件环境 ................................................................................................................ 5 使用MT4智能交易系统 .............................................................................................. 6
1.4.1 智能交易系统设置 ............................................................................................... 6
1.4.2 第一个程序:Hello Word! ................................................................................ 7
1.4.3 准备10年的历史数据 .......................................................................................10
第二章 MQL4语言 ...................................................................................................................12
2.1 预备知识 ......................................................................................................................12
2.1.1
2.1.2
2.1.3
2.2 EA框架 .................................................................................................................12 指标框架 ..............................................................................................................13 坐标系 ..................................................................................................................14 内置变量与函数 ..........................................................................................................15
2.2.1 整数相除的方法 .................................................................................................15
2.2.2 市场函数 ..............................................................................................................15
2.2.3
2.2.4
2.2.5
2.2.6
2.2.7
2.2.8 账户函数 ..............................................................................................................17 市场变量 ..............................................................................................................17 时间函数 ..............................................................................................................18 蜡烛序列函数......................................................................................................18 交易函数 ..............................................................................................................19 数学、三角函数 .................................................................................................19
2.2.9 数组函数 ..............................................................................................................19
2.2.10 弹出消息框函数 .................................................................................................19
2.3 自定义指标 ..................................................................................................................20
第三章
3.1 编程进阶 ......................................................................................................................21 构思策略 ......................................................................................................................21
3.1.1 交易过程的说明 .................................................................................................21
3.1.2 技术指标的选择 .................................................................................................23
3.1.3 风险控制的策略 .................................................................................................23
3.2 逻辑分析 ......................................................................................................................24
3.2.1 EA逻辑框架 ........................................................................................................25
3.2.2 操盘控制模块流程图 .........................................................................................25
3.3 历史数据回测 ..............................................................................................................26
3.3.1
3.3.2
3.3.3
3.4 开始一个EA测试 ...............................................................................................27 测试报告中各项指标说明 .................................................................................29 报告中色彩的含义 .............................................................................................31 常用自定义函数 ..........................................................................................................31
3.4.1 最大开仓量计算 .................................................................................................32
3.4.2 新单开仓 ..............................................................................................................33
3.4.3
3.4.4
3.4.5 持仓单平仓 ..........................................................................................................34 追踪止损 ..............................................................................................................35 定时交易 ..............................................................................................................36
3.4.6
3.4.7 在屏幕上显示文字 .............................................................................................37 两点之间画线......................................................................................................38
3.4.8 标注符号 ..............................................................................................................39
3.4.9 指标线交叉信号 .................................................................................................40
3.5 EA范例1 鳄鱼三线+Force ........................................................................................40
3.6
3.7
第四章
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20
4.21
4.22
4.23
4.24
4.25
4.26
4.27
4.28
4.29
4.30
EA范例2 MACD与补仓 .............................................................................................43 自定义指标范例:图形化回顾历史交易 ................................................................47 MQL4技术指标 ...........................................................................................................52 Accelerator Oscillator震荡加速指标.........................................................................54 Accumulation/Distribution离散指标 ........................................................................55 Alligator鳄鱼指标 .......................................................................................................56 Average Directional Movement Index平均方向移动指标 ......................................57 Average True Range平均真实范围指标 ...................................................................58 Awesome Oscillator振荡指标....................................................................................59 Bears Power熊力震荡指标 ........................................................................................60 Bollinger Bands保力加通道技术指标 ......................................................................61 Bulls Power牛力震荡指标 .........................................................................................62 Commodity Channel Index商品通道指标 ................................................................62 DeMarker ......................................................................................................................63 Envelops包络指标 ......................................................................................................64 Force Index强力指标 ..................................................................................................66 Fractals分形指标 ........................................................................................................66 Gator Oscillator加多摆动指标 ..................................................................................67 Ichimoku Kinko Hyo一目平衡表指标 .......................................................................68 MACD移动平均汇总/分离指标 ................................................................................70 Market Facilitation Index市场促进指数指标 ...........................................................71 Momentum动量索引指标.........................................................................................71 Money Flow Index资金流量指数指标 .....................................................................72 Moving Average移动平均线指标 .............................................................................73 Moving Average of Osillator移动平均震荡指标......................................................75 On Balance Volume能量潮指标 ................................................................................75 Parabolic SAR抛物线状止损和反转指标 .................................................................76 Relative Strength Index相对强弱指标 ......................................................................77 Relative Vigor Index相对活力指数指标 ...................................................................78 Standard Deviation标准离差指标.............................................................................79 Stochastic Oscillator随机震荡指标 ...........................................................................80 Volumes成交量指标 ..................................................................................................82 Williams’Percent Range威廉指标 .............................................................................82
第一章 开始使用MT4
1.1 前言
当变幻莫测的外汇市场、24小时不间断的交易、品种繁多的货币对同时展现在你的眼前时,你一定有手忙脚乱无所适从的感觉。自从实现了互联网外汇交易,我们倍感外汇交易的繁重与繁琐,于是EA(英文Expert Advisors缩写,称专家顾问,或智能交易系统)就应运而生了。
大多数外汇交易商提供MT4平台,大多数外汇交易者开始关注甚至迷恋MT4平台上的EA,网上出现了很多的免费EA甚至收费的EA。不幸的是,在这里我要下个结论,那就是大多数EA都是垃圾绝不是“圣杯”,不管是免费的还是收费的,真正的圣杯只能在你自己手中诞生。
纵观历年国际上EA大赛,还没有出现一位连续获胜的选手。或许我们可以暂时认为连续稳定获利的交易系统是存在的,但是连续稳定获利的EA是否存在则有待观察证实。电脑和人脑相比目前还存在难以逾越的障碍,我们期盼并等待着众多的专家学者能制造出真正的人工智能交易系统。
然而,在所谓真正的人工智能交易系统问世之前,作为普通的炒汇者不能闲着,我们需要积极的做些什么来得到自己的圣杯。
有一点可以肯定,我们必须在正确的市场观和深刻认识市场的基础上去构建适合自己的方法,制定市场适应能力较强的策略,保证系统能够动态地以最贴近市场的方式运行,再通过整理交易过程的逻辑规则,按照MQL4语言规范编出适合电脑自动交易的程序,就可以阶段性的实现实现稳定盈利。
EA的最大用途就在于把正确的交易逻辑设计定量化、程序化,从而创建一套市场适应能力较强的策略。切记EA只是你交易行为的一部分,切忌EA左右你的交易行为。你必须全程参与到整个交易过程中,如果你过分迷恋EA,那么EA就只能是个传说。
本书将从搭建交易平台、了解自动交易编程、学习编程等方面分章节描述,并贯穿若干个EA实例程序,按照构思策略、逻辑分析、编制代码、历史数据测试、模拟操盘的顺序,深度全面地诠释EA的诞生过程,同时提供了MQL4常用指令集、外汇常用技术指标解释等内容。
笔者既不属于消息派也不属于技术派,更不是二合一派。外汇交易是“零和博弈”,我更偏向从数学统计论的角度来思考外汇,理性的参与博弈。
理解EA,编制EA,使用EA,从现在开始。
1.2 MT4下载与安装
在交易商指定的网站上下载安装程序,并运行:
1.3 熟悉软件环境
1.4 使用MT4智能交易系统
1.4.1 智能交易系统设置
MT4安装运行后,智能交易是被禁止的,需要设置“允许”智能交易。
1.4.2 第一个程序:Hello Word!
1.4.2.1 创建一个空白的程序
1.4.2.2 写一个程序
回到MT4终端,打开智能交易系统可以看到刚才的程序已经准备好了:
鼠标双击这个名字,新编写好的程序就调入到图表窗口,右上角有程序名和一个笑脸,笑脸表示系统允许执行自动交易:
我们在终端窗口的智能交易标签里能看到程序运行的结果:
1.4.3 准备10年的历史数据
一个编制好的EA需要历史数据回测验证。目前从MT4平台上可以下载从1999年10月以来的所有品种的数据(包括外汇、黄金、期货、股票指数等等)。
下载10年的数据按照以下方法即可。
第一步,设置终端图表显示参数。打开终端“工具”->“选项”,点击“图表”标签。
第二步,下载历史数据。打开终端“工具”->“历史数据中心”。
这一步下载了选定货币对的从1999年10月1日以来的所有1分钟数据。其他时间周期的数据都会根据这个M1数据自动生成,不过,你还需要双击每个时间周期,让所有的周期都显示成彩色的。这说明所有时间周期的数据都将被终端调用。
由于网络或者服务器的原因,你可能需要反复点击货币对和下载按钮,直到1999年数据显示为止。
其他品种以此类推。
第二章 MQL4语言
2.1 预备知识
在学习MQL4语言前,首先要打消自己的顾虑,不要被网上流传的“写MQL4程序必须具备C语言基础”给吓到,大多数人学不会编程就是自己把自己劝退的。
当然,学习计算机语言要求你必须有很好的逻辑思维能力。我们可以通过下面的内容来理解计算机的逻辑。
所有的计算机语言都包含两个语句,一个是条件(if)语句一个是循环(for)语句。 If语句顾名思义,满足条件就执行,否则就跳过。
for语句顾名思义,就是在一定条件下反复执行规定的指令,直到条件不满足。
2.1.1 EA框架
标准的EA由5个部分组成,分别是变量预定义、EA初始化程序、EA结束程序、EA执行程序和自定义变量,如下图:
在int init()的前面是EA变量定义区,当EA调入到图标时,需要做预设置的参数都在这里定义。
在int start()后面都是自定义函数区间。
2.1.2 指标框架
与EA框架一样。区别如下:
1、 变量预定义部分的首行必须定义该指标显示的位置,主图和副图。
2、 EA初始化程序部分用来定义显示元素的属性。
3、 EA执行程序部分用来计算指标值。
如下图:
2.1.3 坐标系
自动交易的执行是需要准确定位的,因此就必须建立起明晰坐标系的概念。
图上的横坐标既可以是市场时间也可以是蜡烛序号,在编程的时候通常使用蜡烛序号。 坐标系实际上是三维的,即时间、价格、开仓量,第三维开仓量通常在风险控制策略中考虑,比如出现亏损加大开仓量,或者亏损20%平仓等等,因此我们编写程序重点就在时间和价格这二维空间中。
建立起正确的坐标系概念是编程的基础,因为你即将对技术指标进行分析,计算开仓平仓信号,甚至在图表上画线做标记。
2.2 内置变量与函数
MQL4提供了大量的内置变量与函数,用来取值计算。目前网上有许多的手册,但都是翻译机器从原版英文手册自动翻译的,可读性极差。作者通过积累大量的经验加上自己的理解,精选了部分常用的、实用的内容重新说明如下。
2.2.1 整数相除的方法
在MQL4的语法中有“+ - * /”四则运算,当你直接用“1/3”的时候,会返回0。在程序中可以这么来实现的:
double i=(1*0.01)/(3*0.01);
这时变量i才会返回你所要的值:0.33333333。
2.2.2 市场函数
我们经常能遇到不同平台报价格式不同、滑点数不同、最小开仓量不同、市场时间不同等等情况。这些数据都能通过市场函数直接获取,这样才能给EA带来了较大的适用性。
正在阅读:
从零开始学MT4编程08-27
新视野大学英语第三版第二册课文语法讲解_Unit405-05
当量正态化的matlab程序08-16
新冠疫苗接种倡议书范文03-27
“2010年全国职业院校技能大赛”高职组奇瑞”杯汽车技术—汽车维修与故障排除竞赛知识题库07-26
08清单计价规范解释09-01
社区知识名词解释06-13
江苏省扬州市2014-2015学年度第一学期期末检测高三语文试题03-18
总复习题06-23
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 编程
- 开始
- MT4
- 广东署山一中珠海一中金山中学高一物理下学期期中试题
- 中专一年级英语期末测试卷
- 绘画初级教程 7弹
- 大象版小学三年级下册科学复习题
- 汽车修理厂项目申请报告
- 二建《水利水电》重点总结
- 浙大《国际贸易》在线作业
- 香港银行学会—会员持续专业发展(CPD)计划 香港银行学会
- 若干个经典Java小程序源代码
- 电子证据的认定规则
- 基因工程涉及的主要技术
- 小学五年级语文下册《二泉映月》第二课时课后反思
- 整改函、告知函、通知函(附表一)
- 2009春江苏省二级C++考试真题_附答案
- 酶动力参数Km、Vmax和Kcat值的计算
- 2015最新人教版小学数学一年级上册第八单元检测题
- 机械制造基础复习题答案
- 农业信息写作培训讲义
- 2008年-2011年中国货币政策大事记
- 2016-2020年云南省红色旅游行业竞争格局分析和投资前景预测报告目录