以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  逐K模式下的数组?  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=69675)

--  作者:elecdzh
--  发布时间:2014/9/6 22:17:49
--  逐K模式下的数组?
在逐K模式下定义了一个数组
variable : a[]=0;

运行公式的时候,有下列问题:
1.如果当根K线下,对a进行了赋值,那么a的长度+1,后面对a的引用取得的是现值?

2.如果当根K线下,对a没有进行赋值,那么a的长度是不变还是仍然+1,后面对a的引用取得的是0还是上次赋值的数值?

3.如果在没有赋值的情况下引用,取得的是上次赋值的数值,那么是否可以将a视为序列变量使用?例如用函数    cross(a,0);

--  作者:fantasynew
--  发布时间:2014/9/7 8:11:56
--  

顶贴,数组和序列的区别及使用也是我想知道的


--  作者:elecdzh
--  发布时间:2014/9/8 21:16:32
--  
千万不要沉了,还请拨冗回复。
--  作者:FexTel
--  发布时间:2014/9/9 10:25:56
--  

1,定义空数组,对应赋值后长度+1,取值为当前最新的值。

   UBOUND(A)//数组上界

2,没有赋值则对应长度不变,还是上次的值

3,数组的值相应的可以看做序列值

 

看下下面这个简单的例子,观察一下相应值的变化

variable:a[]=0,B[]=0;
IF C>O THEN A:=C;
IF C<=O THEN B:=C;
CDC:UBOUND(A);
CDC1:UBOUND(B);
最新:A;

 


--  作者:elecdzh
--  发布时间:2014/9/9 21:01:11
--  
追问:

就是说,在逐K模式下,序列变量的长度和K线数量是一一对应的,而数组变量的长度是只有在赋值的时候才增加;

那么,数组变量的使用和序列变量完全一样,所有使用序列变量的函数都可以用于数组变量,例如:REF, MA, CROSS?

--  作者:FexTel
--  发布时间:2014/9/10 9:12:53
--  

 

用于REF,MA,cross没有问题,用户自行试下,例子已经给了