用MT4与MT5 开发外汇交易系统的区别及探索
MQL是MT4和MT5开发语言名称,它们的语言格式类似于C和C++,说实话,对一个计算机老手来说,这些语言的掌握或以及新版本的变化都不是困难,往往建立一个有利可图的成功的系统是最难的。我开发外汇机器人数年,下面把不同之处总结一下,希望给大家起到抛砖引玉的作用:
1.MT4是面向顺序的(或叫面向过程),MT5是面向对象的(OOP),现在的软件开发人员经过简单的基础语法学习后就直接进入
OOP思想的学习,OOP,主要的内容是讲现实事务抽象成对象的方法,属性及事件,这些理论成为目前开发软件的基石,很多人无法写出高质量的代码,往往是这个抽象过程有问题,建立模型后写代码还是非常容易的。
举例说明:
比如我要建立一个机器人类,基本上要有这么一个必须的雏形
Class MyRobot
{
int state; //机器人的当前状态
double lots; //手数
int CheckCondition();//检查下单或平仓条件
bool placeOrder()//下单
bool closeOrder();//平仓
}
2.除了上面说的不同之外,MT5可以在当前的窗口获取其他窗口的对象,这个对您需要建立多周期交易的系统非常有效。
比如你要知道H1的趋势的同时也要考虑H4的趋势,在2个图表上有趋势线指标。而MT4没有这个功能,除非用MT4的保存
文件的功能,而在另外一个图表里读取,这样很牵强附会,而且受到文件系统限制。
3.定时器功能
MT5除了像MT4一样有价格变化驱动执行某个函数的功能外,还有定时器执行的功能,这样当价格停止不动或您要在某个时间点
执行一个函数的时候带来非常好的可操作性。
4.键盘或鼠标事件
我本人觉得这个功能没有用处,设计一个交易系统往往要“全自动”,没有必要再用人脑和电脑去配合了,如果档位车和自动挡的车一样。我在开发过程中没有用这个功能。
5.消息的发布
在开发工程中,为了把信号发到订阅者的手机上或我自己监视使用,可以用sendmail和sendftp来实现发短消息和建立一个网页
,这个我已经成功实现,当然发sms还是需要第三方的功能支持。但客户通过我们的网站(www.cutesignal.com),都很容易得到他想要的信息,如果您的托管人或合作人在任何地方(如宾馆里或手机上)需要看到账户最新情况及图表,那么这些技术都需要利用进去。
我是谁?
我是写了20年的软件开发者,一个外汇的幸运者,一个南非的交易老手教了我交易知识,经过常时间外汇系统的开发,将他的系统软件化,而软件开发本身对我根本不是难题。
感悟:往往要让交易系统像人一样思维就不是那么简单,比如将外汇交易元素的指标化,交易系统代码的正确性,有限状态机的设计,这些是一个强大的交易系统的基石。
欢迎同行交流指正
费弘斌
qq58055730
cute外汇信号
本文版权归作者费弘斌共有,欢迎转载。但未经作者同意必须 保留此段声明,且在文章页面显著位置给出原文连接,否则保留追究法律责任的权利。
暂时没有评论
发表评论 | 展开/关闭评论 | RSS订阅 | 反项链接