准备发布原创新作品:MQLib

2009年3月13日  |  09:06分类:EA, MT4编程, 指标  |  标签:  |  485 views

自从发布海豚小弟EA之后,很久没有和大家分享新的、原创性的东西了。其实这段时间,除了进行EA开发入门班的教学外,一直在做一个东西,这个就是MQLib,也就是我准备在近期发布出来的新产品。
开发MQLib,源于在两期EA开发入门班之后的,发觉对更多EA开发的初学者,特别是之前毫无编程方面的概念的初学者来说,MT4编程太过于专业了,简化其开发EA的工作量、降低门槛才是更为迫切的需要。因为大多数人学习这个,是为了更好地进行交易,而不是为了成为软件开发的专家,否则就有点舍本逐末了。基于这个观点,我萌发了开发MQLib这么个东西的念头。
那么,MQLib到底是个什么东西呢?简单来说,MQLib是一套由精通MT4编程的专业人士,利用MQL语言编写而成的函数包,这个函数包内置了大量的函数可供调用,其功能覆盖了MT4编程的各个方面,用户只需通过简洁明了的方式进行调用,即可轻松快捷地实现很多原本需要编写大量专业代码才能实现的复杂功能。通过站在巨人的肩膀上,用户不用再耗费太多精力在MT4编程的细节上,只需关注于交易模型的设计即可,MQLib函数库的高质量、精心设计,确保了用户交易模型的每个细节都能得到高效可靠的实现。
我把MQLib的首要目标定位为简单易用、从未接触过MT4编程的人也能很快上手,为此,MQLib将所有复杂的细节都封装起来,用户只需在代码文件中添加一句代码引用MQLib即可使用MQLib的所有功能。举个例子,下面的代码是一段很经典的判断两条均线是否交叉的代码:

...
double ma1, ma2, ma3, ma4;
ma1 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_CLOSE, 1);
ma2 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 1);
ma3 = iMA(NULL, 0, 5, 0, MODE_SMA, PRICE_CLOSE, 2);
ma4 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 2);
 
if (ma1>ma2 && ma3<=ma4)
{
      //发生金叉,进行相应操作..
}
...

对初学者来说,这段代码真的太繁琐,不好理解。那么,在使用了MQLib之后,代码会是怎样的呢?我们看一下:

...
include "MQLib.mqh"
 
if (SMACRoss(5, 10, PRICE_CLOSE, 1)==UP_CROSS)
{
   //发生金叉,进行相应操作...
}
...

很简单,对不?这就是MQLib的作用,把大部分常见的操作实现出来,一、两句代码就可以调用,不用再去操心那些让人头疼的实现细节了。
MQLib的第一个版本已经开发完成,目前正在编写使用手册,很快就会和大家见面了。

喜欢本文,那就收藏到: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

发表您的评论