[PEL] 复制代码
//*****************************
{
参数列表:
自设套利合约TA0002
最大开仓数量MAX
价差上限M,低于此价格才开仓且持仓数量没超过最大数量MAX
平仓价差间隔N,低于价格M,间隔在N时逐步建仓
螺纹套利最新
}
账户:'15850565840';
套利品种1:'RB10';
套利品种2:'RB01';
S1:= 200;//开始建仓点位
J:= 5;//建仓的间隔
N1:= 1;//每次建仓的手数/会变动可能为2
N2:= 2; //变动的价格分界点为F=200,如价差低于200时,每次开2手
F:= 100;
M:= 10;//允许的最大持仓数量
LS:= 200;//上次建仓的点位
X:= 5;//平仓时的价差,比如价格高于上次开仓价5个点时,则平仓
//*****************************
JC:=dynainfo2(7,套利品种1)-dynainfo2(7,套利品种2);
//获得价差方法
KD:=JC< S1 AND THOLDING2 <M ; //开多条件
//第一次开仓
DEBUGOUT( '交易次数为:%.0f',TTOTALTRADE );
//每次开N1手的情况
IF KD AND (JC> F AND 0=TTOTALTRADE) THEN BEGIN
TBUYSHORT(1,N1,LMT ,DYNAINFO2(7, 套利品种1),0,账户,套利品种1);
TBUY(1,N1,LMT ,,DYNAINFO2(7, 套利品种1),0,账户,套利品种2);
END
//后续开仓
DEBUGOUT( '上次开仓价格为',TENTERPRICE );
//低于上次开仓价J个点,继续开仓N1手
IF KD AND (JC> F AND JC <= TENTERPRICE-J) THEN BEGIN
TBUYSHORT(1,N1,LMT,DYNAINFO2(7, 套利品种1),0,账户,套利品种1);
TBUY(1,N1,DYNAINFO2(7, 套利品种2) ,0,0,账户,套利品种2);
END
//低于上次开仓价J个点,继续开仓N2手
IF KD AND (JC<F AND JC <= TENTERPRICE-J) THEN BEGIN
TBUYSHORT(1,N2,MKT ,0,0,账户,套利品种1);
TBUY(1,N2,MKT ,0,0,账户,套利品种2);
END
PD:=TENTERPRICE-JC>=5 AND THOLDING2>0; //平多条件
//平多
IF PD THEN BEGIN
TSELL(PD,0,MKT,0,0,账户,套利品种2);
TSELLSHORT(PD,0,MKT,0,0,账户,套利品种1);
END
//当前持仓
DEBUGOUT( '当前持仓手数为',THOLDING2 );
//开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE); //开空信号
//平空:SELLSHORT(PK,1,THISCLOSE); //平空信号
DEBUGOUT( '当前工作模式为',WORKMODE );