欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 删不了要删的股票!

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2721人关注过本帖树形打印复制链接

主题:删不了要删的股票!

帅哥哟,离线,有人找我吗?
FireScript
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/4/16 15:19:29    Post IP:180.169.30.6[显示全部帖子]

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


dt:EXTGBDATA('dt');
if dt<>date then //判断今日是否运行过该程序,运行过则不进行添加品种到版块的操作
begin
EXTGBDATASET('dt',date);
EXTGBDATASET('isRun',0);
end

s:EXTGBDATA('isRun');
//加品种到版块
if s=0 then
begin
for i=1 to THOLDCOUNT('') DO
begin
code:=THOLDINDEXLABEL(i,'');//品种代码
num:=TBUYHOLDINGEX('', code,2);//取得今持仓数量
if num>0 then
begin
T:=ADDTOBLOCK(code,'测试');
end
end
EXTGBDATASET('isRun',1);
end


//测试品种删除操作
FOR I = 1 TO THOLDCOUNT('') DO
BEGIN
HLABEL:= THOLDINDEXLABEL(I,'');
IF TBUYHOLDINGEX('',HLABEL,0 )>0 and HLABEL='NMHO05' THEN BEGIN 
TSELL(1,TBUYHOLDINGEX( '',HLABEL,0),MKT);
q:=DELETEFROMBLOCK(HLABEL,'测试');
DEBUGOUT(NUMTOSTR(q,1),0);
END
END

上面代码:实现每日添加品种到版块的代码只执行一次,无论何时启动程序化都一样。
你原始代码存在的一个问题是:不断把品种加到版块去了,导致最终结果可能是品种无法删除,其实可能是二次添加造成的。所以其实没必要写多个时间段的添加品种到版块的代码。

上面代码测试的时候 正常删除。你把你原先多个时间段加品种的代码替换成我例子里实现方式再测试下。


命数如织,当如磐石。
 回到顶部