您好,我要编写一个分级基金的套利程序,如本例母基金申万深成分为两个分级基金150022和150023,请帮我看一下:
c1:=(askpricesz150022+askpricesz150023)*0.5;//计算基金150022和150023卖一价的算术平均值。
c2:=x1*(closesz001/closesz001[1]);//参数x1为母基金昨日净值,手工填入,sz001为母基金跟踪的指数,此行计算母基金盘中的实时净值。
c3:(c1/c2-1)*100;//计算分级基金盘中价格算术平均值和母基金盘中实时净值的差额。这个差额希望作为一个指标在图形上显示出来。
c4:=min(x2,min(askvolsz150022,askvolsz150023));//参数x2为最大买入手数,此行计算两个基金委卖量的较小值和设定的最大买入手数的较小值。
tbuy(c3<=-2,c4,mkt,sz150022);//若c3<=-2,则以上述设定手数开仓买入同等手数的两个基金。
tbuy(c3<=-2,c4,mkt,sz150023);
tsell(time=931,150022,全平);//设定第二天早盘平仓,这是为了保持程序连贯性,是假设性的,事实上我只需要设定买入就可以了。
tsell(time=931,150023,全平);
这个程序写得对吗?(平仓这个肯定不对,请帮我改一下)。
还有个问题是:允许加仓,直至总成交量达到设定的最大买入手数(参数x2),该怎么写程序?还要考虑到随着成交量增加,继续加仓时,c4的值会发生变化,因此时的最大买入手数要减去已成交的手数。
假如我把程序挂在1分钟k线上,但要求出信号立即下单,而不是等k线走完再下单,应该在哪里设定?
谢谢!
c2:=x1*(closesz001/closesz001[1]);//参数x1为母基金昨日净值,手工填入,sz001为母基金跟踪的指数,此行计算母基金盘中的实时净值。
此行中closesz001[1]代表此指数的昨日收盘价,这样表达可能有误,因假设是挂在1分钟线上,但不知该怎么写。谢谢!
请问什么是都贴一下?因为我以前都用文华的,对金字塔不太熟。
就是直接贴上去使用吗?
明白了,你的代码是文华的,所以我编译了半天都不对