指标: Harmonic 模式搜索 V2 - 页 4

 
davesarge1:

你好,安德烈、


改进该指标的另一个想法(以及 1.618 AB=CD 和点击模式突出显示)是在 D 点水平旁边显示价格。 例如,附图上的 "D 预测看涨 Cypher 110.821":在附图上,"D 预测看涨 Cypher 110.821"。 现在,我必须将 MT5 上的光标切换为十字光标,才能看到预测价格。 我正在检查所有时间框架上的形态,如果能在预测的 D 点旁边看到价格就更好了。

谢谢、

大卫

您好、


如前所述,有许多微小的调整是可能的。您的要求只需稍稍修改代码即可实现。打开代码编辑器,导航到第 1634 行,将其中的

...      
ObjectSetString(0,pointD,OBJPROP_TEXT," D "+prefix+_patternNames[k]);
...

改为

...
ObjectSetString(0,pointD,OBJPROP_TEXT," D "+prefix+_patternNames[k] + " " + NormalizeDouble(D, _Digits));
...

添加黄色部分。然后按编译键,您就可以在投影的 5 点图案上获得所需的结果。对于 4 点图案,在第 1523 行也做同样的修改。


下面的颜色编码体现了这背后的原理:

+ " " + NormalizeDouble(D, _Digits)

对应于 "D 预测看涨 Cypher 110.821"。因此,如果您使用 "D 预测看涨 Cypher - 110.821"(添加分隔符-),那么代码将如下所示:

...
ObjectSetString(0,pointD,OBJPROP_TEXT," D "+prefix+_patternNames[k] + " - " + NormalizeDouble(D, _Digits));
...
 
Andre Enger:

又见面了、


如前所述,有许多微小的调整是可能的。您的要求只需稍微修改一下代码就可以实现。打开代码编辑器,导航到第 1634 行,将其中的

改为

添加黄色部分。然后按编译键,您就可以在投影的 5 点图案上获得所需的结果。对于 4 点图案,在第 1523 行也做同样的修改。


下面的颜色编码体现了这背后的原理:

对应于 "D 预测看涨 Cypher 110.821"。因此,如果您使用 "D 投射看涨赛弗尔 - 110.821"(添加分隔符-),那么代码将如下所示:

非常感谢!我收到了一条警告信息,"从'数字'到'字符串'的隐式转换",但运行正常。
 
davesarge1:
非常感谢!我收到了一条警告信息,"从'数字'到'字符串'的隐式转换",但它工作得很好。

是的,应该运行正常。

在这种情况下,警告并不是恶意的,可以安全地忽略。或者,为了编译时不出现警告,可以在调用 DoubleToString() 时 将数字(预计价格)明确转换为字符串

... + " " + DoubleToString(NormalizeDouble(D, _Digits),_Digits));

或者,更简单地说,通过显式转换

... + " " + (string)NormalizeDouble(D, _Digits);
 

如果您还希望在文本中看到预测的 PRZ 最终价格,如 "D 预测看涨梭形 110.821 至 110.678",可以通过三种修改方式实现:

  1. 我们之前修改的两行应改为
    ObjectSetString(0,pointD,OBJPROP_TEXT," D "+prefix+_patternNames[k]+ " " + (string)NormalizeDouble(D, _Digits)+" to "+(string)NormalizeDouble(farD, _Digits));
  2. 方法声明(第 1537 和 1471 行)必须获得新参数
    datetime DDateTime,double D,double farD)
  3. 方法调用(第 953 和 955 行)必须发送参数
    ...                     
       DisplayProjection(patternIndex,bullish,ADateTime,A,BDateTime,B,CDateTime,C,DDateTime,D,farD);
    else
       DisplayProjection(patternIndex,bullish,XDateTime,X,ADateTime,A,BDateTime,B,CDateTime,C,DDateTime,D,farD);
    ...

 
Andre Enger:

如果您还希望在文本中看到预测的 PRZ 最终价格,如 "D 预测看涨梭形 110.821 至 110.678",可以通过三种修改方式实现:

  1. 我们之前修改过的两行应改为
  2. 方法声明(第 1537 和 1471 行)必须获得新参数
  3. 方法调用(第 953 和 955 行)必须发送参数

好的,有意思,这样我就可以在到达 D 点之前看到 PRZ 停止点了? 顺便问一下,PRZ 停止点是如何计算出来的? 是 D 点的某个百分比点,还是 PRZ 的最后一级?
 
davesarge1:
好的,有意思,这样我就可以在到达 D 点之前看到 PRZ 止损点了? 顺便问一下,PRZ 止损点是如何计算出来的? 是 D 点的某个百分比点,还是 PRZ 的最后一个水平?

是的,可以在投影 文本标签中看到 PRZ 止损点的价格。

它是用前面描述的 "交叉 "方法计算的,并应用指定的松弛。再次以看涨 Gartley 为例,假设区间松弛值为 0,并且 (0.786 + 标量松弛值) XA 与 1.272 BC 比率相交(即重合),则 PRZ 将在此处结束,不会一直向下延伸至 1.618 BC,因为 XA 规则和比率在此处无法满足。这意味着,如果达到止损点,该形态将失效,因为在价格最终反转,并非所有比率(即使增加了松弛)都得到满足。

因此,再简单点说,就是每个比率所允许的最后一个 "共同 "价格
 
Andre Enger:

是的,这样就可以在投影文本标签中看到 PRZ 停止点的价格。

它使用前面描述的 "交叉 "方法计算,应用指定的松弛。再次以看涨 Gartley 为例,假设区间松弛值为 0,如果 (0.786 + 标量松弛值) XA 与 1.272 BC 比率相交(即重合),则 PRZ 将在此处结束,而不会一直向下延伸至 1.618 BC,因为 此处不符合 XA 规则和比率。这意味着,如果达到止损点,该形态将失效,因为在价格最终反转,并非所有比率(即使增加了松弛)都得到满足。

因此,简单点说,它是每个比率所允许的最后一个 "共同 "价格。

你好,安德烈、

我对一些预测 形态和它所选择的 PRZ 水平仍有些不确定。 例如,我附上了一张预测看跌蝙蝠的图表,其中 XAD 79 和 CD 218。 然而,在这一场合,XAD 88.6 和 CD 2.618 非常接近,只是稍高一点(111.3),但指标却没有选择这一点作为预测的 D 点,这有什么原因吗?

谢谢、

戴维

附加的文件:
 
davesarge1:

嗨,安德烈、

我对一些预测形态和它所选择的 PRZ 水平仍有些不确定。 例如,我附上了一张预测看跌蝙蝠的图表,其中 XAD 79 和 CD 218。 然而,在这一次,XAD 88.6 和 CD 2.618 非常接近,只是高了一点(111.3),但指标却没有选择这一点作为预测的 D 点,这有什么原因吗?

谢谢、

大卫

蝙蝠形态的 XAD 理想位置是 88.6,CD 在 161 到 261 之间。

但是,指标 对单数比率的松弛值为 10,对区间比率的松弛值为 1。不过,这些数字可以在设置中更改为单数松弛和区间松弛。

因此,它将在 78.6 (88.6 - 10) 到 98.6 (88.6 + 10) 之间寻找一个区域,在此区域内,它认为 XAD 比率已满足要求。预测将从第一个可能的数字开始,在本例中为 79。只有在其他比率(如 CD)的限制下,它才会选择一个更高的数字。

例如,如果 CD 在该特定价格下只有 150,则预测起点将增加到 CD 160(161 - 1),这可能会使 XAD 更接近理想值,甚至更高。如果价格需要上升到 XAD 98.6 以上才能达到 160 的 CD 值,指标就会判定该形态无法满足要求,并移除预测。

另一方面,如果达到预测值,则会显示 PRZ 结束线,要么在 XAD 98.6,要么在 CD 262(261 + 1),以先到者为准。因此,从某种意义上说,除非受到其他比率的限制,否则它将从 XAD 比率区域中选择最后一个可能的数字。

因此,只要价格位于 PRZ 区域,指标就不会在意理想比率在哪里,它所考虑的只是价格是否在每个比率的加/减松弛范围内。

 
Andre Enger:

蝙蝠形态的 XAD 理想值为 88.6,CD 为 161 至 261。

但是该指标在单数比率上的松弛值为 10,在区间比率上的松弛值为 1。不过,这些数字可以在设置中更改为单数松弛和区间松弛。

因此,它将在 78.6 (88.6 - 10) 到 98.6 (88.6 + 10) 之间寻找一个区域,在此区域内,它认为 XAD 比率已满足要求。预测将从第一个可能的数字开始,在本例中为 79。只有在其他比率(如 CD)的限制下,它才会选择一个更高的数字。

例如,如果 CD 在该特定价格下只有 150,则预测起点将增加到 CD 160(161 - 1),这可能会使 XAD 更接近理想值,甚至更高。如果价格需要上升到 XAD 98.6 以上才能达到 160 的 CD 值,指标就会判定该形态无法满足要求,并移除预测。

好的,我明白了。因此,根据松弛设置,预测 点 D 实际上是两个腿部比率都在可接受数字范围内的第一个价格。在这种情况下,我确实应该将 D 点视为 PRZ 的起点,而不一定是最佳或理想价格。
谢谢!
 
davesarge1:
好的,我明白了。因此,根据松弛设置,投影点 D 实际上是两条腿比率都在可接受范围内的第一个价格。在这种情况下,我确实应该将 D 点视为 PRZ 的起点,而不一定是最佳或理想价格。
谢谢!

如果您将比率视为 "理想数字,但可以有一些松弛",那就对了。例如 Gartley 的 XAB 比率,我并不需要 B 点的 XA 精确到 61.8,但它应该 "足够接近"。否则我会一直被排挤。

从纯粹主义的角度来看,投影 点 D 实际上是对纯粹 PRZ 的一个约束,根据纯粹主义所允许的松弛程度和特定的比率排列,这个约束对 PRZ 可以是允许的,也可以是限制的。确切的比率要么紧紧地挤压在该指示点之下(允许界限),要么已经达到了一条腿的比率,但投影点显示了该比率 "足够接近 "另一条腿的比率(限制界限)。

因此,对于整体主义者和对松弛零容忍的纯粹主义者来说,D 点只能被视为 PRZ 的起点。在这里,整个图案 "足够接近 "规范,但不一定是任何精确的比例。

对于纯粹主义者来说,最糟糕的情况是纯粹的 PRZ 以 D 点为限制边界,而随后的 PRZ 停止点是已访问过的比率不再 "足够接近 "另一个比率的地方,而另一个比率甚至更低。那么,指标所显示的 PRZ 将介于两个精确比率之间,但本身并没有比率。整体主义者会说,形态是存在的,毕竟它与每个比率都 "足够接近"--而纯粹主义者则会说不存在,因为没有 PRZ。