以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  高级功能研发区  (http://www.weistock.com/bbs/list.asp?boardid=5)
----  请问VBA里读取仓位类型怎么写  (http://www.weistock.com/bbs/dispbbs.asp?boardid=5&id=49747)

--  作者:gg1888
--  发布时间:2013/3/15 11:06:50
--  请问VBA里读取仓位类型怎么写

下面是一段代码:

Function formula1_updatepos(Formula)
  
\'系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
 formula1_updatepos=0
 Dim mytext, nPosOld, nPosNew, idx
idx = Formula.DataSize - 2
if idx > 0 then
mydatetime1 = "" & document.GetExtString("Formula1_datetime")
mydatetime2 = "" & Formula.GetBufDateData(idx)
if UCase(mydatetime1) = UCase(mydatetime2) then
else
document.SetExtString "Formula1_datetime", "" & mydatetime2
application.WinExec "cmd /c break > c:\\formula1_pos.txt", 0
call Application.SetTimer(1, 1000)
end if
end if
End Function

 

 

 

但是显示仓位和策略信号不一样的,我策略上是空单 但输出来是0 应该输出-1才对


--  作者:gg1888
--  发布时间:2013/3/15 11:23:41
--  

还让我发论坛,发了有什么用,根本没人理


--  作者:admin
--  发布时间:2013/3/15 11:28:33
--  
问题的处理需要时间的,请用户不要急躁
--  作者:guotx2010
--  发布时间:2013/3/15 11:48:19
--  
使用marketdata.stkindi方式取得策略的信号,比这个好
--  作者:admin
--  发布时间:2013/3/15 12:59:12
--  

看了楼主的代码,有几个疑点

 

idx = Formula.DataSize - 2
取得最后一笔持仓的代码应该是 idx = Formula.DataSize - 1

 

此外,没看到你的代码里含有仓位读取的代码