编码帮助 - 页 342

 
freakout:
http://www.forexmt4.com/mt_yahoo/Pattern_Hammer_Shooting_Star.mq4- 但在这个中是可以的...我知道有一种方法可以解决这个问题,因为它在一个类似的指标中起作用,但这里的代码有问题......

就我所见,那个指标也是显示至少有1个柱状延迟的模式。你越是进入更复杂的模式(该指标根本无法识别),延迟的几率也就越大。

 
mladen:
从我所看到的,那个也是显示至少有1条延迟的模式。你越是进入更复杂的模式(该指标根本无法识别),延迟的几率也就越大。

不,它是在蜡烛收盘后立即出现的,如果shift值等于1 当shift=2时,那么你有一个1条的延迟 我已经检查了 多次,在我的指标中唯一的问题是,当我把shift=2改为shift=1时,它把所有东西向右移动了1条蜡烛 - 而不是向左,所以有问题...

 
freakout:
不,它是在蜡烛收盘后立即出现的,如果shift值等于1 当shift=2时,那么你有一个1 bar的延迟 我已经检查了多次,在我的指标中唯一的问题是,当我把shift=2改为shift=1时,它向右移动一切1个蜡烛 - 而不是向左,所以有问题...

我不知道你现在说的是什么指标

如果你说的是链接中的那个,如果你看一下代码的这一部分。

shift1 = shift + 1;

shift2 = shift + 2;

shift3 = shift + 3;

shift4 = shift + 4;

你会看到(由于第一行的 "+1 "部分)它总是滞后至少1个小节。试着把1,2,3,4改为0,1,2,3(谁知道呢,可能有用)。如果你在其他代码中找到类似的部分,也可以尝试做同样的事情。

 

我发现了一个很好的Murrey Math指标,但屏幕上的那些线条有点令人不安,我想用RAY来削减这些水平线。我试图添加 "ObjectSet(buff_str, OBJPROP_RAY, false);",但没有成功。

所以也许有人能帮我解决这个问题?

附加的文件:
 

你好,Mladen,感谢你在本论坛的所有帮助。请您帮助使该指标与EA一起工作,在箭头显示时买入、卖出和平仓。我打算在MTF模式下使用该指标的设置,在一个特定的时间框架内,事实证明不需要重绘。

请提前感谢。

附加的文件:
 

姆拉登,我不知道如何解决这种情况。

如果你有时间,请帮助我。

谢谢!

For example:

When Buffer = 3, Buffer = 2, Buffer = 1, Buffer = 1, Buffer = 1, Buffer = 1; "max" data is correct.

---------------------------------------------------------------------------------------

int Lines_Break = 3;

int j = i; while (Buffer [j + 1] == Buffer [j + 2]) j ++;

double max = Buffer [ArrayMaximum (Buffer, Lines_Break, j + 1)];

---------------------------------------------------------------------------------------

However, this time when the array becomes: Buffer = 3, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 1; "max" data is wrong.
 
Anyway:
Mladen,我不知道如何解决这种情况。

如果你有时间,请帮助我。

谢谢!

For example:

When Buffer = 3, Buffer = 2, Buffer = 1, Buffer = 1, Buffer = 1, Buffer = 1; "max" data is correct.

---------------------------------------------------------------------------------------

int Lines_Break = 3;

int j = i; while (Buffer [j + 1] == Buffer [j + 2]) j ++;

double max = Buffer [ArrayMaximum (Buffer, Lines_Break, j + 1)];

---------------------------------------------------------------------------------------

However, this time when the array becomes: Buffer = 3, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 2, Buffer = 1; "max" data is wrong.

你只测试了3个元素(Lines_break元素),你的起始位置(j+1表达式)应该是i - 不需要改变它。我认为在这种情况下,你的工作对象是缓冲区,而不是一个数组)

 
mladen:
你只测试了3个元素(Lines_break元素),你的起始位置(j+1表达式)应该是i - 不需要改变它。我假设在这种情况下,你是在使用缓冲区,而不是一个数组)

如何将相等的Buffer放入一个单位?

比如说"Buffer = Buffer = Buffer = Buffer "

 
Anyway:
如何将相等的Buffer放入一个单元中?比如说"Buffer = Buffer = Buffer = Buffer "

总之

正如我从你的代码中看到的,你不需要这个。你要找的是一个最大的值。如果有n个最大值或者只有一个,这并不重要。重要的 是,最大的值被确定了。

 
mladen:
无论如何,我从你的代码中看到你不需要这个。你要找的是一个最大的值。如果有n个最大值或只有一个,这并不重要。重要的是,最大的值被确定了

好吧,我将尝试另一种方法。

谢谢

原因: