在金字塔中后台提供了多账户的指定查询函数非常棒,如TISREMAINEX(N,AC,STOCK)等,在多账户的实际交易中,如果采用”指定具体账户方向持仓+指定具体账户方向未成交单”来判断指定具体账户当前的持仓状态,大量耗费代码并影响交易公式的运行效率,但是,金字塔只提供了TSTATE当前账户持仓状态函数,并没有TSTATE(N,AC,STOCK)函数,用起来非常不方便,能不能用自定义函数来编写一个指定账户状态函数?
TSTATEEX(N,AC,STOCK), N为持仓状态.0无仓;1多仓;2空仓
AC为帐户ID,为空表示针对所有帐户; STOCK为品种代码,为空表示针对所有品种
空仓:为指定账户,无指定持仓+无所有方向未成交单
多仓:为指定账户,有指定持多仓或指定平多未成交单
空仓:为指定账户,有指定持空仓或指定平空未成交单
请各位坛主,大侠,高手,兄弟,姐妹,客户们施予援手,菜鸟叩拜!
我想了一下,使用自定义函数从VBA后台代码返回持仓信息,明天测试一下看是否可行。
大致的思路:在VBA后台使用
Call Order.HoldingInfoByCode2(Code, Market, BuyHoding, BuyCost, BuyTodayHoding, SellHoding, SellCost, SellTodayHoding, PNL, UseMargin,Account)
取得指定账户的持仓信息,通过自定义函数将持仓信息返回到策略公式中。
如果使用VBA做成策略,就非常方便。
我试了一下,使用自定义函数不能返回值到公式中来,自定义函数看来只能单向传值到VBA后台,不能将VBA后台的计算结果传回来。
如果使用VBA后台将需要传回来的值写到ini文件,然后公式从ini文件读取,不知道行不行,可是ini文件读写,在公式中怎么实现,我还不知道。
最好的办法就是金字塔直接增加这个函数