请帮忙看看有啥问题?我的思路是:先把E2>0的股票选到一个板块中,然后按E2排序,取前10位的股票下单.... //该模型运行于后台程序化模式 IF CURRENTTIME=092500 THEN CLEARBLOCK('预警板块'); TA01:=AMOUNT/VOL; TA02:=VOL/HHV(VOL,30); TA03:=(C-REF(C,1))/REF(C,1); TA04:=(C-O)/O; TA05:=IF(H-C>(C-O)/3,1,0); TA06:=IF(TA02>0.6 AND TA04>0 AND TA05=1,1,0); TA07:=VOL/REF(VOL,1); TA08:=IF(REF(TA06,1)=1,1,0); E2:=IF(TA08=1 AND CURRENTDATE=DATE,TA07*1.45,0); //条件判断 IF E2>0.08 THEN ADDTOBLOCK(DM,'预警板块'); //仓位及资金管理 AA01:=STKINDI('','市场状态.TDC',0,6); TB00:=TINSORT('预警板块','新金雀.E2' ,1); TB01:=TCASH;//可用资金 TB02:=TASSET;//帐户市值 TB03:=TB02*(100-Y1)/100; TB04:=TB03/Y2; TB05:=INTPART(TB04/C); TB06:=INTPART(Y2*0.8); TB07:=IF(AA01>0.65 AND TB01>TB04,1,IF(AA01<=0.65 AND AA01>=0.15 AND TB01>TB03/2,1,IF(AA01<0.15 AND TB01>TB04*TB06,1,0))); TBUY(TB00<10 AND TB07=1 AND TBUYHOLDINGEX('','' ,0 )<TB05,TB05,MKT); // IF TC06>1 AND C<TC09 THEN BEGIN TSELL(1,TBUYHOLDINGEX('','',0 ),MKT); END // |
我觉得你这个需求用股票池+后台会好点。
1.把E2的计算放在选股公式里面,利用股票池对品种进行选择和排序。 http://www.weistock.com/WeisoftHelp/index.html -程序化交易-启动股票池。 主要还是要看看股票池的功能如何使用。
2.再用后台直接监控股票池的选股结果。 后台代码可以只保持上面的仓位资金管理这块的代码。
你可以考虑下我的建议。