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

 

大卫

我一直在尝试你关于纯粹 PRZ 的想法,不得不说我很喜欢。我觉得你可能会感兴趣,所以我在这里发布了一个代码片段,你可以复制粘贴到第 802 行。相反,它将过滤掉只为整体论而非纯粹论而存在的模式,即不包含 PRZ 中的所有比率。

               //----纯粹的 PRZ 必须包含精确的比率
               if(true)
                 {
                  if(cd2bcConstraint)
                    {
                     bool contained;
                     if(startsInTrough)
                       {
                        double nearRatio=C-pattern.cd2bc_min*BC;
                        double farRatio=C-pattern.cd2bc_max*BC;
                        contained=nearD>=farRatio && nearRatio>=farD;
                       }
                     else
                       {
                        double nearRatio=C+pattern.cd2bc_min*BC;
                        double farRatio=C+pattern.cd2bc_max*BC;
                        contained=nearD<=farRatio && nearRatio<=farD;
                       }
                     if(!contained)
                        continue;
                    }
                  if(ad2xaConstraint)
                    {
                     bool contained;
                     if(startsInTrough)
                       {
                        double nearRatio=A-pattern.ad2xa_min*XA;
                        double farRatio=A-pattern.ad2xa_max*XA;
                        contained=nearD>=farRatio && nearRatio>=farD;
                       }
                     else
                       {
                        double nearRatio=A+pattern.ad2xa_min*XA;
                        double farRatio=A+pattern.ad2xa_max*XA;
                        contained=nearD<=farRatio && nearRatio<=farD;
                       }
                     if(!contained)
                        continue;
                    }
                  if(cd2xcConstraint)
                    {
                     bool contained;
                     if(startsInTrough)
                       {
                        double nearRatio=C-pattern.cd2xc_min*XC;
                        double farRatio=C-pattern.cd2xc_max*XC;
                        contained=nearD>=farRatio && nearRatio>=farD;
                       }
                     else
                       {
                        double nearRatio=C+pattern.cd2xc_min*XC;
                        double farRatio=C+pattern.cd2xc_max*XC;
                        contained=nearD<=farRatio && nearRatio<=farD;
                       }
                     if(!contained)
                        continue;
                    }
                  if(cd2abConstraint)
                    {
                     bool contained;
                     if(startsInTrough)
                       {
                        double nearRatio=C-pattern.cd2ab_min*AB;
                        double farRatio=C-pattern.cd2ab_max*AB;
                        contained=nearD>=farRatio && nearRatio>=farD;
                       }
                     else
                       {
                        double nearRatio=C+pattern.cd2ab_min*AB;
                        double farRatio=C+pattern.cd2ab_max*AB;
                        contained=nearD<=farRatio && nearRatio<=farD;
                       }
                     if(!contained)
                        continue;
                    }
                 }

如果您想在设置中开关纯粹 PRZ 模式,也可以用类似 "InpPuristPRZ "的变量来代替第 2 行括号中的 "true",并将该变量声明为输入变量。检查 区间比率时,只需检查 重叠或区间的某些部分是否在 PRZ 中(而不仅仅是松弛)。

谢谢、

安德烈

 

你好,安德烈、

我下载了文件,并将 alexstal_outsidebar 安装在 "Include "文件夹中。然后,我将 alexstal_ZZprof、swingchart、fastzz 和 Harmonic Pattern Finder V2 保存在 \MQL5\Indicators\Example 文件夹中。

我关闭了平台,再次打开后,我将 Harmonic Pattern Finder 拖到图表上。在 "专家 "选项卡中,我得到了以下信息:


该指标已加载到 EU 和 XAG 图表上。

请告诉我哪里出错了。


致 Eckbert

附加的文件:
 
Eckbert Gevers:

你好,安德烈、

我下载了文件,并将 alexstal_outsidebar 安装在 "Include "文件夹中。然后,我将 alexstal_ZZprof、swingchart、fastzz 和 Harmonic Pattern Finder V2 保存在 \MQL5\Indicators\Example 文件夹中。

我关闭了平台,再次打开后,我将 Harmonic Pattern Finder 拖到图表上。在 "专家 "选项卡中,我得到了以下信息:


该指标已加载到 EU 和 XAG 图表上。

请告诉我哪里出错了。


致 Eckbert

嗨,安德烈,问题解决了。创建了一个新的下载文件夹,一切正常。

谢谢 Eckbert

 

你好,安德烈、

有可能在 EA 中使用这个指标吗?

我正在使用带有所有输入参数的 icustom,但我无法访问检测波峰和波谷所需的缓冲区。

重要 的是有A、B、C和D点的缓冲区。

有任何 EA 示例吗?

 
João José:

你好,安德烈、

有可能在 EA 中使用这个指标吗?

我正在使用带有所有输入参数的 icustom,但我无法访问检测波峰和波谷所需的缓冲区。

最重要的是有 A、B、C 和 D 点的缓冲区。

有没有带示例的 EA?

你好,若昂、

可以在 EA 中使用该代码,但这需要修改,除非您编写的 EA 可以解释图表上绘制的对象。我还没有看到过基于它的 EA,无法提供示例,但我可以给您提供我的看法。

首先,如果考虑使用复制缓冲区的方法,请注意只有双类型数组可以通过 ICustom() 共享。这意味着每个点需要一个数组,每个图案需要一个数组。因此,仅 AB=CD 模式就需要 4*18=72 个缓冲区,而投影模式和活动模式则需要两倍于此的缓冲区。更不用说还要对这些阵列进行持续的重新处理,以避免 "旧 "图案混淆接收 EA,以及像 PRZ 停止这样的信息丢失(但这可以通过为每个图案再添加一个缓冲器来解决)。尽管这有可能在不超出平台 512 个共享缓冲区限制的情况下实现,但大多数明智的程序员都不会这么做。

可以说,更好的方法是直接在 EA 中加入部分指标代码,以避免 iCustom() 的限制。这样,您就可以轻松地为每个匹配和预测的模式分配内存,还能更好地跟踪模式的发展。Needless-to-say that requires refactoring the pattern matching sections of the code (starting from "//--- main loop" at line 408) in such a way that it does not go and draw the patterns but instead provide information of them to other parts of the EA.This might involve some details like removing drawing specificfunctionality and keeping overhead to remove duplicates, but is the primary change needed to have a basic "matcher" that can be queried in the code to find patterns, after which trading orders can be sent.

 

非常漂亮的指示器...我认为是网上最好的。你有没有考虑过在这个指标中采用艾略特波浪 模式?通过预测....。

 
Andre Enger:

你好,若昂、

可以在 EA 中使用该代码,但这需要修改,除非您编写的 EA 可以解释图表上绘制的对象。我还没见过基于该代码的 EA,无法举例说明,但可以给您提供我的看法。

首先,如果考虑使用复制缓冲区的方法,请注意只有双类型数组可以通过 ICustom() 共享。这意味着每个点需要一个数组,每个图案需要一个数组。因此,仅 AB=CD 模式就需要 4*18=72 个缓冲区,而投影模式和活动模式则需要两倍于此的缓冲区。更不用说还要对这些阵列进行持续的重新处理,以避免 "旧 "图案混淆接收 EA,以及像 PRZ 停止这样的信息丢失(但这可以通过为每个图案再添加一个缓冲器来解决)。尽管这有可能在不超出平台 512 个共享缓冲区限制的情况下实现,但大多数明智的程序员都不会这么做。

可以说,更好的方法是直接在 EA 中加入部分指标代码,以避免 iCustom() 的限制。这样,您就可以轻松地为每个匹配和预测的模式分配内存,还能更好地跟踪模式的发展。Needless-to-say that requires refactoring the pattern matching sections of the code (starting from "//--- main loop" at line 408) in such a way that it does not go and draw the patterns but instead provide information of them to other parts of the EA.This might involve some details like removing drawing specificfunctionality and keeping overhead to remove duplicates, but is the primary change needed to have a basic "matcher" that can be queried in the code to find patterns, after which trading orders can be sent.


谢谢,我会尝试第二种方法(是的,它将只适用于 AB=CD 模式的 D 点)
 
João José:

谢谢,我会尝试第二种方法(是的,它将只适用于 AB=CD 模式的 D 点)

安德烈

我决定采用第一种方法。

就在你调用 DisplayPattern函数 后,我添加了 9 个新的缓冲区来存储 A、B、C、D 和牛熊。还对默认值做了一些调整

已经开始工作了,谢谢

 
danizani95:

非常漂亮的指示器...我认为是网上最好的。你有没有考虑过在这个指标中采用艾略特波浪模式?这对预测....。

谢谢您的反馈。

据我所知,艾略特波本身并不是谐波,它是一种定义较为宽泛的波浪结构理论。艾略特波有三个连续较高的顶部,然后是两个较低的底部(在第二个底部买入),关于如何发生这种情况,有各种不同的构成和分类。一些技术分析师 似乎认为,谐波与艾略特波之间的关系是,X-A 段应对应于艾略特脉冲阶段,而 ABCD 部分则对应于艾略特修正阶段。因此,不同的谐波形态(如 Gartley 和 Bat)是同一艾略特现象的不同表现形式。

在指标中添加艾略特波标记的用处不大,因为有些形态本身就是完整的艾略特波。不过,我考虑在新版本中加入一个过滤机制,方便用户在形态查找器中添加自己定义的过滤器。这样就可以快速添加一个 "艾略特波过滤器",它可以去除那些在 XA 线脚中没有更精细的脉冲结构的谐波形态。例如,可以通过检查较低时间框架上的 "之 "字形是否有三个连续的较高顶部来检测这种情况。

Regards

 
João José:

安德烈

我决定采用第一种方法。

就在你调用 DisplayPattern函数 后,我添加了 9 个新的缓冲区来存储 A、B、C、D 和牛/熊。还有一些默认值的调整

已经开始工作了,谢谢

太好了