[PEL] 复制代码
//只在最后周期有效,防止逐K线模式前面K线刷新进入,可以提高效率。对序列模式不影响。
ZH1:='1000';
IF NOT(TACCOUNT2(53,ZH1)) THEN EXIT;//账户登陆异常直接退出
IF NOT(ISLASTBAR) THEN EXIT;
//取得当前活动账户的总持仓品种数量
HC:=THOLDCOUNT(ZH1);
//MSGOUT(1,NUMTOSTR(HC,0));
//循环取得持仓
FOR I = 1 TO HC DO
BEGIN
//获取第I个序号的账户持仓品种代码
HLABEL:= THOLDINDEXLABEL(I,ZH1);
//MSGOUT(1,HLABEL);
//获取第I个序号的账户持仓品种均价
TAVGP:= TAVGENTERPRICEEX(I,ZH1);
//取该品种多仓数量,然后平仓
THC:=TBUYHOLDINGEX(ZH1 ,HLABEL,1);
//MSGOUT(1,'BUYHOLDIG'&NUMTOSTR(THC,0));
TBUY(THC>0,IF(THC*0.5>2,INTPART(THC*0.5),1),MKT,0,0,ZH1,HLABEL);//持仓增加一半,用0.5表示
TSELL(THC>0,THC,MKT,0,0,ZH1,HLABEL),ALLOWREPEAT;//全平
//取空仓数量,然后平仓
THC:=TSELLHOLDINGEX('' ,HLABEL,1);
//MSGOUT(1,'SELLHOLDIG'&NUMTOSTR(THC,0));
TBUYSHORT(THC>0,IF(THC*0.5>2,INTPART(THC*0.5),1),MKT,0,0,ZH1,HLABEL);//持仓增加一半,用0.5表示
TSELLSHORT(THC>0,THC,MKT,0,0,ZH1,HLABEL),ALLOWREPEAT;//全平
END