资产:TACCOUNT( 6),LINETHICK0;
可用现金:CASH(0),LINETHICK0;
持仓:HOLDING,LINETHICK0;
sv:=intpart(资产/(CLOSE*5*0.15*1.4));
AA:=if(HOUR()=14 AND MINUTE()>=50,1,0);
DD:=if((HOUR()<14 AND HOUR()>8) OR (HOUR()=14 AND MINUTE()<50),1,0);
spb:=IF(AA=1 AND Close>=MA(Close,60),1,0);
sps:=IF(AA=1 AND Close<MA(Close,60),1,0);
spb1:=IF(DD=1 AND HOLDING<0 AND close>=MA(C,20) AND HIGH>MA(C,30),1,0);
sps1:=IF(DD=1 AND HOLDING>0 AND close<=MA(C,20) AND LOW<MA(C,10),1,0);
spb2:=IF(DD=1 AND HOLDING=0 AND close>=MA(C,20),1,0);
sps2:=IF(DD=1 AND HOLDING=0 AND close<=MA(C,20),1,0);
EXITSHORT:(spb OR spb1);
ENTERLONG:(spb OR spb1 OR spb2);
EXITLONG:(sps OR sps1);
ENTERSHORT:(sps OR sps1 OR sps2);
holding是运用于逐K线模式的,holding是基于buy、sell等新交易指令的,却不受enterlong的影响,自然不能混用了,把holding去掉即可,不想重复开仓,用tfilter放在开仓语句后面。
HOLDING 是用在BUY,SELL等高级交易系统的,你用的是ENTERLONG的简单初级交易,所以不能使用高级交易系统的函数与之混用。
建议楼主先从简单开始学习,最后再过渡到复杂的交易系统模型编写