首页 > MT4下载 > MT4使用视频 > 外汇交易MT4软件 智能交易的历史测试及优化

外汇交易MT4软件 智能交易的历史测试及优化

admin MT4使用视频 2020年06月18日

  >>MT4软件使用视频教程全集
  大家好,欢迎来到做mt4的达人的第十五课,如何使用mt4软件进行ea也就是程序化交易的历史测试。那么我们使用mt4,除了它的方便快捷以外,最重要的一个功能就是它可以使用程序化交易。那程序化交易我们就需要在使用程序化交易进行实际操作之前,先对这个交易系统有一个全面的效果的了解。

  那这个效果的了解如何去获得呢?就是通过mt4软件的历史测试的功能。那么mt4软件的历史测试功能相对很多其他的软件来讲都是更强大的。那我们这里边就会去讲解一下mt4的历史测试具体是怎么使用的以及应用中要注意到的一些细节问题。我们现在可以先在屏幕上看到mt4的历史测试常见的几个地方。

  一个是开始测试的这个界面。那么在这个界面里边我们需要去测试一个系统的时候,要进行相应的设置。这些设置都和测试具体使用的方法和细节的参数有关。那么这些细节的设置也会决定了你的测试的结果甚至可以决定了你的测试是否是有效的。那么下面这个图是进行历史测试以后的报告,这只是报告中的一个总结性的一个表。

  那么通过测试以后我们会得到这样一个报告。那么通过分析这个报告我们就可以一目了然的看出来,通过mt4软件测试出的这个系统的效果到底怎么样。当然用历史测试功能去实现的一个绩效,对一个交易系统的绩效进行评估,这是对的。但我们也同时要注意到,测试本身也会对绩效产生一定的影响。

  这和你的测试的参数,和你的历史测试的这个计算的数据的这个存储的质量都是有关系的。所以我们再进行历史测试之前,一定要先保证我们的基础的这些数据是完整的有效的。好,下面让我们打开mt4软件,来实际看一看历史测试到底是怎么一回事儿。我们将fbs的mt4软件打开,因为这个我们也用的比较习惯了。那历史测试在什么地方呢?一般情况下,我们在打开软件的时候是看不到历史测试界面的。

  那我们选择菜单中的显示智能交易测试,也就是我们说的历史测试。我们点击它会看到下面多了一个窗口。这个窗口就是历史测试的窗口。为了方便我们将其他的窗口隐藏一下,来扩大这个历史测试窗口。假设我们将这个历史测试窗口放到最大。好,我们看到历史测试窗口,首先看一看它第一个选项是测试哪一个智能交易系统。那我们点击它,会看到下拉菜单里边有目前系统里边已经安装好的智能交易。

  其中macd sample是mt4软件自带的是一个例子。如果我们自己在其他地方找到了别的ea,也就是自动交易系统的话,也可以直接拷贝到mt4软件的experts目录下。这个我们在前面讲过,拷贝在这个目录下,然后重新启动mt4软件。我们就可以在这个下拉菜单里边看到你所加入的新的ea,也就是程序化交易了。那我们选择好测试哪一个系统之后,我们再看下面的商品。

  商品点击可以看到一个下拉菜单出来,里边是目前系统里面的各种商品。各种商品一般情况下。我们举例都是用欧元美元来去举例。所以我们选择了usr、usd、eur、usd、欧元。那么看右侧时间周期,点击我们看到这里边有多个时间周期可以选择。也就是说你选择哪一个时间周期,就表示你将这个ea加载到了指定的时间周期的k线图上。那么在这种情况下我们进行测试,就表示这个ea在指定的k线图下实际执行的时候所得到的结果。

  这个是一个时间段的选择。复盘模型,点击我们看到复盘模型有三个可选项。第一,每一个即时价位。第二,控制点。第三,仅用开盘价。那三位有什么不同?这个是在我们历史测试中的不同的计算的方法。首先这三个不同的计算方法会使用不同的测试的时长。因为这三种不同的方法会用不同的计算方式,有复杂的,有简单的。我们看第一个,每个记时价位,这是计算时间最长的,也是测试时间最长的,但相对来说是最准确的一种测试方法。

  每个即时价位,意思是使用历史中心中的每一个可能的一分钟的价格,包括tick价格,来去执行指定的ea的历史测试。所以它的计算量是最大的,相对来说也是最准确的。第二,控制点是基于最近的小一级时间段内的十二个控制点的分形插值计算,这是一种数学建模的概念了。

  他对于非短线交易,就是对点叉不是很敏感的。这种程序化交易是可以用它来测试的,相对会比较快的完成。第三种,仅用开盘价进行开盘价。也就是说每一根k线上面,每一个指定的时间段的k线上面,我们只用它的开盘价来算。那这种测试显然是比较局限性大。

  但是在某些ea,假如你的ea他的计算逻辑就是只用了开盘价没用其他的任何价格。那我们反而就可以直接用这个来来去测试,选择这个去测试,这样速度是非常快的。

  好,我们还是用回我们最常使用的每个即时价格。看下一项,试用日期。但我们不选择试用日期的时候,系统将使用所有可能使用的历史资料来进行测试。当我们选择了试用日期以后,我们可以从开始的日期、选择结束的日期选择,可以设定不同的开始和结束时间。

  这样可以针对不同的时间段进行多次测试,看看效果。下面有个复盘显示,我们现在先不讲复盘显示是怎么样,一会儿我们会做演示。那么对于一个ea系统,我们设定了如下的这些参数以后就比较完整了。那同时我们还可以做什么设定呢?我们可以看右侧智能交易属性。

  那么点开智能交易属性以后,我们可以设定这次测试的起始资金,我们还可以设定一些相应的起始资金所对应的这货币的名字种类,我们还可以选择是否使用遗传基因运算法。这都属于数学概念,可以在网站上面查看我们相应的这个细节的说明的报告。那还可以更改,这个就要进行测试的ea的参数的数值。

  那么更改不同的数值,显然测试的结果是不一样的。这个方便我们对一个ea在多种参数的组合情况下的效果进行检验。我们可以通过更改ea的输入参数来去进行不同的测试。

  优化,优化这一项我们现在先不讲,一会儿会提到这样看到我们设定好了一个需要进行历史测试的各个细节参数以后,我们就可以点击开始了。开始在右下角,点击以后,我们可以看到,系统开始收集数据,还正在快速的前进。这就是在测试,测试完了以后,我们看到什么呢?结果、净值图、报告和日志。

  这里边我们首先应该先点开日志看,看到日志还在不停的输出。日志是什么?日志是将你历史测试中的这个测试过程中的每一个动作入场出场的动作,包括错误提示都会输出出来。那我们首先看日志的原因是什么?是我们要看看里边有没有错误的提示、重要的提示。

  如果我们直接就去看结果,就去看图表,就去看报告的话,我们可能并不知道它里面可能隐含了一些错误。也就是说程序不一定是完美的,他可能有错误。我们先看看有没有错误。如果没有错误的话,我们再去看报告。如果有错误的话,我们首先要想的是不是参数设的有问题,是不是系统本身有问题,我们不要忽略这些。

  保证你的系统报告测试结果是在正常准确的、没有错误的执行ea的情况下得出来的结果,这才是有效的。确定了日志,没有问题以后,我们来看结果。点击结果标签,看到从上到下,列出了系统在指定的时间段里边,每次买卖包括修改订单的动作,在这里边一次都列下来了。

  我们看到非常的详细,每一张表同时列出了每张单子初查以后的获利和当时的账户余额。再看净值图,净值图会表现出来这个ea在执行中的资金的变化情况。我们既可以看到它的增长情况,可能也也同时会看到他的亏损情况,还可以一目了然的看到他的回复。比如这里就有一个很大的回复,这些都是我们在交易中要关注的东西。所以我们在测试报告里边也会比较关注它,像这种最大回复,资金增长是否平稳等等。

  我们在看报告,报告里面会详细的记录了这次测试的各种的数据,这里边数据包括了起始资金,总盈利,盈亏比盈亏,还有下交易的总的次数,最大的亏损次数,还有买单卖单各自的亏损的情况和盈利的情况,非常详细。这个表我们在这儿不细讲,大家伙去使用的时候可以去研究一下,它可以非常直接的反映出你的这个系统的,在各个细节上的效果,包括稳定性,包括风险程度。

  那同时我们还要注意的这个表格里边顶部有几个数据。第一,经过测试过的职柱数。那也就说我们这这次测试使用了多少根k线。那在这里边我们看到是二六五三,是一万两千六百五十三根k线来进行测试。第二用于复盘的即时价格数量。这里边我们提示了用了一五四五六九六这么大的一个数来进行测试。

  看来历史数据的数量还是不少的。那么复盘模型的质量,我们这里写的是n/a。是什么意思?就是这个质量不佳。实际上我们要求复盘模型的质量应该能要尽量的达到百分之八十到百分之九十。

  那这个质量说明什么?质量本身说明了你的历史数据的准确性连贯性。尤其是小周期的历史数据的连贯性和准确性,我们说的小周期最小的就是一分钟,就说你一分钟的数据越完整,和其他的周期的数据对应的越好。那么你的测试质量就会越高。这个有一个相应的算法,我们也不去解释了。

  这是一个很复杂的一个数学算法。那么这个复盘质量要上去,然后它的结果报告我们才进行去分析。好,看到一个测试会产生了这么详尽的结果。我们对使用ea来进行评估评估各种交易系统、交易方法、交易手段的时候,就会有更多的信心。那刚才我们在讲开始进行ea测试的这个界面的时候,还有两处没有讲。

  第一个就是智能交易窗口里边有个优化的选项。那这个优化对应在哪儿呢?对应着外边的这个优化的选项。那所谓的优化是什么?优化就是指如果选择了优化,那么这个测试过程中会根据你的历史中心的数据的情况来进行相应的参数的试验。那他会将最符合目前的这些历史数据的当前的ea的参数的组合给您计算出来的,那会取得一个最大的收益的情况下,算出这么一组参数值了。

  那这所参数值运用在你当前测试的这个ea的参数里面,会得到最佳的测试结果,这就是优化。那优化可以让我们看到一个ea在哪个参数下可以取得最好的绩效。同时我们也要注意到,这种优化是针对历史数据的。也就是说对于历史已经发生的这些事情,我们找到了一个取得最大收益的这么一个参数组合。

  可他对未来有没有指导意义,有,但不是绝对的。所以大家要注意这一点。那么优化这个理论上讲。如果我们进行细致的研究的时候,我们会选它。因为我们一定要看看这个系统到底他哪个参数才是最好。而实际使用中我一般是不选的,为什么呢?因为我们在测试、在设计交易系统的时候就已经考虑了这些问题。我不会在测试里面再去过多的去看他。

  第二个复盘显示。复盘显示是什么?我们来看看,点上复盘显示以后,他会在测试的过程中,将历史数据进行动态的重复回放。点开始。看到上面出现了一个给k线图。那么这个k线图就是我们选择了复盘显示以后出现的k线图,我们看一下这个k线图上除了有商品的名字以外,还有一个不同的符号。

  这就表示这个图k线图不是实际k线图,而是测试中显示的k线图。那我们看这个k线图在干什么?他在快速的重复历史的这些数据,让我们能够形象的看到我们的交易系统在测试中的每一根k线上到底是怎么去执行的。

  那我们也看到了这个k线图看起来有点慢,运行得。这样的话我们进行一个长时间的测试的时候,将会非常痛苦等着他。那怎么办?我们选择将复盘显示这里面的滑动条向右侧滑动,它就会运行得更快。相对来说,就会更快。快,跑的更快了。这样这个k线也会走的更快,等待的时间会短一些。

  当然我们也可以直接将他拉到头,直接看结果。看,像一匹跑起来的马一样不受控制。我们看到每一个k线图在运行的时候,它的进场出场单的相应的那个位置都产生了相应的线,就像我们日常使用mt4进行交易的时候,会显示出来的线是一样的。我们不等他了,我们直接等他测试完。看,测试完了以后,我们再来看这张图。我们将他缩小了。

  我们看到图上有很多点,这些点都是每一个交易所产生的点,我们注意看。放大以后,我们找这些点。这一个点上面写着sell是有个空单。这样的点显然是出场的。

  看,这都是每一个交易所产生的点。那么同时,这个图下边将我们测试所用的macd的这条线也进行了画出。那么这张图有什么作用?我们可以方便的对进出场点和我们使用大的技术指标的数值和他的状态进行肉眼的观察,来去判断这个系统是不是按我们所想象的那个样子执行下来的。所以这是一个肉眼判断进行历史测试的一个工具,辅助工具。

  那综合来看,mt4的历史测试功能强大,效果也是不错的。我们之前也一直提到了mt4的历史测试要和他的数据有直接的关系。那我们来看一看这个历史数据。到底是怎么去保证它的准确性的?这里边我们提一个我们常用的方法。常用的方法就是首先在k线图里,将k线图的所存储的k线数放到最大。

  然后在历史中心那一边,尽量的去下载mt4公司所提供的更多的历史数据。那这整个过程怎么执行?我们先看选择工具选项。我们先将图表k线图里面的这里的数据,历史数据中最多柱数设的非常大,设完了以后,我们点确定,还是工具选历史数据中心,点击下载。

  设完k线图表为一个非常大的数以后,我们点击下载会从mt4公司的历史数据中心里边下载,尽量多的数据过来。那么下载完了以后,我们就会看到每一个商品的这里边数据库的数据的记录个数都会变的非常大。那么当有了这些大量的数据做基础以后,我们再进行历史测试,就变得相对更加准确更加有效了。

  那同时还要注意一点,因为不同的公司,mt4的服务器还是有不同的数据的,比如我们现在用的fbs数据,因为他的速度还是比较快。那我们要注意一点,如果我们在下载历史中心里面进行下载的时候,他下载的是mt4公司服务器上的历史资料。而我们当前k线里边最靠近当前的这些数据,是我们从fbs的服务器上面下载下来的。

  两个服务器是不一样的。这对所有的经济商都是都是一致的,都是这么一个概念。那这种数据的不一致,让我们在历史测试的时候要注意,如果我们选择一个比较靠近历史的时间段进行测试的话,那我们就要避开这两个数据之间的交差。也就说在选择开始时间和结束时间的时候,我们要尽量选的比较靠近历史一点。

  假如我们这些正在使用的这个fbs的平台,它的历史数据比较全,那我们就用他的历史数据,我们历史中心里边也就不要去下载了。我们在选择开始和结束时间段的时候,也选择这个fbs的这个k线图上所能展示出来的这个时间段,就不要选择其他的时间段。注意到这些细节以后,我们进行历史测试才是有效的,才是值得信赖的。

  希望大家也能够用好mt4的智能交易历史测试这个功能,给你的交易带来更多的方便和快捷。这节课我们就讲到这,再见。

标签: