[PEL] 复制代码
//只在最后周期有效,防止逐K线模式前面K线刷新进入,可以提高效率。对序列模式不影响。
IF NOT(ISLASTBAR) THEN EXIT;
ZHSL:=TACCOUNTCOUNT;//取得账户数量
FOR I = 1 TO ZHSL do
BEGIN
ZH1:=TACCOUNTINDEX(I);//取指定序号账号
IF NOT(TACCOUNT2(53,ZH1)) THEN EXIT;//账户登陆异常直接退出
HC:=THOLDCOUNT(ZH1);//取得当前活动账户的总持仓品种数量
//循环取得持仓
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
END