第一章 开始使用MT4 1
1.1 前言 1
1.2 MT4下载与安装 3
1.2.1 下载程序 3
1.2.2 安装程序与注册账号 3
1.3 MT4窗口简介 10
1.4 使用MT4智能交易系统 11
1.4.1 智能交易系统设置 11
1.4.2 第一个程序:Hello Word! 12
1.4.3 准备历史数据 19
第二章 MQL4语言 21
2.1 预备知识 21
2.1.1 EA框架 22
2.1.2 指标框架 23
2.1.3 坐标系 23
2.2 内置变量与函数 24
2.2.1 整数相除的方法 24
2.2.2 市场函数 24
2.2.3 账户函数 26
2.2.4 市场变量 26
2.2.5 时间函数 27
2.2.6 蜡烛序列函数 28
2.2.7 交易函数 28
2.2.8 数学、三角函数 28
2.2.9 数组函数 28
2.2.10 弹出消息框函数 29
2.3 自定义指标 30
第三章 程序设计进阶 32
3.1 构思策略 32
3.1.1 交易过程说明 32
3.1.2 技术指标的选择 33
3.1.3 风险控制策略 34
3.2 逻辑分析 35
3.2.1 EA逻辑框架 36
3.2.2 操盘控制模块流程图 37
3.3 历史数据回测 38
3.3.1 开始一个EA测试 38
3.3.2 测试报告中各项指标说明 41
3.3.3 报告中区块的含义 43
3.4 常用自定义函数 43
3.4.1 最大开仓量计算 44
3.4.2 新单开仓 45
3.4.3 持仓单平仓 46
3.4.4 追踪止损 48
3.4.5 定时交易 50
3.4.6 在屏幕上显示文字 51
3.4.7 两点之间画线 52
3.4.8 标注符号 53
3.4.9 指标线交叉信号 55
3.5 EA范例1:鳄鱼三线+Force 56
3.6 EA范例2:MACD与补仓 61
3.7 自定义指标范例:图形化回顾历史交易 67
第四章 MQL4技术指标 74
4.1 振荡加速指标 77
4.2 离散指标 78
4.3 鳄鱼指标 79
4.4 平均方向移动指标 80
4.5 平均真实范围指标 82
4.6 振荡指标 83
4.7 熊力振荡指标 84
4.8 保力加通道技术指标 86
4.9 牛力振荡指标 87
4.10 商品通道指标 88
4.11 价格波动指标 89
4.12 包络指标 90
4.13 强力指标 91
4.14 分形指标 93
4.15 加多摆动指标 94
4.16 一目平衡表指标 95
4.17 移动平均汇总/分离指标 96
4.18 市场促进指数指标 98
4.19 动量索引指标 99
4.20 资金流量指数指标 100
4.21 移动平均线指标 101
4.22 移动平均振荡指标 102
4.23 能量潮指标 103
4.24 抛物线状止损和反转指标 104
4.25 相对强弱指标 105
4.26 相对活力指数指标 107
4.27 标准离差指标 108
4.28 随机振荡指标 109
4.29 成交量指标 110
4.30 威廉指标 111
第五章 MQL4命令手册 113
5.1 基础 113
5.1.1 语法 113
5.1.2 数据类型 115
5.1.3 操作表达式 119
5.1.4 操作符 124
5.1.5 函数 129
5.1.6 预处理 137
5.2 标准常数 141
5.2.1 系列数组 141
5.2.2 图表周期时间 141
5.2.3 交易操作 142
5.2.4 价格常数 142
5.2.5 市场信息识别符 142
5.2.6 画线风格 143
5.2.7 预定义箭头 144
5.2.8 特殊符号 145
5.2.9 颜色常数 146
5.2.10 指标线 146
5.2.11 日本云指标 147
5.2.12 移动平均数 147
5.2.13 信息箱 148
5.2.14 对象类型 149
5.2.15 对象属性 150
5.2.16 对象有效周期 151
5.2.17 撤销初始化原因代码 152
5.2.18 特别常数 152
5.2.19 错误代码 152
5.2.20 预定义变量 155
5.3 程序运行 162
5.3.1 程序运行 163
5.3.2 输入函数调用 163
5.3.3 运行错误 165
5.4 账户信息 175
5.4.1 账户余额 176
5.4.2 账户信用点数 176
5.4.3 账户公司名称 176
5.4.4 基本货币 176
5.4.5 账户资产净值 176
5.4.6 账户免费保证金 177
5.4.7 账户当前价格自由保证金 177
5.4.8 账户免费保证金模式 177
5.4.9 账户杠杆 178
5.4.10 账户保证金 178
5.4.11 账户名称 178
5.4.12 账户数字 178
5.4.13 账户利润 178
5.4.14 账户连接服务器 179
5.4.15 账户停止水平值 179
5.4.16 账户停止返回模式 179
5.5 数组函数 179
5.5.1 数组搜索 180
5.5.2 数组复制 181
5.5.3 数组复制走势 181
5.5.4 数组复制系列走势 182
5.5.5 返回数组维数 184
5.5.6 返回数组序列 184
5.5.7 数组初始化 184
5.5.8 判断数组连续 185
5.5.9 数组最大值定位 185
5.5.10 数组最小值定位 186
5.5.11 返回数组指定维数数量 186
5.5.12 改变数组维数 186
5.5.13 设定系列数组 187
5.5.14 返回数组项目数 187
5.5.15 数组排序 188
5.6 检查 188
5.6.1 返回最后错误 188
5.6.2 返回联机状态 189
5.6.3 返回模拟账户 189
5.6.4 返回dll允许调用 190
5.6.5 返回智能交易开启状态 190
5.6.6 返回数据库函数调用 190
5.6.7 返回策略测试中优化模式 191
5.6.8 返回终止业务 191
5.6.9 返回测试模式状态 192
5.6.10 返回允许智能交易 192
5.6.11 返回其他智能交易忙 192
5.6.12 返回智能交易“图片模式” 192
5.6.13 返回智能交易初始化原因 192
5.7 客户端信息 193
5.7.1 返回客户端所属公司 193
5.7.2 返回客户端名称 193
5.7.3 返回客户端文件路径 194
5.8 常规命令函数 194
5.8.1 弹出警告窗口 194
5.8.2 在走势图左上角显示信息 194
5.8.3 获取时间标记 195
5.8.4 在市场观察窗口返回不同数据保证金列表 195
5.8.5 创建信息窗口 196
5.8.6 播放声音 196
5.8.7 在窗口中显示文本 197
5.8.8 传送文件 197
5.8.9 发送Email 198
5.8.10 在指定时间间隔内暂停交易业务 198
5.9 格式转换函数 199
5.9.1 字符转换成字符串 199
5.9.2 双精度浮点转换成字符串 199
5.9.3 给出环绕浮点值的精确度 200
5.9.4 字符串型转换成双精度浮点型 200
5.9.5 字符串型转换成整型 200
5.9.6 字符串型转换成时间型 200
5.9.7 时间类型转换为”yyyy.mm.dd hh:mi”格式 201
5.10 自定义指标 201
5.10.1 指标缓冲 201
5.10.2 指标蜡烛总数 203
5.10.3 指标小数位数 204
5.10.4 指标简称 205
5.10.5 定义箭头类型 205
5.10.6 指标索引 206
5.10.7 指标开始画线位置 207
5.10.8 指标参数预设 207
5.10.9 指标参数名称 208
5.10.10 指标位移量 210
5.10.11 指标类型 211
5.10.12 线型 212
5.10.13 水平线赋值 212
5.11 日期、时间函数 212
5.11.1 日 212
5.11.2 星期 213
5.11.3 年 213
5.11.4 小时 213
5.11.5 分钟 214
5.11.6 月 214
5.11.7 秒 214
5.11.8 服务器当前时间 214
5.11.9 日期 215
5.11.10 星期 215
5.11.11 当年天数 215
5.11.12 小时 216
5.11.13 计算机系统时间 216
5.11.14 分钟 216
5.11.15 月份 216
5.11.16 秒 217
5.11.17 年份 217
5.11.18 年 217
5.12 文件函数 217
5.12.1 关闭文件 218
5.12.2 删除文件 218
5.12.3 将缓存中的数据刷新到磁盘上 219
5.12.4 文件结尾 219
5.12.5 行末 220
5.12.6 打开文件 220
5.12.7 在历史目录中打开文件 221
5.12.8 将二进制文件读取到数组中 222
5.12.9 从文件中读取浮点型数据 222
5.12.10 从当前二进制文件中读取整形型数据 223
5.12.11 读取文件数据 224
5.12.12 从当前文件位置读取字符串 224
5.12.13 文件指标移动 225
5.12.14 文件大小 225
5.12.15 文件指标的当前位置 226
5.12.16 写入文件 226
5.12.17 将二进制文件写入数组 227
5.12.18 将二进制文件以浮动小数点写入双重值 228
5.12.19 将二进制文件写入整数值 229
5.12.20 将当前文件位置函数写入二进制文件字符串 230
5.13 全局变量 230
5.13.1 检查整体变量 231
5.13.2 删除整体变量 231
5.13.3 获取整体变量值 231
5.13.4 获取整体变量名称 232
5.13.5 整体变量赋值 232
5.13.6 整体变量条件赋值 233
5.13.7 删除整体变量 234
5.13.8 函数返回整体变量总值 234
5.14 数学和三角函数 234
5.14.1 绝对值 235
5.14.2 反余弦 235
5.14.3 反正弦 235
5.14.4 反正切 236
5.14.5 向上取值 236
5.14.6 余弦 237
5.14.7 乘方 237
5.14.8 向下取整数 238
5.14.9 对数 238
5.14.10 最大值 238
5.14.11 最小值 239
5.14.12 取模 239
5.14.13 乘方 239
5.14.14 随机数 240
5.14.15 四舍五入 240
5.14.16 正弦 241
5.14.17 平方根 241
5.14.18 随机数开始点 242
5.14.19 正切 242
5.15 对象函数 242
5.15.1 建立目标 243
5.15.2 删除目标 244
5.15.3 目标描述 244
5.15.4 查找目标 245
5.15.5 目标属性 245
5.15.6 斐波纳契描述 246
5.15.7 返回指定对象的值 246
5.15.8 返回指定对象索引 247
5.15.9 移动目标 247
5.15.10 目标名称 248
5.15.11 删除所有目标 248
5.15.12 改变目标属性 249
5.15.13 改变目标斐波纳契指标 249
5.15.14 改变目标说明 250
5.15.15 返回目标总量 250
5.15.16 返回目标类型 251
5.16 字符串函数 251
5.16.1 字符串连接 251
5.16.2 字符串搜索 252
5.16.3 字符串指定位置代码 252
5.16.4 字符串长度 252
5.16.5 替换字符 253
5.16.6 提取子字符串 253
5.16.7 删除字符串左边空格 254
5.16.8 删除字符串右边空格 254
5.17 技术指标 254
5.17.1 比尔·威廉斯的加速器或减速箱振荡器 255
5.17.2 离散指标 255
5.17.3 比尔·威廉斯的鳄鱼指标 255
5.17.4 移动定向索引 256
5.17.5 平均真实范围 257
5.17.6 比尔·威廉斯的振荡器 257
5.17.7 熊功率指标 257
5.17.8 保力加通道技术指标 258
5.17.9 保力加通道指标 258
5.17.10 牛市指标 259
5.17.11 商品通道索引指标 259
5.17.12 商品通道索引指标 260
5.17.13 指定的客户指标 260
5.17.14 价格波动指标 261
5.17.15 包络指标 261
5.17.16 包络指标 262
5.17.17 强力索引指标 263
5.17.18 分形索引指标 263
5.17.19 随机振荡指标 263
5.17.20 日本云 264
5.17.21 比尔·威廉斯市场斐波纳契指标 265
5.17.22 动量索引指标 265
5.17.23 动量指标 266
5.17.24 资金流量索引指标 266
5.17.25 移动平均指标 266
5.17.26 移动平均指标数组 267
5.17.27 移动振动平均振荡器指标 268
5.17.28 移动平均数汇总分离指标 268
5.17.29 能量潮指标 269
5.17.30 抛物线状止损和反转指标 269
5.17.31 相对强弱索引指标 270
5.17.32 相对强弱索引指标 270
5.17.33 相对活力索引指标 271
5.17.34 标准偏差指标 271
5.17.35 标准离差指标 272
5.17.36 随机振荡指标 272
5.17.37 威廉指标 273
5.18 时间序列图表数据 273
5.18.1 柱的数量 274
5.18.2 开始时间的柱 274
5.18.3 收盘价 274
5.18.4 最高价 275
5.18.5 一组柱子的最高价 276
5.18.6 最低价 276
5.18.7 一组柱子的最低价 277
5.18.8 开盘价 277
5.18.9 指定蜡烛柱时间 278
5.18.10 成交量 278
5.19 交易函数 279
5.19.1 错误代码 279
5.19.2 平仓 281
5.19.3 反向订单平仓 282
5.19.4 当前订单收盘价 282
5.19.5 当前订单平仓时间 283
5.19.6 订单注释 283
5.19.7 订单佣金 284
5.19.8 删除挂单 284
5.19.9 挂单有效期 284
5.19.10 订单手数 285
5.19.11 订单编号 285
5.19.12 修改挂单 285
5.19.13 订单开仓价 286
5.19.14 订单开仓时间 287
5.19.15 打印订单 287
5.19.16 订单净利 287
5.19.17 选择订单 288
5.19.18 开仓 289
5.19.19 历史订单总数 290
5.19.20 返回当前订单止损价 290
5.19.21 返回挂单总数 291
5.19.22 订单掉期(隔夜利息) 291
5.19.23 订单黄金商品值 292
5.19.24 返回当前订单止盈价 292
5.19.25 订单号 292
5.19.26 订单类型 293
5.20 窗口函数 293
5.20.1 隐藏指标 293
5.20.2 使用周期 294
5.20.3 刷新预定义变量和系列数组的数据 294
5.20.4 当前黄金商品 295
5.20.5 可见柱总数 295
5.20.6 智能交易系统名称 296
5.20.7 返回名称 296
5.20.8 第一个可见柱 296
5.20.9 窗口编号 297
5.20.10 图表在子窗口中可见 297
5.20.11 取消窗口编号 298
5.20.12 窗口中最大值 298
5.20.13 窗口中最小值 299
5.20.14 窗口价格位移 299
5.20.15 窗口刷新 300
5.20.16 抓图 300
5.20.17 窗口时间位移 301
5.20.18 指标窗口数 302
5.20.19 窗口X轴位移 302
5.20.20 窗口Y轴位移 302