以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请教关于ref函数问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=34015)

--  作者:feiyan0427
--  发布时间:2012/12/25 15:48:58
--  请教关于ref函数问题
 1、VARIABLE:a=0;

a:=1;
a:=2;

b:=ref(a,1);

aa:a,LINETHICK0;
bb:b,LINETHICK0;

2、VARIABLE:a=0;

b:=ref(a,1);
a:=1;
a:=2;

aa:a,LINETHICK0;
bb:b,LINETHICK0;


代码1、2都是在逐k线模式下
想请教下为什么代码1、2的输出值b会有不同,b应该都取的是前一周期的a值,前一周期a值都是相同的啊,帮忙解答下~~

--  作者:jinzhe
--  发布时间:2012/12/25 15:51:09
--  
不一样,赋值顺序不一样
--  作者:feiyan0427
--  发布时间:2012/12/25 15:54:04
--  
 为什么跟赋值顺序有关,b都是取前一周期的a值,前一周期的a值都是一样的啊,跟b的赋值位置有什么关系
--  作者:jinzhe
--  发布时间:2012/12/25 15:58:21
--  

前面个先计算a的值,所以b是2

后面先把a=0的值赋值给b,所以b是0


--  作者:feiyan0427
--  发布时间:2012/12/25 16:02:49
--  
 ref取值跟当前bar的a值有关吗,不是只跟前一根bar的a值有关吗
--  作者:jinzhe
--  发布时间:2012/12/25 16:07:47
--  
公式也是从上往下计算的,顺序很重要
--  作者:feiyan0427
--  发布时间:2012/12/25 16:17:28
--  
 先谢谢你耐心的解答~
ref(a,1)不就是取前一周期的a值吗,前一周期的a值应该就是最后赋值啊a:=2。跟当前在哪个位置取有什么关系,有点弄不明白了
--  作者:jinzhe
--  发布时间:2012/12/25 16:27:51
--  
一个是先赋值,一个是后赋值
--  作者:阿火
--  发布时间:2012/12/26 10:06:20
--  

VARIABLE:a=0;
a:=1;
a:=2;
b:=ref(a,1);//ref 获取的值是 上一根K线在该位置的a值  所以,b=2
aa:a,LINETHICK0;
bb:b,LINETHICK0;

 

VARIABLE:a=0;
b:=ref(a,1);//ref 获取的值是 上一根K线在该位置的a值  所以,第二根K线时b=0,之后b=2
a:=1;
a:=2;
aa:a,LINETHICK0;
bb:b,LINETHICK0;

 

VARIABLE:a=0;
a:=1;

b:=ref(a,1);//ref 获取的值是 上一根K线在该位置的a值  所以,b=1
aa:a,LINETHICK0;
bb:b,LINETHICK0;