以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=54452)

--  作者:wsslei
--  发布时间:2013/7/30 17:55:50
--  VBA中引用公式结果,没有成功

我写了个自定义函数,调用PEL里的公式中的公式线10s在第1根K线的结果

 

Function CY_5s_CAL(Formula,x10s,x15s,x20s)
    If Formula.WorkMode = 1 then
        Exit Function
    End If

    CY_5s_CAL=0
    Application.msgout(formula.DataSize)
    Application.msgout(formula.GetBufDataByIndex(1,1))

    Application.msgout(formula.GetBufData("10s",1))
    CY_5s_CAL=50
End Function

 

我觉得应该逐K显示10s在第1根K线的结果,目前程序没报错,但显示为0,请指教

 

 

 


--  作者:wsslei
--  发布时间:2013/7/30 18:08:09
--  
另外,怎么在VBA中取得类似PEL中的Barpos值,代表当前图表K线
--  作者:wsslei
--  发布时间:2013/7/30 18:16:59
--  
以下是引用wsslei在2013/7/30 18:08:09的发言:
另外,怎么在VBA中取得类似PEL中的Barpos值,代表当前图表K线

这个知道了,IndexData


--  作者:wsslei
--  发布时间:2013/7/31 15:31:59
--  
没有人回答
--  作者:王锋
--  发布时间:2013/7/31 17:41:14
--  
请将PEL公式也贴一下,我们本地测试一下然后给你回复
--  作者:wsslei
--  发布时间:2013/8/1 14:15:59
--  

PEL 公式很简单:

 

10s:EMA(close,10),Color33FF99,linethick1;
15s:EMA(close,15),Color33FF99,linethick1;
20s:EMA(close,20),Color33FF99,linethick1;

XXX:CY_5s_CAL(10s,15s,20s),colorred,linethick5;


--  作者:wsslei
--  发布时间:2013/8/2 22:43:31
--  
还是没有回复
--  作者:王锋
--  发布时间:2013/8/3 10:34:43
--  

没看出有什么问题,你是不是在序列模式下运行公式了,因为你的VBA代码中

If Formula.WorkMode = 1 then
        Exit Function
    End If

是指明只有在逐K线模式才有效的