判断持仓多空方向及持仓量,根据策略调整持仓代码举例
特别感谢 明心 的明私分享
代码演示:
//本代码含义:根据盘面交易系统算出应该持有的净持仓,然后获得账户里的持仓情况,通过对比,使用买卖指令调整账户里的持仓。
jc:dc-kc,LINETHICK0;{净持仓=多仓-空仓,这个多仓空仓根据个人策略控制仓位而得到的}
ccfx:if(jc>0,1,IF(jc<0,-1,0)),LINETHICK0;{判断多空方向}
{取得账户多头持仓和空头持仓}
dtc:TBUYHOLDING(1),LINETHICK0;
ktc:TSELLHOLDING(1),LINETHICK0;
{获取盘面持仓和账户持仓差额}
dtcc:jc-dtc,LINETHICK-;
ktcc:abs(jc)-ktc,LINETHICK0;
if ccfx<>0 then
BEGIN
if ccfx=1 then{多头处理}
BEGIN
TSELLSHORT(ktc>0,ktc);
TBUY(dtcc>0,dtcc);
TSELL(dtcc<0,abs(dtcc));
END
else {空头处理}
BEGIN
TSELL(dtc>0,dtc);
TBUYSHORT(ktcc>0,ktcc);
TSELLSHORT(ktcc<0,abs(ktcc));
END
END
else {0持仓处理}
BEGIN
TSELLSHORT(ktc>0,ktc);
TSELL(dtc>L,dtc);
END