有不少朋友在QQ和msn上问我类似的问题,从官方目前公布的资料来看,MT5中还是可以继续使用MT4语法的(这得益于C++对C的良好兼容),区别只是MT4中提供的系统函数在MT5中可能发生变动深圳被替换了,另外还添加了部分新的系统函数。所以,我的看法是:可以学。因为MQL4相对面向对象的MQL5来说,我想对从未接触过程序开发的朋友来说,还是相对较为容易掌握的。毕竟从开始学习到入门是需要一定时间的,现在开始学习MT4开发,到MT5出来之后再学习一下MT5中提供的系统函数,对非专业程序开发者来说是一个不错的选择。
全局变量在MT4编程中有两层含义,一是编程领域中常规的全局变量含义,即独立于所有函数之外定义的变量,生命周期覆盖整个程序;还有一个就是MT4中独有的:在同一MT4客户端内,所有的指标、脚本和EA都可共享同一全局变量:
GlobalVariable,这个概念类似于编程领域中的共享内存区域;下面简单介绍一下其用法。
首先是必须用到的三个函数:GlobalVariableSet()、GlobalVariableGet()、GlobalVariableDel()。顾名思义,这三个函数的作用分别是设置、获取和删除GlobalVariable。在任何一个指标、脚本和EA中,可用GlobalVariableSet来设置一个GlobalVariable,如:
GlobalVariableSet(“test”, 1.2345);
这就设置好了,把这个指标挂到任何一张图表之上后,在同一个MT4客户端下运行的任何指标、脚本和EA都能读取到这个GlobalVariable了,读取方法:
GlobalVariableGet(“Test”);
最后,如果我们不需要这个GlobalVariable了,就可以这样把它删除了:
GlobalVariableDel(“Test”);
需要注意:一是GlobalVariable只能是double类型的数据,不能把string、数组之类的赋给它,否则编译的时候虽然不会报错,但其实是无效的;二是GlobalVariable的生命周期是名符其实的“全局”,在设置了一个GlobalVariable后,如果不用GlobalVariableDel来删除它,它将会一直存在,无论设置它的指标、脚本和EA是否已被删除,甚至MT4关闭后也会存在,下次重新启动MT4时这个GlobalVariable仍然是可用的!善用这点,在设计交易程序的时候可说是如虎添翼,呵呵!
发布原创的海豚小弟EA
海豚小弟是一个交易策略,来自火线外汇论坛(www.fx998.com/bbs),我将其编写为EA,并免费发布出来。EA的规则和原策略是完全一样的,不清楚这个策略的可到火线外汇论坛搜索。通过测试,我发现这个EA对EURUSD的4H时段交易效果最好,下面是从2000年1月1日至2008年9月4日的历史数据测试结果:

由于该策略的原作者并没有对其移动止损、头寸管理和资金管理等方面做出说明,所以目前这个版本的ea并没有加入以上元素,默认是每次只交易固定的手数,使用的时候可在ea参数设置里面修改每次交易的单量。我正在尝试将我认为较好的头寸管理、资金管理和移动止损等模块和这个策略组装起来,以测试哪种搭配更好,如有新的研究心得,我会在博客上进行更新。如果你有兴趣参与这个ea的开发、或有什么好的建议给我的话,欢迎与我联系。
Google的浏览器,赞!
今天一早起来看新闻,发现铺天盖地都是关于google浏览器的新闻,马上下载了试用,除了一个好字,不知道说什么了。我比较喜欢简洁的东西,所以非常喜欢这款浏览器的简洁与快速。可惜的是没有在线收藏夹。。。
推荐大家都试用一下,比IEbu不知道爽多少倍。。。
