新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 - 页 767

 
Ghabo:

谢谢你。帮助我得到一个信号。指示器有3个缓冲区,零点总是满的,颜色是黑色,第一个缓冲区是蓝色,第二个是红色。当没有黑线时需要一个信号,它总是在颜色变化。我理解下载、安装、耗费时间,但非常有趣的是这是如何做到的,而且没有代码。

你得到的是彩色缓冲区的数据,你没有接触黑色缓冲区。

轻松检查缓冲区数据

如果蓝色缓冲区不等于EMPTY_VALUE,它现在正在被绘制,所以红色缓冲区将等于EMPTY_VALUE

反之亦然...

 
Vladimir Pastushak:

你得到了彩色的缓冲区数据...

这就是我所做的,但我需要在没有黑线时获得信号。从视觉上看,这条线出现在红色和蓝色的交界处,但事实上,黑色的缓冲区总是满的。同时填充的2个缓冲区总是,或0和1色的蓝色,或0和2色的红色,但有时填充0和1或0和2和颜色c...ca黑色。这是我想抓住的时机,在这个时候排除信号。

dlshg

 
Ghabo:

这就是我所做的,但我需要在没有黑线时获得信号。从视觉上看,这条线出现在红色和蓝色的交界处,但事实上,黑色的缓冲区总是满的。同时填充的2个缓冲区总是,或0和1色的蓝色,或0和2色的红色,但有时填充0和1或0和2和颜色c...ca黑色。这是我想抓住的一点,在这个时候排除信号。


我已经给了你答案,检查颜色缓冲器 的值...

 
Vladimir Pastushak:

我给了你答案,检查彩色缓冲区 的值...

也许我没有说清楚。在相同的缓冲区数值下,图表可以有不同的线条颜色。也就是说,第一个缓冲区不是空的--颜色是蓝色,但有时第一个缓冲区不是空的--颜色是黑色。

 
Ghabo:

也许我没有说清楚。如果缓冲区是相同的,图中的线条颜色可以不同。也就是说,第一个缓冲区不是空的--颜色是蓝色,但有时第一个缓冲区不是空的--颜色是黑色。

黑是没有颜色的。

拒绝并使用彩色缓冲器...

 
Vladimir Pastushak:

黑是没有颜色的。

没有颜色是clrNONE,指标显然是clrBlack。

除了这样,还能怎样?

BUY_1=NormalizeDouble(iCustom(NULL,0,"4X Pip Snager Trend",1,1),Digits);//СИНИЙ
if(BUY_1!=EMPTY_VALUE)
{
//ДЕЙСТВИЕ
}
弗拉基米尔-帕斯图沙克

拒绝并使用彩色缓冲器...

 
Vladimir Pastushak:

黑是没有颜色的。

推回并与彩色缓冲器合作...

它曾经是--默认为黑色。现在,如果你不指定颜色,指标就看不见了。

 
Ghabo:

谢谢你。帮助我得到一个信号。指示器中有3个缓冲区,零点总是满的,颜色是黑色,第一个缓冲区是蓝色,第二个是红色。当没有黑线时需要一个信号,它总是在颜色变化时。我理解,下载,安装,耗时,但非常有趣的是这是如何做到的,没有代码。

真的很奇怪的写法的指标...

注意价格越过指标线的情况。我用 "无 "代替了黑色


事实证明,如果价格从下往上穿过指标线,红色会变成蓝色,反之亦然。至于两个极端,连续两次和四次穿越......这就是它变得棘手的地方。

但如果你紧张你的头部肌肉,你可以为使用这道谜题编造条件。

在任何情况下,我们都应该理解,线是由条形图到条形图。如果我们以中间的缺口为例,这意味着穿越线的绿条取消了红色缓冲区的填充,颜色消失了。然后,下一个条形填充蓝色的缓冲区,并从穿过价格的条形到当前条形画线。

 
Alexey Viktorov:

一个真正奇怪的写作指标...

谢谢你。我的肌肉不够用)要确定颜色由红变蓝的时刻并不难,但如何知道此时的蓝线被黑色覆盖,我就不知道了。应该在其中加入什么条件:-

        BUY_1=NormalizeDouble(iCustom(NULL,0,"4X Pip Snager Trend",1,1),Digits);
        if(iOpen(Symbol(), 0, 1)<=BUY_1&&iClose(Symbol(), 0,1)>BUY_1)
          {
        // ДЕЙСТВИЕ
          }

当条形图越过黑线时排除信号?在你的截图中,计算最后一次向上的交叉点,而不计算前三条的交叉点。

 
Ghabo:

谢谢你。我的肌肉不够用)要确定红色变为蓝色的时刻并不难,但如何知道此时的蓝线被黑色覆盖,我就不知道了。应该在其中加入什么条件:-

当条形图越过黑线时排除信号?在你的截图中,计算最后一次向上的交叉点,而不计算前三条的交叉点。

蓝线和红线只是为了说明问题。它们几乎不会被黑线所覆盖。反之亦然,黑线被一个蓝色和一个红色覆盖。

从上一个条形图的数值到当前条形图的数值画一条线。如果这些条形图中有一个在指标缓冲区中没有数值,就不能画线。

在我看来,这段代码足以检测到红色缓冲区已经 "死亡 "的事实。但如果你愿意,你也应该阅读蓝色的缓冲区。肯定会有一个等于黑色缓冲值的数值。

对于我图片中的中间案例,很明显,颜色已经发生了变化。但对于第一个人来说,左边的人...从下往上穿越,下一个条形图从上往下穿越,红色缓冲区再次继续填充和显示。在最后一种情况下,交叉点来回走了四次之多。

为了确定,在测试器中运行它,并观察 "褪色 "的时刻,当蜡烛关闭或当价格触及该线并 "关闭 "颜色时。

原因: