以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  变量的数值传递中遇到的奇特问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=79754)

--  作者:静看沉浮
--  发布时间:2015/6/12 23:42:13
--  变量的数值传递中遇到的奇特问题
在如下代码中,运行在日线上,想取上周五周五的收盘价,和前周五的收盘价
按理说out1和out2的值应该是相等的,可是结果却出乎意料。何解?

VARIABLE:WDO=0,WDC1=0,WDC2=0;
WDO:=CALLSTOCK(stklabel,VTOPEN,7);

if WEEKDAY=5 AND NOT(ISLASTBAR)then 
begin
WDC1:=C;
end
OUT:WDC1;


OUT1:OUT[BARPOS-5];
OUT2:WDC1[BARPOS-5];

图片点击可在新窗口打开查看此主题相关图片如下:x2scrap.png
图片点击可在新窗口打开查看



--  作者:jinzhe
--  发布时间:2015/6/15 9:06:13
--  

因为有这样定义“OUT:WDC1;”的out是序列变量了,

而WDC仍然是常规变量,要两者的数值一直,那么都要改成序列变量

 

VARIABLE:WDO=0,WDC2=0;
wdc1:0;
WDO:=CALLSTOCK(stklabel,VTOPEN,7);


if WEEKDAY=5 AND NOT(ISLASTBAR)then
   begin
   WDC1:=C;
   end
OUT:WDC1;
OUT1:OUT[BARPOS-5];
OUT2:WDC1[BARPOS-5];


--  作者:jinzhe
--  发布时间:2015/6/15 9:06:38
--  

关于数组上的使用,参考下里面的链接

 

http://www.weistock.com/bbs/dispbbs.asp?BoardID=10&ID=30380&replyID=&skin=1