俄罗斯人科瓦廖夫的著作《用MQL4编程》,是迄今我所见到的内容最完整详细的相关书籍。
全书内容分为两大部分,“MQL4入门”和“MQL4实用编程”。先看其篇章结构:
MQL4入门
MQL4实用编程
我觉得,想用“机器人”自动交易外汇的新手,把这本书啃下来,相关的编程技术就基本学会了。
这是本有456页的厚书,要完整翻译出来,太累太难;书中不少内容,如C语言的基础知识,可以忽略。因此,只把一些值得掌握的内容记录下来、翻译出来。重点关注“MQL4实用编程”。
学习MQL4编程,首先应该弄清楚三个问题:MQL4的程序指的是什么、其与服务器的关系如何,和为什么用程序做外汇交易。
MetaTrader 4 客户端程序,所做市场分析和交易管理,是在编程工具MQL4帮助下实现的。程序共分三种:
- 外建指标 - 某位作者按一定算法编写的,以图形方式反映市场规律的程序;
- 操盘手 - 自动或者半自动进行交易操作的程序;
- 脚本 - 一次性运行的程序,包括进行交易操作。
程序可以完全自动运行,也可以在人工干预下半自动运行。二者是互补关系。
客户端的任何管理操作,均产生于本机,并发送至服务器。本机程序不安装到服务器。
服务器只对来自客户端的信号进行处理。客户端程序“操盘手”或“脚本”在发出信号后,没有发出其他管理信号,便与服务器中断网络连接,服务器依然执行先前的信号。
利用程序自动交易的好处,一是不必终日久坐计算机前盯盘,省时省力;二是常人易受紧张焦虑等不良情绪影响,做出错误交易,程序自动交易没有这种缺点弱点。但要强调指出,管理交易的程序应出自开发者的深思熟虑,经过历史数据的测试,并有可供选择的优化参数,以形成实用的交易策略。