//*****************************
账户:'10010';
套利品种1:'A10';
套利品种2:'B10';
//*****************************
//获得价差方法1,品种2的买价-品种1的卖价,ss表示手数,品种2的卖量和品种1的买量
JC1:dynainfo2(28,套利品种2)-dynainfo2(34,套利品种1);
JC2:dynainfo2(34,套利品种2)-dynainfo2(28,套利品种1);
ss:=2;
//开仓和平仓
IF JC1>=500 and tbuyholdingex(账户,套利品种1,2)<100 and tsellholdingex(账户,套利品种2,2)<100 and TISREMAINEX(1,'',套利品种1)=0 and TISREMAINEX(3,'',套利品种2)=0 THEN BEGIN
TBUYSHORT(1,ss,lmt ,DYNAINFO( 28),0,账户,套利品种2 );
TBUY(1,ss,lmt ,DYNAINFO( 34),0,账户,套利品种1 );
END
minn:=2;
IF JC2<=400 and TISREMAINEX(1,'',套利品种1)=0 and TISREMAINEX(3,'',套利品种2)=0 THEN BEGIN
TSELLSHORT(1,minn,lmt ,DYNAINFO( 34),0,账户,套利品种2 );
TSELL(1,minn,lmt ,DYNAINFO( 28),0,账户,套利品种1 );
END
//单腿加仓
//追单
ph:=TSELLHOLDINGEX(账户,套利品种2,0 )- TBUYHOLDINGEX(账户,套利品种1,0 );
pz:=TBUYHOLDINGEX(账户,套利品种1,0 )-TSELLHOLDINGEX(账户,套利品种2,0 );
Pk:=TREMAINQTY( 1,账户,套利品种1);
IF ph>0 AND pk>0 THEN BEGIN
TBUY( ph>0 AND pk>0,ph,MKT ,0,0,账户,套利品种2 );
END
IF pz>0 AND pk>0 THEN BEGIN
TBUYSHORT( pz>0 AND pk>0,pz,MKT ,0,0,账户,套利品种2 );
END
这样单腿加仓不够的,还要考虑挂单情况。
建议客户不要先去寻思这么复杂的,您对编程这块还没有很精通。
后台控制如果代码,你要考虑未成交开或平都要统计。不光是程序,你的整个逻辑思维也要很缜密