编码帮助 - 页 342 1...335336337338339340341342343344345346347348349...786 新评论 Mladen Rakic 2014.09.11 04:39 #3411 freakout:http://www.forexmt4.com/mt_yahoo/Pattern_Hammer_Shooting_Star.mq4- 但在这个中是可以的...我知道有一种方法可以解决这个问题,因为它在一个类似的指标中起作用,但这里的代码有问题...... 就我所见,那个指标也是显示至少有1个柱状延迟的模式。你越是进入更复杂的模式(该指标根本无法识别),延迟的几率也就越大。 Dawid Ciechowski 2014.09.11 04:47 #3412 mladen: 从我所看到的,那个也是显示至少有1条延迟的模式。你越是进入更复杂的模式(该指标根本无法识别),延迟的几率也就越大。 不,它是在蜡烛收盘后立即出现的,如果shift值等于1 当shift=2时,那么你有一个1条的延迟 我已经检查了 多次,在我的指标中唯一的问题是,当我把shift=2改为shift=1时,它把所有东西向右移动了1条蜡烛 - 而不是向左,所以有问题... Mladen Rakic 2014.09.11 07:29 #3413 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(谁知道呢,可能有用)。如果你在其他代码中找到类似的部分,也可以尝试做同样的事情。 Triip 2014.09.11 07:34 #3414 我发现了一个很好的Murrey Math指标,但屏幕上的那些线条有点令人不安,我想用RAY来削减这些水平线。我试图添加 "ObjectSet(buff_str, OBJPROP_RAY, false);",但没有成功。 所以也许有人能帮我解决这个问题? 附加的文件: murrey_math_mt4_vg-2.mq4 12 kb emmany4 2014.09.11 08:13 #3415 你好,Mladen,感谢你在本论坛的所有帮助。请您帮助使该指标与EA一起工作,在箭头显示时买入、卖出和平仓。我打算在MTF模式下使用该指标的设置,在一个特定的时间框架内,事实证明不需要重绘。 请提前感谢。 附加的文件: braintrend2sigalert5_mtf.mq4 8 kb braintrendea.mq4 13 kb Gway 2014.09.11 12:48 #3416 姆拉登,我不知道如何解决这种情况。 如果你有时间,请帮助我。 谢谢! 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. Mladen Rakic 2014.09.11 13:10 #3417 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 - 不需要改变它。我认为在这种情况下,你的工作对象是缓冲区,而不是一个数组) Gway 2014.09.11 13:41 #3418 mladen: 你只测试了3个元素(Lines_break元素),你的起始位置(j+1表达式)应该是i - 不需要改变它。我假设在这种情况下,你是在使用缓冲区,而不是一个数组) 如何将相等的Buffer放入一个单位? 比如说"Buffer = Buffer = Buffer = Buffer " Mladen Rakic 2014.09.11 13:44 #3419 Anyway: 如何将相等的Buffer放入一个单元中?比如说"Buffer = Buffer = Buffer = Buffer " 总之 正如我从你的代码中看到的,你不需要这个。你要找的是一个最大的值。如果有n个最大值或者只有一个,这并不重要。重要的 是,最大的值被确定了。 Gway 2014.09.11 14:24 #3420 mladen: 无论如何,我从你的代码中看到你不需要这个。你要找的是一个最大的值。如果有n个最大值或只有一个,这并不重要。重要的是,最大的值被确定了 好吧,我将尝试另一种方法。 谢谢 1...335336337338339340341342343344345346347348349...786 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
http://www.forexmt4.com/mt_yahoo/Pattern_Hammer_Shooting_Star.mq4- 但在这个中是可以的...我知道有一种方法可以解决这个问题,因为它在一个类似的指标中起作用,但这里的代码有问题......
就我所见,那个指标也是显示至少有1个柱状延迟的模式。你越是进入更复杂的模式(该指标根本无法识别),延迟的几率也就越大。
从我所看到的,那个也是显示至少有1条延迟的模式。你越是进入更复杂的模式(该指标根本无法识别),延迟的几率也就越大。
不,它是在蜡烛收盘后立即出现的,如果shift值等于1 当shift=2时,那么你有一个1条的延迟 我已经检查了 多次,在我的指标中唯一的问题是,当我把shift=2改为shift=1时,它把所有东西向右移动了1条蜡烛 - 而不是向左,所以有问题...
不,它是在蜡烛收盘后立即出现的,如果shift值等于1 当shift=2时,那么你有一个1 bar的延迟 我已经检查了多次,在我的指标中唯一的问题是,当我把shift=2改为shift=1时,它向右移动一切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模式下使用该指标的设置,在一个特定的时间框架内,事实证明不需要重绘。
请提前感谢。
姆拉登,我不知道如何解决这种情况。
如果你有时间,请帮助我。
谢谢!
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.Mladen,我不知道如何解决这种情况。
如果你有时间,请帮助我。
谢谢!
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 - 不需要改变它。我认为在这种情况下,你的工作对象是缓冲区,而不是一个数组)
你只测试了3个元素(Lines_break元素),你的起始位置(j+1表达式)应该是i - 不需要改变它。我假设在这种情况下,你是在使用缓冲区,而不是一个数组)
如何将相等的Buffer放入一个单位?
比如说"Buffer = Buffer = Buffer = Buffer "
如何将相等的Buffer放入一个单元中?比如说"Buffer = Buffer = Buffer = Buffer "
总之
正如我从你的代码中看到的,你不需要这个。你要找的是一个最大的值。如果有n个最大值或者只有一个,这并不重要。重要的 是,最大的值被确定了。
无论如何,我从你的代码中看到你不需要这个。你要找的是一个最大的值。如果有n个最大值或只有一个,这并不重要。重要的是,最大的值被确定了
好吧,我将尝试另一种方法。
谢谢