也谈一谈如何学习写EA

 

写程序,也就是程序员。不要以为写EA不是写程序,那其实就是写程序,所以必须具有程序员的基本能力。


举个例子,你拿Metatrader里面的自带指标的源程序打开看看,有几个人看得懂?说实话,我第一次打开的时候就看不懂,我还是软件工程专业毕业,从C到C#框架、就没有什么我看不懂的。后来我看了说明书,才明白程序的执行流程或者对象事件这些C或C++基本的概念。但是指标用来分析的函数,有些函数比较特殊,其本身的实现原理还是比较深奥,属于数学部分的知识。


所以,我建议学EA的人应该有这么些路要走:


1.计算机原理、操作系统原理、网络原理、数据库原理:这些必须懂,不懂你就会在写EA的过程中遇到困难,比如说EA和硬件互动、和OS互动、和网络互动、和数据库互动;

2.逻辑基础、微积分、概率论、数理统计、运筹学、离散数学、数据结构:没有逻辑就搞不清楚任何问题,高等数学必须要懂,这是前提,因为很多理论的实现离不开高等数学。

3.VC++:必须精通VC++和WinAPI,不然你怎么写DLL库?不会写DLL,你怎么把EA和DLL结合起来运用?所以必须精通。


当然了,实现EA还有一些附加条件:EA虽然是个程序脚本,但是要写,就得知道如何分析问题、采用何种分析和开发方法(面向过程MT4还是对象MT5)、建立抽象模型、编写程序、质量和可靠性测试、文档归纳。对了,这其实就属于软件工程范畴,写EA就是写软件。懂不懂啊,不要太NAIVE,要慢慢来。