以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  添加股票进入股票池中问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=170842)

--  作者:www532412596
--  发布时间:2019/7/5 10:28:39
--  添加股票进入股票池中问题
我的代码代码,意图是买入指定股票池的股票,若买入成功,持仓大于0了,则把这些股票加入到‘持仓股票池’中
E:=DYNAINFO(7);  //该股最新价格
TBUY(TBUYHOLDING(1)=0 AND 10000>=E*100 ,INTPART(10000/E),MkT); //按卖一价以1万除以每手需要价格的数量买入

IF TBUYHOLDING(1)>0  THEN BEGIN
    ADDTOBLOCK(STKLABEL(),\'持仓股票池\');   //把股票加入持仓股票池中
END


现在有个问题时,运行以上代码,股票可以买进去,但是把股票加入‘持仓股票池’中却做不到。
然后我实验一下,另设一个系统只有添加股票进股票池中,这个系统,结果可以运行,成功添加了进去。
IF TBUYHOLDING(1)>0  THEN BEGIN
    ADDTOBLOCK(STKLABEL(),\'持仓股票池\');   //把股票加入持仓股票池中
END

那问题就是 为什么放在一起,就不能运行,单独就可以?有办法结合在一起运行吗,还是只能作为分开系统运行?

--  作者:FireScript
--  发布时间:2019/7/5 10:46:38
--  
 是不是没成交导致下面:
IF TBUYHOLDING(1)>0  THEN BEGIN
    ADDTOBLOCK(STKLABEL(),\'持仓股票池\');   //把股票加入持仓股票池中
END
这个IF没有满足条件。代码执行是很快的。然后版块你再看看是不是没刷新出来。

--  作者:FireScript
--  发布时间:2019/7/5 10:48:04
--  
 另外还有点,ADDTOBLOCK是有返回值的。
你最好这样:

temp:=ADDTOBLOCK();

定义一个变量接受下这个返回值。