以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  [求助]HoldingInfoByCode2的问题...  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=13767)

--  作者:ch3coohqb
--  发布时间:2012/8/19 1:01:19
--  [求助]HoldingInfoByCode2的问题...

问题1 是可用持仓还是目前的总持仓?

 

HoldingInfoByCode2(Code, Market, BuyHoding, BuyCost, BuyTodayHoding, SellHoding, SellCost, SellTodayHoding, PNL, UseMargin,Account)

BuyHoding 输出参数,该该持仓品种买入持仓总量

 

这个VBA返回的是可用持仓还是帐户该品种的总持仓?

金字塔后台函数TBUYHOLDINGEX返回的是一个品种的可用持仓~

比如帐户目前持有10手多单~现在有5手卖出平仓未成交单..帐户目前还是持有10手多单

但是TBUYHOLDINGEX返回的是5...

这个VBA函数BuyHoding 此种情况下会返回10还是5?

 

问题2 如何存入外生全局变量?

 

我在管理面板——高级——右键——插入——用户窗体

输入以下代码后~执行脚本~我看工具——数据——全局变量里面压根没有"多持仓" "空持仓"

只有当我但运行宏ccc之后才显示"多持仓" "空持仓"的数值...

 

Sub ccc()
call Order.HoldingInfoByCode2("c01","dq",BuyHolding,BuyCost,BuyTodayHolding,SellHolding,SellCost,SellTodayHolding,PNL,UseMargin,"800007")
call Document.SetExtData("多持仓",BuyHolding)
call Document.SetExtData("空持仓",SellHolding)

application.MsgOut BuyHolding
application.MsgOut SellHolding

End Sub

 

我希望这个全局变量一直跟着帐户的持仓走~不希望每次需要手动点运行宏...

这是因为我测试的时候行情没变动所以全局变量没更新~还是我哪里弄错了?


--  作者:guotx2010
--  发布时间:2012/8/19 8:31:45
--  

问题1:HoldingInfoByCode2返回的是总持仓,不受未成交委托单影响。

 

问题2:你的ccc代码段要循环执行,才能自动更新全局变量,可以使用计时器

 

关于计时器的使用,请参考http://www.weistock.com/bbs/dispbbs.asp?boardid=5&Id=11642&page=2

的Application的实例说明。

 

 


--  作者:bbking
--  发布时间:2012/8/20 13:07:59
--  

终于解决了长久以来困扰的后台函数的问题~

VBA实在是太好了~

 

问最后一个问题~

这样用计时器刷新应该跟那个记录下单日志orderlog一样不会很占用计算量吧?

 


--  作者:guotx2010
--  发布时间:2012/8/20 16:50:33
--  
不会的,如果你担心,可以把定时器轮询时间设置大些。