以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 策略编写求助区 (http://222.73.7.161/bbs/list.asp?boardid=11) ---- 如何编写金字塔自定义函数 (http://222.73.7.161/bbs/dispbbs.asp?boardid=11&id=6087) |
-- 作者:gxnnxxt -- 发布时间:2011/4/10 11:06:12 -- 如何编写金字塔自定义函数 在金字塔中后台提供了多账户的指定查询函数非常棒,如TISREMAINEX(N,AC,STOCK)等,在多账户的实际交易中,如果采用”指定具体账户方向持仓+指定具体账户方向未成交单”来判断指定具体账户当前的持仓状态,大量耗费代码并影响交易公式的运行效率,但是,金字塔只提供了TSTATE当前账户持仓状态函数,并没有TSTATE(N,AC,STOCK)函数,用起来非常不方便,能不能用自定义函数来编写一个指定账户状态函数?
TSTATEEX(N,AC,STOCK), N为持仓状态.0无仓;1多仓;2空仓 AC为帐户ID,为空表示针对所有帐户; STOCK为品种代码,为空表示针对所有品种 空仓:为指定账户,无指定持仓+无所有方向未成交单 多仓:为指定账户,有指定持多仓或指定平多未成交单 空仓:为指定账户,有指定持空仓或指定平空未成交单 请各位坛主,大侠,高手,兄弟,姐妹,客户们施予援手,菜鸟叩拜! |
-- 作者:guotx2010 -- 发布时间:2011/4/10 22:32:41 -- 我想了一下,使用自定义函数从VBA后台代码返回持仓信息,明天测试一下看是否可行。 大致的思路:在VBA后台使用 Call Order.HoldingInfoByCode2(Code, Market, BuyHoding, BuyCost, BuyTodayHoding, SellHoding, SellCost, SellTodayHoding, PNL, UseMargin,Account) 取得指定账户的持仓信息,通过自定义函数将持仓信息返回到策略公式中。
如果使用VBA做成策略,就非常方便。
我试了一下,使用自定义函数不能返回值到公式中来,自定义函数看来只能单向传值到VBA后台,不能将VBA后台的计算结果传回来。 如果使用VBA后台将需要传回来的值写到ini文件,然后公式从ini文件读取,不知道行不行,可是ini文件读写,在公式中怎么实现,我还不知道。
[此贴子已经被作者于2011-4-12 11:54:11编辑过]
|
-- 作者:gxnnxxt -- 发布时间:2011/4/11 1:54:37 -- 万分感谢,引项期盼 |
-- 作者:guotx2010 -- 发布时间:2011/4/13 22:52:13 -- 建议金字塔增加VBA后台传值到公式的方法,这样就可以解决这个问题了。 |
-- 作者:gxnnxxt -- 发布时间:2011/4/14 20:23:16 -- 为什么模型写的 收盘价 还是会出现反复开平仓 ![]() |
-- 作者:gxnnxxt -- 发布时间:2011/4/14 20:24:08 -- 最好的办法就是金字塔直接增加这个函数
|