下载MetaTrader 5
要添加评论,请登录注册
您想要入金账户吗?以任何方便的办法去做它!
chenhexin
196
chenhexin 2009.07.28 07:58 

大家都知道,要使用数组时,需要对其进行arrayresize(),否则数组值为NULL。

现在我要使用个数组,并对其赋值,但问题是我也不清楚这个数组有多大。

我要使用Fractals()这个函数,测试每个bar下 的MODE_LOWER时的数据,此数据是非零即大于零的数。

我想取它非零时的值,并将其存入数组。请问此时的数组大小该怎么定义为好?

多谢!

okwh
1629
okwh 2009.07.28 09:53  

不清楚这个数组有多大?

至少你清楚你不需要三年前的Fractals值吧,

所以,你应该估计你最多需要检查多长时间内的Fractals,

这段时间内的周期数除5应该足够你用了.

chenhexin
196
chenhexin 2009.07.28 12:40  

多谢Dxdcn的回答。但问题没有解决,原因是对于这个数组,我有特殊的用途。

我想把Fractals的MODE_LOWER条件下的非零值赋值给数组后,再利用ArrayMinimum()得到数组中的最小的Fractals的值。

如果定义的数组size大于非零fractals值的个数,未被赋值的数组值是0,这样Arrayminmum()得到得值就是0了,而非所要的min的fractals的值。


不知道我讲的是否清楚。

如果有其它方法得到非零的min的fractals值的方法,请告知。多谢!

okwh
1629
okwh 2009.07.28 16:36  

方法一, 在获得Fractals时就可以比较判断得到最小值什么的。

方法二, 在获得Fractals时,记数有效的fractals值的个数, 然后在建立新的对应个数的数组,在从那个数组转赋值到这个新数组,这个新数组就没有未被赋值的元素了。

不总是有直接的办法的, 这才需要编程呀

chenhexin
196
chenhexin 2009.07.29 01:47  

多谢!

其实昨天晚上洗澡的时候想到了答案。

还是要感谢Dxdcn,以及你一直以来为论坛的贡献。

如果没有Dxdcn,我想原本就很冷清的中文版会显得更加凄凉。

十分感谢!

/
要添加评论,请登录注册