
测试交易货币对篮子时出现的形态。第三部分
引言
我们正逐渐接近交易货币对篮子时出现的形态测试的最后部分。您可能还记得, 在我们 之前的文章 中, 我们描述过当组合指标图形与移动平均线交叉时形成的形态。我们还研究过利用它作为 超买/超卖线突破形态 过滤器的可能性。
我们已评估过组合指标上出现的形态的发展 - 振荡器图形。此话题可以被认为是完整的。
我们来测试最后的形态类型。在关于交易货币对的主要 文章 中, 有关它的说明位于 4 和 5 节。我要简单提醒您, 您可以在哪里找到这样的形态。
每双货币都属于其篮子。例如, EURUSD 代表两个货币篮子 — EUR 和 USD。这一货币对的行为可以使用两个组合指标进行分析 — 每个篮子对应一个。我们分析这些指标读数之间的差异, 以便检测它们相互之间的相对弱势加强势。因此, 我们能够得出趋势方向的结论。
组合指标图形基于所描述的原理, 我们在其上查找形态 4 和 5。我们已经知道它们的外观共性: 其中一个是基于超买/超卖线的突破 (我们将在本文中测试它), 第二个是在组合指标与移动平均线的交汇处。
我们来回顾一下这种形态的优点:
- 由于它考虑了货币对中的两支货币而非单支货币的行为 (如以前的文章 这篇 和 这篇), 分析变得更加准确。
- 根据这些形态入场时只针对一对执行, 而不是在整个篮子上执行。这反过来又给我们带来一些其它的好处:
- 更少的回撤;
- 为交易者带来更舒适的心理承受度, 并在日常仓位管理中提供便利。
形态研究
形态研究保持不变, 但我们会在新的组合指标图形上寻找它们。首先, 我们来看一下由组合指标图形突破超买/超卖等级的形态。假设我们已经知道等级的位置。在技术分析中这种形态众所周知, 其描述在 这里。我们将在蜡烛收盘时识别它。它看起来应该很明显:
目标形态 |
无形态 |
开始研究的工具
和以前一样, 我们使用 "United WPR" 指标和基于它的工具。主指标代码已显示在 前文。在本文中, 它们附加在 test.zip 当中。首先, 我们来定义可能的交易数量。
可能的交易数量
我们已经确定可能的交易数量不止一次。我们这样做是为了比较结果, 并评估超买和超卖等级的位置。您可能还记得, 这些等级在父本 WPR 指标中的位置如下:
- 超买等级 - 20%
- 超卖等级 - 80%
但是 "组合 WPR" 从 -100% 变为 +100%, 所以等级分别变为 +60% 和 -60%。如果它们的突破数量与所获得的结果相当, 那么我们假设这些等级保持不变。
我们将按照以下顺序研究 H1, H4 和 D1 时间帧。
- 将 testDistance.mq5 指标放置在图表上。还有两个其它指标 — testWPRjpy.mq5 和 testWPeur.mq5。
- 首先, 改变最后两个指标的代码: 它们当中的每一个均对应 testDistance.mq5 指标所在货币对中的一支货币。例如, testWPRjpy.mq5 指标包含 JPY 篮子的货币对, 那么 testWPReur.mq5 — 对应 EUR。所以, testDistance.mq5 放置在 EURJPY。
- 将 testIndexZig-Zag1.mq5 指标放置在 testDistance.mq5 指标图形上方 (我们已在 前文之一中描述了前者)。它突破 testWPReur.mq5 的数值范围 (从 100% 到 -100%), 间隔从 0 到 99, 并计算每个间隔内的突破次数。 将获得的数值假设为 testIndexZig-Zag1.mq5 指标的工作结果 (我们将其简称为 "结果") 并保存到文件中。生成这个文件是当前阶段的主要目标。出于便利, 下面是以表格形式提供的文件片段:
间隔编号 指标范围 最小指标值 最大指标值 突破次数 ... ... ... ... ... 47 -4 -6 -4 3 48 -2 -4 -2 5 49 0 -2 0 5 50 2 0 2 7 ... ... ... ... ... - 我们来分析一下结果文件。
我们仅需简单地将 testWPRjpy.mq5 和 testWPeur.mq5 指标指派到所有已分析货币对的每一支货币上即可处理。我们使用 EURJPY 和 EURUSD 作为示例。
我们来比较两个货币对的三支货币 (EUR, USD 和 JPY) 在三个时间帧 (H1, H4 和 D1) 的超买/超卖等级突破。
最有可能的是, 检测到的形态要比 之前 研究过的情况少得多。原因很简单: 为了使这个组合指标的图形突破超买/超卖等级, 应该同时发生两个事件:
- 基准货币超卖;
- 报价货币超买,
或反之。换言之, 一支货币必须尽可能弱势, 另一支货币尽可能强势。这并非一个非常频繁的情况, 所以突破的数量相较很少。
上述两个事件的巧合还可能具有非市场性质, 例如同时发布 "相斥导向" 的新闻。在这种情况下, "超买" 和 "超卖" 的概念并不完全正确, 但为了不使问题复杂化, 我们依然采用它们。
testIndexZig-Zag1.mq5 操作 (生成的文件) 的完整结果位于附件 Files.zip 文档中。测试是在整个可用历史数据上进行的。
我们总结表格中最重要的结果:
品种 |
时间帧 | ||
D1 | H4 | H1 | |
EURJPY | 2 / 3 | 19 / 19 | 39 / 46 |
EURUSD | 3 / 1 | 17 / 17 | 31 / 50 |
EUR | 5 / 1 | 15 / 16 | 67 / 73 |
JPY | 5 / 5 | 20 / 17 | 79 / 62 |
USD | 2 / 9 | 13 / 9 | 80 / 69 |
我们来澄清内容:
- 前两行是 testIndexZig-Zag1.mq5 针对两个选定货币对的操作结果。
- 最后三行是 testIndexZig-Zag1.mq5 指标针对三个 单独 货币对篮子的操作结果。每个篮子由基准货币, 或前两行中货币对的报价货币组成。
- 右边三列中的数值是来自附件 Files.zip 文档文件中发现的超卖 (-60%)/超买 (60%) 等级的数量。例如, 80/69 意味着检测到等级 -60% 突破 80次, 60% 的等级突破 69 次。
我们的任务是比较前两行和后三行的数据。在本节开始时, 减少突破数量的初步预测在 H1 时间帧是合理的, 而在 H4 和 D1 则 "失败"。我们可以假设 H4 和 D1 时间帧没有足够的突破来统计确定的结论, 或者我们可能需要改变超买/超卖等级。但我们不会那样做。分析仅针对两个货币对进行, 不足以作出正确的结论。因此, 一旦统计数据积累足够, 可能需要调整超买/超卖等级的位置。
不过, 我们可以得出一个合理的结论: 和以前一样, D1 上的入场数量可以忽略不计。
开始测试
我们 已测试过 一个类似的形态。因此, 我们使用已有的 testEAbasket2.mq5 EA 并对其进行略微修改。
- EA 调用 testDistance.mq5 指标。
- 尽管已有开单, EA 仍然可以在每次检测到形态时入场 (在每个超买/超卖等级突破处)。
我们稍微改变形态形式以便增加交易数量。在 EA 参数中反映这些更改。
- SELLPROFIT. 当组合 WPR 达到此值时, 篮子的所有空头持仓平仓。默认是 0%。
- SELL1LIMIT. 这是点 1 处的组合 WPR 的最小值 (参见上图), 以便开始识别篮子卖出形态。默认是 65%。
- SELL2FROM. 点 2 处组合 WPR 的最大值以便识别篮子卖出形态。默认 60% 是超买等级。
- SELL2TO. 用于最终识别篮子卖出形态的点 2 处组合 WPR 的最小值。默认是 40%。
- BUYPROFIT. 当组合 WPR 达到此值时, 篮子的所有多头持仓平仓。默认是 0%。
- BUY1LIMIT. 这是用于确定篮子买入形态的点 1 处组合 WPR 的最大值。默认是 -65%。
- BUY2FROM. 为了识别篮子买入形态, 点 2 处组合 WPR 的最小值。默认 60% 是超卖等级。
- BUY2TO. 对于篮子买入形态的最终识别, 点 2 处组合 WPR 的最大值。默认是 -40%。
此外, 主要指标 testDistance.mq5 应用 testWPRХХХ.mq5 指标, 提供某个篮子的组合 WPR 值。将最后的指标计算方法从算术改为几何平均值。计算指标值的不同方法在 此文 中有详细解释。在此我们只显示测试指标中负责主计算的代码片段:
double m_dParam = 0.143; // 1/LG double GetValue(int shift) { double dBuf[1]; double res=0.0; res = 1; for (int i = 0; i < LG; i++) { CopyBuffer(h[i],0,shift,1,dBuf); if (bDirect[i]) res *= dBuf[0]; else res *= dBuf[0] + 100; } res = -MathPow (MathAbs(res), m_dParam); return (NormalizeDouble((res + 50) * 2, _Digits) ); }
全套应用指标和 EA 在附件存档 test2.zip 中提供。
我们从 EURUSD 开始我们的工作。去年的结果:
针对 AUDUSD 和 USDJPY 的进一步测试未产生交易。显然, 篮子的一支货币超买, 同时另一支货币超卖的情况相当罕见。我们通过改变形态参数来增加突破的次数并继续测试。下面显示了更新的输入列表。
- SELLPROFIT. 无改变。
- SELL1LIMIT = 50%.
- SELL2FROM = 40%
- SELL2TO = 20%.
- BUYPROFIT. 无改变。
- BUY1LIMIT = -50%
- BUY2FROM = -40%
- BUY2TO = -20%。
EA 针对主货币对的测试报告显示在附件存档 result.zip 中。获得的损益显示在表格中:
AUDUSD | EURUSD | GBPUSD | NZDUSD | USDCAD | USDCHF | USDJPY | |
---|---|---|---|---|---|---|---|
H1 | -27.63 | 48.28 | 49.34 | -20.02 | -20.04 | 29.82 | -19.99 |
H4 | -35.10 | 14.44 | 1.60 | -49.18 | -38.75 | -15 | 2.46 |
D1 时间帧几乎没有交易, 因此它不包含在报告中。在其它时间帧内, 交易也很少。仅在 H1 上检测到可接受的结果。它显示了三个货币对的利润 (EURUSD, GBPUSD 和 USDCHF)。其它主要货币对表现出一些损失, 尽管不是那么明显, 但不能假定算法失败。我们不要忘记, 我们测试了最简单的 EA 版本, 没有过滤, 一条单独的入场规则和一条 - 离场。当然, 这对于真正的交易是不够的。我们可能会尝试改进 EA 并使其更高效。我们分析一下获得的结果, 找出我们下一步应该处理的算法。
分析测试结果
第一件我们应停止的事情是 H1 和 H4 交易数量之间的差异。可以理解的是, H4 的交易量较少, 因为与同样的时间间隔的 H1 相比, 蜡烛数量少了四倍。看起来交易的数量也应该少四倍。在我们的研究中, 这个规则有点黏性: 在所有分析的货币对上, H4 的交易少于 H1。由于 H1 上的交易很少, 因此存在一个问题: 如果我们想按照该方法在 H4 交易, 我们应该怎么做?只能有一种解决方案 - 进一步 "扩展" 这种形态:
- SELLPROFIT. 无改变。
- SELL1LIMIT = 45%.
- SELL2FROM = 40%
- SELL2TO = 10%。
- BUYPROFIT. 无改变。
- BUY1LIMIT = -45%
- BUY2FROM = -40%
- BUY2TO = -10%。
这可能会稍微增加交易的数量, 但它如何影响盈利和回撤?我们针对两个货币对进行额外的测试 - GBPUSD (它在 H1 表现出很好的利润) 和 AUDUSD (它表现出亏损)。
获取的结果与存档 result-1.zip 挂钩。事实上, "扩展" 形态预计会增加交易数量。值得注意的是, 盈利/无利被证明继承自 H1 - GBPUSD 看到了利润, 而 AUDUSD 则遭受了损失。但是这种形态是否已经 "扩展" 并开始更频繁地自我识别?最初, 该形态出现在超卖/超买线突破。在两次 "扩展" 之后, 谈论突破和曲线的新位置是相当困难的。也许, 交易者不应该在高于 H1 的时间帧上寻找这种形态, 以确保安全。
我们来看看测试过程中检测到的回撤。它们出现在上面的 EA 针对 EURUSD 的测试屏幕截图中。除了回撤之外, 我们还可以看到, 订单仅会在稍后回归到更加温和的位置才能获得稳定的利润。我们已在 此处 的类似形态测试中看到了这一点。可能的原因是什么?
- 离场规则的缺陷。正如您可能记得的, 当组合 WPR 突破其零轴时, 将执行离场。换言之, 它在基准货币和报价货币之间达到平衡。显然, 这还不够, 我们需要其它方法来定义离场时间。但在这种情况下, 我们不会采取任何其它手段来排除外部影响。
- 形态识别的缺点。我们已经扩展了 H1 和 H4 的输入。在 "扩展" 形态的同时, 我们已将超卖/超买等级上调至 45-40%。因此, 当系统自动发现形态时, 可能还没有真正的超卖/超买线突破。例如, 该线可能仅在一支货币上突破, 或者两支货币都可能在超卖/超买等级附近震荡, 而实际上没有穿越它们。在这种情况下, 当前的趋势可能会持续下去, 不会发生逆转。这种事件过程的可能性增加了更多额外的形态 "扩展"。形态输入越宽, 它变得越不重要。所描述的事件可能会导致回撤。
现在, 测试已经完成, 到了为我们的整个工作做出结论的时候了。
结论
- 该平台在 D1 时间帧中未能识别, 在 H4 上也很罕见。我不建议在高于 H1 的时间帧内寻找它。
- 我们可以通过降低对其形式和质量的要求来 "扩展" 这种形态, 以便增加可能的交易次数。但是如果我们太过度了, 这种形态就会失去它的能力, 并不能反映真正的超买/超卖等级突破。因此, 扩展形态要小心。
- 检查形态的盈利能力并不令人意外。不过, 有一些很有前途的特征。在货币对上没有检测到严重的损失, 其中一些甚至表现出利润, 而在我们以前的测试中, H1 时间帧完全是红色。这种形态显然有可能通过采用标准的技术手段产生稳定的利润 - 尾随停止等等。
- 所描述的形态很少出现。它应被视为增强其它形态的附加信号, 而不是制定入场决策的主要工具。我们稍后会尝试弄清楚这一点。
文章中使用的程序
# | 名称 |
类型 |
描述 |
---|---|---|---|
1 | test.zip | 存档 |
判断可能的交易次数的工具。 |
2 |
Files.zip | 存档 | 判断一些潜在入场时机的结果。 |
3 | test2.zip | 存档 | EA 测试工具。 |
4 | result.zip | 存档 | 形态测试 HTML 报告。 |
5 |
result-1.zip | 存档 |
在 H4 上的额外测试 Html 报告。 |
本文由MetaQuotes Ltd译自俄文
原文地址: https://www.mql5.com/ru/articles/4197
注意: MetaQuotes Ltd.将保留所有关于这些材料的权利。全部或部分复制或者转载这些材料将被禁止。
This article was written by a user of the site and reflects their personal views. MetaQuotes Ltd is not responsible for the accuracy of the information presented, nor for any consequences resulting from the use of the solutions, strategies or recommendations described.
