请教超级版主,我想做股票程序化回测,每天如果满足条件A,就买入5只股票,这5只股票每只股票买入我全部资产(股票市值+可用资金)的10%,请问代码如何编写?谢谢版主大人了
我的条件A是股票池出票,每天会出5支票,然后我就想把这5只票全部买入,每一只票买入全部资产(不是可用资金)的10%,求这一部分的后台程序化代码编写?
你就后台监控这个股票池。然后后台下单采用百分比下单函数去处理下下单语句。
tbuy(1,10%,MKT),PERTRADER;//实际下单时候会按照实际可用资金的10%去下单。
你这里的全部资产是怎么个说法 “每一只票买入全部资产(不是可用资金)的10%”
谢谢版主回复,因为一旦股票卖出,可用资金会变的,可是我只想买入全部资产的10%(比如我资产有100万,其中50万已经买成股票了,是股票市值50万,手里还有可用资金50万),我想每支股票买100万的10%,而不是可用资金的10%
因为我想每天等额买入5只股票,如果采取可用资金的10%,一旦用股票卖出,那么可用资金就变了,那么我就没法实现这5只股票等额买入了,所以我要买入全部资产(股票市值+可用资金)的10%,这样就解决了可用资金会变的问题了
请版主再给看看每天买入5支票,每只票买入全部资产的10%,后台程序化代码怎么表达这个意思?
那就先计算当前 可取+市值 总额的10%按照最新价计算出来的可开仓手数:
s1:TACCOUNT(19);//可取
s2:TACCOUNT(28);//市值
资金:s1+s2;
ss:Intpart(资金*0.1/(Close*100));//按照当前资金的10% 计算的开仓手数
tbuy(THOLDCOUNT('')<=5,ss,MKT);//实际下单按照当前资金(浮动)的10% 去下单。且限定只当当前账号持仓小于等于5的时候才能下单。
[此贴子已经被作者于2020/1/9 10:38:58编辑过]