请观看如何免费下载自动交易
请在Twitter上找到我们!
加入我们粉丝页
有趣的脚本?
因此发布一个链接 -
让其他人评价
喜欢这个脚本? 在MetaTrader 5客户端尝试它
显示:
1384
等级:
(29)
已发布:
2018.03.16 13:18
\MQL5\Experts\
ExpertZZLWA.mq5 (19.13 KB) 预览
\MQL5\Include\
isnewbar.mqh (1.41 KB) 预览
需要基于此代码的EA交易或指标吗?请在自由职业者服务中订购 进入自由职业者服务

安装指南

为了测试 EA 交易,需要下载 ZigZagLW 补充 指标的试用版。ZigZagLW Addition.ex5文件必须位于 MQL5\Indicators\Market 目录。另外,下载 IsNewBar 开发库,并把 isnewbar.mqh 文件加到 MQL5\Include 目录,然后下载 EA 文件 ExpertZZLWA.mq5, 在编辑器中打开并编译它。模型就可以用来测试了。


测试

发布这篇文章的目的就是演示 ZigZagLW 补充指标的潜在获利能力,它也可以简要描述为一个“趋势指标”。如需了解指标算法的详细描述,请参见 https://www.mql5.com/en/market/product/2647. 我们将使用来自https://www.mql5.com/en/code/19102的 EA 交易来开发一个基于这个特定指标的自动交易系统模型。没有从EA代码中删除任何内容 - 不需要的代码行被注释掉了,并且加上了所需的代码块。我还改变了 EA 的名称。修改的代码是像下面这样注释的:

//**************************

...

//**************************

工作原理: 当出现适当信号时,EA会进行买入和卖出,但是它不是一种反转 EA :所有的订单都是通过止损或者获利来关闭的,并且开启订单的数量等于信号的数量。

让我们确定一下评估自动化系统效率的主要标准以及评估的方法。在初始化阶段,我们只有一个模型,想要了解它是否是一个用于构造系统的好的基础,对这个问题的好的答案可以从长时间段测试的余额曲线来获得,如果余额曲线显示出稳定的向上趋势,这种模型可以认为是一个系统的基础,然后可以再加上过滤器,指标,资金管理和其他元素。一般来说,基础必须是稳定的,作为增加功能的好的基石。

为了避免人工评估使用所有参数的不同的余额曲线,让我们对优化做出合理限制,选择(通过尝试猜测)最好的参数集。

这里我们可以使用一些经典思路,我在这里想提到一本书,它不是我的第一选择,我喜欢其中的交易者原则列表,其他作者提出这样的想法通常是不确定地散布在文字中的,这本书就是 John Piper 的 "交易之路(The Way to Trade)" 。打开第九章阅读:

交易的奥秘:

  1. 砍掉你的亏损
  2. 让你的利润奔跑
  3. 有选择性地交易
  4. 顺势交易

在我们的例子中,这些奥秘的意义如下:

  1. 止损应当小
  2. 获利应当大
  3. 在模式种没有程序
  4. 在买入信号处买入,在卖出信号处卖出

四个原则中的三个可以实现,尽管对最后一项有些要注意: 信号并不表示长期的趋势,在价格达到获利的过程中,信号可能有多次改变。在这里信号更像是随机振荡的角色,但是它所需的特点包括在趋势的开始有早期的提醒和明确的形态。所以更准确地说,这里讨论的指标可以部分达到项目3和4,但是都不能完全达到它们。长线趋势指标的问题是有巨大的延迟,但是还是可以使用这样的信号,例如当信号形成时用于调整仓位大小。

第一个屏幕截图显示了优化参数,只优化了两个参数,stoploss(止损) 和 takeprofit(获利):

参数

Level 参数的意思是 ZigZagLW 补充指标中使用的水平,而 mode 显示的是 EA 的运行模式。在 original_mode 中, EA 以最初的 MT45 EA 方式运行; 在 addition_test_mode 中,它使用了 ZigZagLW 补充指标的信号; 在 ma_test_mode 中,它是用了移动平均交叉信号。

这个 EA 在 MetaTrader 5 终端中使用了来自 access.metatrader5.com:443服务器的数据进行了优化,因为它在文章 https://www.mql5.com/en/articles/385#files 中被推荐使用, 使用的数据段是2000年1月1日到2016年12月31日,时段为M15的控制点模式 - 它在第二个屏幕截图中已经显示了。

设置

优化的结果在附件的这里 - complete period.xml.

探讨一下最佳结果: 它在测试结束之前明显有一段很长的失败区间,它以橙色突出显示。

第一次测试

下一次优化是在 2012年1月1日到2016年12月31日的数据中所做的。结果位于文件 partial period.xml 中。

让我们选择最佳结果,再看看这些参数在2000年1月1日到2016年12月31日的整个区间工作得如何。

第二次测试

为了便于比较,我增加了第三个 EA 模式 ma_test_mode. 在这种模式中,使用了移动平均的交叉作为信号,目的是取得相同数量的交易,来比较结果并评估使用相同止损和获利参数的交易信号的效果。

第三次测试


总体观察

结果可能看起来对有些人看起来挺鼓舞人心,但是对另一些人来说还不够好。这里我们只需注意不可否认的事实:

  • 这种模型对应了经验丰富的交易者的推荐,即砍掉亏损而让利润奔跑:它反应在了余额线上,因为净值线是高于余额线的。
  • 净值线在很长的时间段显示了稳定向上的趋势,而回撤较小。
  • 一个纯机械模型,使用了少量的参数优化。

最佳的参数 (StopLoss=3600, TakeProfit=6700, Level=Long_term1) 是一种妥协,测试这些参数可能会更加有趣,因为交易者们常推荐的是 StopLoss=500 以及 TakeProfit=8000。

第四次测试

让我们比较用于移动平均交叉信号的相同参数

第五次测试

模型变化后,参数 StopLoss = 500, TakeProfit = 8000 是和有经验的交易者的想法最接近的,但是它在心理学角度上是最复杂的:因为余额曲线有很长的平台,也有长期的连续亏损交易(直到145个),很少有交易者能够遵循这个建议(也许这也是为什么它还有用)。

在大多数书中描述的建议和技巧在交易中是有用的,我想,就算在特定的时间段完全随机入场,这些参数还将会显示获利,

有些自动化系统相互之间差别很大,但是下单参数相同,在选定的时间段中差不多有相同数量的订单,

与在外汇市场这样相当波动的环境下相比,在其他波动较小的市场上可能有更好的结果。

由MetaQuotes Ltd译自俄语
原代码: https://www.mql5.com/ru/code/19646

箭头和曲线 EA 箭头和曲线 EA

一个基于 "箭头和曲线" 指标的 EA 交易。

AdaptiveRVICloud_System_HTF AdaptiveRVICloud_System_HTF

在一个图表上显示两个不同时段的 AdaptiveRVICloud 指标。

Exp_XDidi_Index_Cloud_Duplex Exp_XDidi_Index_Cloud_Duplex

两个相同的交易系统,基于 XDidi_Index_Cloud 指标的颜色变化来进行买入和卖出交易,可以在一个 EA 交易中使用不同方法来配置。

Exp_ColorJFatl_Digit_Tm_Plus Exp_ColorJFatl_Digit_Tm_Plus

基于 ColorJFatl_Digit 指标信号的交易系统,可以设置固定的仓位持有时间。