以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  金字塔的读写板块操作函数还是没有成功添加和删除品种  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=181709)

--  作者:百湛必胜客
--  发布时间:2020/8/13 19:19:18
--  金字塔的读写板块操作函数还是没有成功添加和删除品种
在VBA里加入下面代码的自定义函数
以下内容为程序代码:
Function Addbankuai(Formula)
    \'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
    \'为保证函数运行稳定,请确保“VBA自定义函数安全模式”选项处于打开状态。步骤:工具菜单->选项->其他选项卡。
    Addbankuai=0
    Set b = CreateObject("Stock.Block")
    dim blks,blkstk,stkmkt
    blks=Document.GetExtString("入板")
    blkstk=Document.GetExtString("入板股")
    stkmkt=Document.GetExtString("入板市场")
    call b.open(blks,1)
    Application.MsgOut Cdate(Date) &Cdate(time) &vblf&"当前板块:"&blks&vblf&"当前证券:<"&stkmkt&">"&blkstk
    if b.IsBlockExist(blks)=0 then
     call b.CreateBlock("自选",blks)
     Application.MsgOut Cdate(Date) &Cdate(time) &vblf&"《"&blks&"》板块被创建"
    end if
    if b.IsStockExist(blkstk,stkmkt)=0 then
     call b.AddStock(stkmkt,blkstk)
     Application.MsgOut Cdate(Date) &Cdate(time) &vblf&"<"&stkmkt&">"&blkstk&"加入板块《"&blks&"》"
    end if
    blks=""
    blkstk=""
    stkmkt=""
    Set b = nothing
    Addbankuai=1
End Function

在指标代码中加入代码:
以下内容为程序代码:
if islastbar then 
begin
EXTGBSTRINGSET(\'入板\',NUMTOSTR(month*100+day,0));
EXTGBSTRINGSET(\'入板股\',STKLABEL);
EXTGBSTRINGSET(\'入板市场\',MARKETLABEL);
    addbankuai(),linethick0;
end

加载指标到K线界面窗口,新建板块倒是成功了,但是无法将当前股票添加进目标板块。
PEL里的ADDTOBLOCK其实也一样有这毛病
[此贴子已经被作者于2020/8/13 19:20:11编辑过]

--  作者:yukizzc
--  发布时间:2020/8/14 8:57:37
--  

加入后,在动态显示牌上右键,刷新下

板块内容就会更新过来了