以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  callstock的部分股票昨日收盘价出错  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=183197)

--  作者:金字塔粉丝
--  发布时间:2020/11/26 11:00:32
--  callstock的部分股票昨日收盘价出错
需要某个股票的昨日收盘价:   

代码
昨日收盘价:CALLSTOCK(STKLABEL,VTCLOSE,6,-1),NODRAW;  

当某只股票代码是和指数代码重复的时候,会出现调用的是昨日的指数收盘价,而不是股票的,怎么处理!
比如000990 ,000860 ,对应代码有指数也有股票,就会出现。


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


--  作者:banzhuan
--  发布时间:2020/11/26 11:05:07
--  
加上市场代码,比如:
CALLSTOCK(\'SH000001\',VTCLOSE,6,-1)表示引用日线周期上证指数的日线昨收盘价

--  作者:金字塔粉丝
--  发布时间:2020/11/26 13:27:27
--  
以下是引用banzhuan在2020/11/26 11:05:07的发言:
加上市场代码,比如:
CALLSTOCK(\'SH000001\',VTCLOSE,6,-1)表示引用日线周期上证指数的日线昨收盘价


这个方案比较麻烦,得多个判断股票是哪个市场 再连接个市场字符串

我的使用场景是跨周期调用前日数据,在后台运行。 用STKBLABEL 调出当前股票的代码再取跨周期数据。金字塔的STKBLABEL设计时应该加入字段区分是指数还是股票,不然真容易出现这个错误。



--  作者:banzhuan
--  发布时间:2020/11/26 13:37:49
--  
没法自动区分,必须添加市场代码
--  作者:金字塔粉丝
--  发布时间:2020/11/26 13:57:19
--  
股票代码:STRTONUM(STKLABEL());

IF 股票代码>=600000 THEN
昨日收盘价:=CALLSTOCK(\'SH\'+ STKLABEL ,VTCLOSE,6,-1),NODRAW;  
ELSE
昨日收盘价:=CALLSTOCK(\'SZ\'+ STKLABEL ,VTCLOSE,6,-1),NODRAW;  

YC:昨日收盘价,NODRAW;


写了一段大概如上。

还有个问题 

CALLSTOCK 和 REFDATE 那个函数取值效率高 ??



--  作者:banzhuan
--  发布时间:2020/11/26 14:10:35
--  
1、refdate
2、aa:"$CLOSE##day" ;//这个方式效率也高,可以代替callstock

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

--  作者:金字塔粉丝
--  发布时间:2020/11/26 14:30:17
--  
好的,谢谢banzhuan