指标问题 - 页 6 12345678 新评论 Ubzen 2011.10.06 11:47 #51 for(i=0; val1==val3; i++) 这段代码留下了无尽循环的可能性,IMO。 Agent86 2011.10.07 01:57 #52 我得再考虑一下,我的眼睛又看花了。 我明天再来检查 Agent86 2011.10.07 12:07 #53 ubzen:for(i=0; val1==val3; i++)这段代码留下了无尽循环的可能性,IMO。 真的,看起来它应该循环直到val1不是val3 如果val3=0并且val1=0,它应该循环直到得到一个值 ii val3=iFractal(瞬间) 然后val1应该循环直到val1=0(这就是我的问题所在) 它确实是一种无尽的循环或锁定点。虽然我确实得到了一个打印语句来返回val1的iFractal值,但我并不确定这是在哪里 我必须对其他人发布的测试内容进行更多的实验,但我认为你是对的 也许这并不完全符合我的意图,但这是我想实现的概念,只是递增到之前的分形 值 我将继续努力。 Agent86 2011.10.07 12:10 #54 diostar:说实话,这是我第一次看到这种情况,对于循环终止条件。它是一个棘手的问题... 它似乎部分工作,这是在欺骗我,因为我的打印语句返回一个值,但我认为问题是,只要val3实际上>0,那么val1就会增量到一个0的值,而不是真正的之前的分形 值 ,所以理论上看来,只要val3==0,它就只能工作一次,然后也只有这样,i++才会向后增量,直到val1不再==val3,这是我想做的,但是如果val3==一个值,那么val1就会增量到一个0的值,在这里它不再==val3,然后循环就结束。 这毕竟不是我想要的,所以又回到了画板上,LOL 谢谢大家 Agent86 2011.10.07 12:12 #55 RaptorUK: 当你得到一个iFractal时,其值是>0,是吗? 因此,举例来说,如果你想知道上一个和下一个iFractals的位置,只需做这样的事情 . . . 我想我明白了,现在如果我能想出如何产生以前这些位置的值的话 我想我可以解决这个问题,我希望。 他他 谢谢 Simon Gniadkowski 2011.10.07 12:12 #56 0号蜡烛不可能是分形,所以val3将永远是0,那么为什么不使用. . . for(i=0; val1==0; i++) . . . . 而去掉val3。 不过在这种情况下,我更喜欢用while,似乎更适合你要做的事情。 Agent86 2011.10.07 13:14 #57 RaptorUK:当你得到一个iFractal时,其值是>0,是吗?因此,举例来说,如果你想知道上一个和下一个iFractals的位置,只需做这样的事情 . . . 这似乎可以告诉我最后一个iFractal的位置,但不是之前的两个iFractal 例如: 2011.10.07 09:05:36 sup_res EURUSD,M5:LastUPPER Fractal at 6 Last LOWER Fractal at 0 所以它会显示当前的UPPER高分形并打印出位置,这很好 我也可以将val1=i改为val1=iFractal(NULL, 0, MODE_UPPER,i),这样就可以得到最后一个iFractal的值 所以我在理解上有了一些进展,但是我仍然需要重新编码,以便回到上一个iFractal 一旦一个iFractal形成,那么这个while语句将继续打印当前形成的和最新的iFractal这是很酷的 所以,让我们说一个新的iFractal形成,我想从while语句中引用当前的分形,这实际上是以前的1,而不是现在的 所以让我们说iFractal LOWER_MODE现在形成,我想引用以前的iFractal UPPER_MODE并比较这些值。 但从你的建议来看,我想我也许能解决这个问题,这些都是很好的想法,对我帮助很大。 随着我越来越熟悉代码的工作原理,我真的开始喜欢用我知道的东西来实现我的交易理念。 谢谢 Simon Gniadkowski 2011.10.07 13:31 #58 Agent86: 这似乎可以告诉我最后一个iFractal的位置,但不能告诉我之前的两个iFractal的位置 我的代码中存在一个错误。. . while( val1==0 && val2==0) should be . . . while( val1==0 || val2==0) Agent86 2011.10.07 21:37 #59 RaptorUK: 0号蜡烛不可能是分形,所以val3将永远是0,那么为什么不使用. . . . . . . 而去掉val3。 不过在这种情况下,我更喜欢用while,似乎更适合你要做的事情。 好的,我把val3 shift改为3,但我也不太喜欢这个,我会做一些修改,谢谢。 Agent86 2011.10.08 12:50 #60 if(val1 > 0 && faster > slower) { Print (val1, " val1"); for(i=0; val1 || val2==0; i++) { if(iFractals(NULL, 0, MODE_LOWER, i) > 0 && val2 == 0) val2 = iFractals(NULL, 0, MODE_LOWER, i); Print (" Last LOWER Fractal at ", val2); } 当在if(语句)中添加for(语句)时,你可以添加额外的if(语句)并引用循环中的值吗? 这些额外的if(语句)是否必须出现在循环内,或者你可以在循环外仍然引用循环中的值,如val2? 请告知对于其他代码块内的循环,什么是正常的?如何提取循环中的值? 谢谢 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
for(i=0; val1==val3; i++)
这段代码留下了无尽循环的可能性,IMO。
我明天再来检查
for(i=0; val1==val3; i++)
这段代码留下了无尽循环的可能性,IMO。
如果val3=0并且val1=0,它应该循环直到得到一个值
ii val3=iFractal(瞬间) 然后val1应该循环直到val1=0(这就是我的问题所在)
它确实是一种无尽的循环或锁定点。虽然我确实得到了一个打印语句来返回val1的iFractal值,但我并不确定这是在哪里
我必须对其他人发布的测试内容进行更多的实验,但我认为你是对的
也许这并不完全符合我的意图,但这是我想实现的概念,只是递增到之前的分形 值
我将继续努力。
说实话,这是我第一次看到这种情况,对于循环终止条件。它是一个棘手的问题...
,所以理论上看来,只要val3==0,它就只能工作一次,然后也只有这样,i++才会向后增量,直到val1不再==val3,这是我想做的,但是如果val3==一个值,那么val1就会增量到一个0的值,在这里它不再==val3,然后循环就结束。
这毕竟不是我想要的,所以又回到了画板上,LOL
谢谢大家
当你得到一个iFractal时,其值是>0,是吗?
因此,举例来说,如果你想知道上一个和下一个iFractals的位置,只需做这样的事情 . . .
我想我可以解决这个问题,我希望。 他他
谢谢
0号蜡烛不可能是分形,所以val3将永远是0,那么为什么不使用. . .
. . . . 而去掉val3。
不过在这种情况下,我更喜欢用while,似乎更适合你要做的事情。
当你得到一个iFractal时,其值是>0,是吗?
因此,举例来说,如果你想知道上一个和下一个iFractals的位置,只需做这样的事情 . . .
例如:
2011.10.07 09:05:36 sup_res EURUSD,M5:LastUPPER Fractal at 6 Last LOWER Fractal at 0
所以它会显示当前的UPPER高分形并打印出位置,这很好
我也可以将val1=i改为val1=iFractal(NULL, 0, MODE_UPPER,i),这样就可以得到最后一个iFractal的值
所以我在理解上有了一些进展,但是我仍然需要重新编码,以便回到上一个iFractal
一旦一个iFractal形成,那么这个while语句将继续打印当前形成的和最新的iFractal这是很酷的
所以,让我们说一个新的iFractal形成,我想从while语句中引用当前的分形,这实际上是以前的1,而不是现在的
所以让我们说iFractal LOWER_MODE现在形成,我想引用以前的iFractal UPPER_MODE并比较这些值。
但从你的建议来看,我想我也许能解决这个问题,这些都是很好的想法,对我帮助很大。
随着我越来越熟悉代码的工作原理,我真的开始喜欢用我知道的东西来实现我的交易理念。
谢谢
这似乎可以告诉我最后一个iFractal的位置,但不能告诉我之前的两个iFractal的位置
我的代码中存在一个错误。. .
0号蜡烛不可能是分形,所以val3将永远是0,那么为什么不使用. . .
. . . . 而去掉val3。
不过在这种情况下,我更喜欢用while,似乎更适合你要做的事情。
当在if(语句)中添加for(语句)时,你可以添加额外的if(语句)并引用循环中的值吗?
这些额外的if(语句)是否必须出现在循环内,或者你可以在循环外仍然引用循环中的值,如val2?
请告知对于其他代码块内的循环,什么是正常的?如何提取循环中的值?
谢谢