如何生成任意周期的数据图表

2008年10月14日 08:56  |  分类:MT4使用

虽然MT4内已经设置了多种周期的浏览方式,如M5、M15、M30等,但有些朋友喜欢看一些“非主流”的周期的图表,MT4内置的周期格式就已不能满足需求,这时就要通过别的途径来生成其它周期的数据图表。
在MT4中的“导航器”(Ctrl+N调出),打开“脚本”一栏,大家可以看到有个叫做“period_converter”的脚本,顾名思义,这个就是用来生成任意周期的数据图表的脚本,而且这个是mt4内置的,非常方便。下面和大家分享一下这个脚本的用法。
假如我现在看EURUSD的2分钟图表,但MT4只有1分钟周期的图表,该怎么做?我们可以利用M1的数据来生成m2的图表,方法如下:首先打开EURUSD的M1图表:

然后双击刚才介绍的“period_converter”脚本,会弹出一个参数设置窗口:

我们看到只有1个参数ExtPeriodMultiplier,它的数值是以分钟为单位的,也就是说你想生成什么周期的图表,就填入这里行了,上面我们的目的是生成2分钟的图表,所以这里填“2”,如果我想生成20分钟的图表呢?自然就是填“20”了,如果想生成2小时的图表呢?也很简单:2X60=120,填入“120”就对了。
填入希望转换的周期,确定后,似乎什么都没发生?不然,其实MT4已经在后台为你生成了所需的图表,这时我们通过“文件”菜单,“打开离线历史数据”:

在弹出的窗口里面,我们可以找到我们需要的2分钟周期图表了:

双击“EURUSD,M2”,就会打开以2分钟为周期的图表:

需要注意的是,这是离线的历史数据,也就是说通过这种方式生成的任意周期图表,并不会自动更新。如需其自动更新,就需要用到一些较为复杂的技巧了,有兴趣的朋友可联系我进行更为深入的探讨。

EA与止损

2008年10月13日 16:44  |  分类:EA, MT4使用

相信从事外汇交易一段时间的朋友,都可能遇到过价格突然刚好打到你预设的止损,即使别的平台都没有到达过这个价位的“怪异”情形,呵呵。那么我们处于弱者方的交易者,怎样去尽量避免这种情况呢?假如你是用MT4平台的话,就可以不给头寸设置止损,转而用EA来判断、执行止损,因为EA是运行在客户端的,平台商无法看到你的EA代码,自然也无从而知你的止损所在了。

如何在每根新Bar出来时才进行判断或交易

2008年10月13日 11:15  |  分类:MT4编程

这是初学MT4编程的朋友问得比较多的一个问题。大家知道,start函数是在每次价格变动时都会被调用的,那么写在start函数内的各种条件判断和交易操作都会同时被执行,如何避免这种情况的发生呢?答案就是在进行各种条件判断或交易操作前,先判断当前的bar是否为一根新的bar(即在该bar的周期内没有进行过判断或交易)。

首先,我们定义一个全局变量:(如不清楚全局变量的含义,可翻查一下相关资料。这里补充说明一下,在MQL语言中,其实datetime类型就是int类型,所以写成如下格式其实也是可以的:然后,我们可以在start函数中进行是否为新bar的判断:

正如前面所说,MQL里面的时间类型其实就是int类型,所以可以进行大小的判断,在MT4中,随着时间的流逝,Time[]数组中的数值是从左往右不断增大的,Time[0]代表当前时间,也是Time[]数组中最大的数值。

如何使用EA

2008年9月26日 12:09  |  分类:EA, MT4使用, MT4编程

初接触MT4的朋友在使用EA时,经常会碰到这样或那样的问题,这里我把这些问题集中一下,希望让大家在遇到问题时能迅速找到答案。
       首先,我们从网上下载到的EA会是两种文件格式中的任意一种:一种是后缀名为mq4的文件;另外一种是后缀名为ex4的文件。后缀名为mq4的文件其实就是EA的源码文件,如果你的电脑上安装了MT4软件,只要双击这个mq4文件就可以直接打开并浏览EA的源代码;而ex4文件就是mq4文件编译后的二进制文件。Mq4格式和ex4格式在使用上没分别,只要放入MT4目录下的experts文件夹内,即可使用,区别是mq4可对EA进行修改并重新编译,而ex4则只能使用,不能修改。把EA文件放入experts文件夹后,打开MT4软件,打开你希望EA进行交易的货币对的图表,然后打开MT4的“导航器”栏(如果没有,可按Ctrl+N调出),其中有一项是“智能交易系统”,把这项展开:

我们可以看到刚才放入experts文件夹的EA文件已经在其中了,双击该EA,就会弹出如下窗口:

其中“允许实时自动交易”一项一定要勾选,其它一般保持默认即可。确定后,如操作正确,即会将该EA添加到当前打开的图表上,这是你可看见图表的右上角有个笑脸的图标:

如果不是笑脸,则检查一下工具栏的“智能交易”按钮是否已按下:

至此,EA即可正常工作。需要注意的是,不是所有使用MT4作为客户端的外汇交易商都允许EA进行交易的,所以有时即使看到笑脸图标,EA也可能没有在工作。

EA是什么

2008年9月26日 07:49  |  分类:EA, MT4使用, MT4编程

很多朋友在浏览我的博客后,经常会问我同样的一些问题:EA是什么?EA能做什么?特别是一些刚从股票转到外汇的朋友,对EA更是觉得陌生,这里我把对EA的一点认识与大家分享一下。
      说到EA,不得不提到MT4。MT4的全名是MetaTrader 4,是由一家叫做MetaQuotes的俄罗斯公司推出的外汇交易客户端软件。MetaQuotes公司只开发外汇交易软件技术,本身并不提供外汇交易服务,很多外汇交易公司向MetaQuotes公司购买其提供的外汇交易软件技术,然后向外汇交易者提供交易服务,实际上,现在大部分面对散户的外汇交易商都采用了MT4作为其外汇交易服务的软件客户端。MT4软件内置了一种叫做MQL(Meta Programming Language)的脚本语言,用户可利用MQL语言把自己的交易思路编写成MT4软件可识别的脚本,然后MT4会根据脚本自动进行判断、下单、平仓、移动止损等交易操作,这就把交易者从繁琐的看盘中解脱出来,把一些可明确定义的模式交由计算机去执行,而交易者可有更多时间去做其它事情了。
       回到我们的主题上来,EA,全名是Expert Advisor。从字面上理解,是专家建议者,我们一般会叫它作智能交易系统。EA实际上就是用MQL语言编写的脚本,可由MT4自动执行。举个例子,假如我希望在两条移动平均线金叉的时候买入,死叉的时候卖出,如果人工操作,就必须坐在电脑前看着屏幕,直到出现信号,并且手工进行交易操作;但如果把这个交易规则编写为EA的话,则只需把电脑开着,在满足上述条件时,EA就会自动帮你进行交易操作,全过程都是自动的,不需要人工干预。

有的朋友提供了这样一种头寸调整方法:资金翻倍,头寸翻倍,简单举个例子,即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的测试结果:

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

关于共同开发EA的一些想法

2008年9月18日 16:38  |  分类:EA, MT4编程

之前我曾提出说每个星期发起一个题目,然后大家共同探讨开发,但反应似乎寥寥,不知道是否因为大家对这个都没兴趣。如果是的话,那我倒也不用继续写那么多东西了,呵呵。我考虑了一下,现在我建立了一个MT4开发网上合作平台,我所有的开发、研究都会基于这个平台进行。有兴趣的朋友可以联系我,我会为你在这个平台中开通一个账号,然后我们可以共同就正在开发研究的EA或其它东西进行探讨、改进。

Pages: 1 2 Next