日志分类:交易系统

MQL4中的时间数值类型datetime

2010年3月9日 10:01  |  分类:EA, MT4编程, 交易系统, 指标

其实,MT4编程中的时间数值类型datetime,就是一个int整数类型,其单位是秒,包括TimeCurrent、TimeLocal等函数获取的数值都是以秒为单位的,所以进行算术运算的时候,记得以秒为标准进行处理就行了。

打开MT4的帮助文档,我们可以看到有一组叫做”Trading functions”的函数,这里面所有的函数都是Orderxxx这样的格式,顾名思义,这组函数的作用就是对Order进行操作。那么,这组函数的运作机制是怎样的呢?下面,我们来一窥究竟。
当一个EA、指标或脚本开始运行时,MT4会自动为它分配一个电脑内存中的空间,我们可以把这个空间想象成一个公用的储物柜,这个储物柜的大小恰好能放入一张Order;然后,当我们使用Order系列函数时,这些函数就会来到这个“储物柜”获取指定的Order,进行操作。比如,OrderSymbol函数是获取Order的货币对名称、OrderLots是获取Order的仓量、OrderClose是关闭指定的Order,那么,假如同时存在很多张Order,这些函数是怎么知道获取哪张Order的信息或对哪张Order进行操作呢?答案就是放在“储物柜”里面的那张Order。那是谁把Order放入这个“储物柜”内?这是,OrderSelect函数就出场了!我们在看很多MT4源代码时,都会发现使用Order系列的函数对Order进行操作前,都会先用OrderSelect函数,其作用就是把符合条件的某张Order放入这个“储物柜”中去,让其它函数对其进行操作。所以,大家以后在使用Order系列的函数时,记得要先利用OrderSelect函数把Order取出来放入“储物柜”去,不然其它函数来到这个“储物柜”找不到Order,自然就无功而返了!

关于init、deinit和start函数的前世今生

2009年10月16日 12:42  |  分类:EA, MQL5, MT5, 交易系统, 指标

在MT4中,init、deinit和start三个函数是大家在开发EA、指标时耳熟能详的了,但在MT5中,这三个函数已经发生了变化。
在MT5中,init对应的函数为OnInit、deinit函数则对应为OnDeinit了。至于start函数,则稍为复杂,分为三种情况:在EA中,start函数对应为OnTick、在指标中,对应为OnCalculate、而在脚本(script)中则对应为OnStart。

MT4中所谓的“成交量”

2009年9月28日 13:28  |  分类:EA, MT4编程, 交易系统, 指标

         相信很多朋友都知道,在MT4的图表中有个“成交量”指标(快捷键Ctrl+L)。发现很多朋友都会把这个指标误认为是股票或期货当中的成交量,甚而围绕这个指标开发相应的指标或EA,所以这里想简单说一下:MT4中的这个“成交量”(Volume),其实我认为应当是官方翻译的错误,按照官方的文档,这个“成交量”指的是该时间周期内Tick的次数!比如在M5图表上,则每根K线下的Volume数值,指的是该5分钟内,价格跳动的次数(Tick的次数)。这点希望大家要注意了。

现在学MT4开发还有用吗?

2009年9月28日 13:20  |  分类:EA, MQL5, MT4使用, MT4编程, MT5, 交易系统, 指标

        有不少朋友在QQ和msn上问我类似的问题,从官方目前公布的资料来看,MT5中还是可以继续使用MT4语法的(这得益于C++对C的良好兼容),区别只是MT4中提供的系统函数在MT5中可能发生变动深圳被替换了,另外还添加了部分新的系统函数。所以,我的看法是:可以学。因为MQL4相对面向对象的MQL5来说,我想对从未接触过程序开发的朋友来说,还是相对较为容易掌握的。毕竟从开始学习到入门是需要一定时间的,现在开始学习MT4开发,到MT5出来之后再学习一下MT5中提供的系统函数,对非专业程序开发者来说是一个不错的选择。

有的朋友提供了这样一种头寸调整方法:资金翻倍,头寸翻倍,简单举个例子,即1000美元交易0.1手、2000美元交易0.2手,如此类推。。。

下面是实现了这种头寸管理办法的v205版本测试结果:

 

使用这种管理方法的话,就会造成资金的回撤相对较大,在实际交易中对交易者的心理影响较大。

v205版本下载地址

经过不断的组合和测试,我选择了SAR作为v204版本的移动止损方式,详细测试结果如下:http://www.dqyau.net/archives/158.html

 

下载地址:v204版本海豚小弟EA下载

在加入SAR作为移动止损策略后,海豚小弟EA的测试结果如下:

从测试来看,无论是最大亏损还是相对亏损均比前一个版本大大减小,这在实际交易中,对交易者的心理影响是非常重要的!

海豚小弟EA 201版本的测试结果

2008年9月18日 17:02  |  分类:EA, MT4编程, 交易系统

按照心情网友的建议,我取消了原来版本的开仓判断,现在是只要出现信号就开仓,以这样的方式来进行加仓。下面是2000-2008.9.4的测试结果:

相对原来版本的测试结果来看,盈利能力无疑是提高了,但需要注意的是:最大亏损与相对亏损也相应提高了。

很抱歉,因为我的不严谨,所以之前发的源码里面有两个错误之处,现在已经修正过来,请在2008.9.12之前下载过源码的朋友,重新下载。

海豚小弟EA源码下载

Pages: 1 2 3 Next