-- 作者:geniusrock
-- 发布时间:2016/7/12 12:11:49
--
INPUT:AvgLen(3,1,20,1),Disp(7,1,20,1),SDlen(12,1,20,1),SDev(1,1,3,0.125);
账户:\'。。。。。。\'; 套利品种1:\'L09\'; 套利品种2:\'PP09\';
//价差
VARIABLE:spread[]=0;
spread:=CALLSTOCK(套利品种1,VTCLOSE,4,0)-CALLSTOCK(套利品种2,VTCLOSE,4,0);
AvgVal:=MA(spread,AvgLen); SDmult:=STD(spread,SDLen)*SDev; DispTop:=REF(AvgVal,Disp)+SDmult; DispBottom:=REF(AvgVal,Disp)-SDmult;
KK:=REF(spread,1)<=REF(DispBottom,1);//开空条件 KD:=REF(spread,1)>=REF(DispTop,1);//开多条件
if islastbar then begin DEBUGFILE(\'D:\\TEST.TXT\',\'buycond:%.0f\',KD);//输出开仓条件 DEBUGFILE(\'D:\\TEST.TXT\',\'sellcond:%.0f\',KK);//输出开仓条件 end if KD then begin TSELLSHORT(1,THOLDING,MKT,0,0,账户,套利品种1);//平空 TSELL(1,THOLDING,MKT,0,0,账户,套利品种2);//平空 DEBUGFILE(\'D:\\TEST.TXT\',\'holding:%.0f\',THOLDING);//输出HOLDING TBUY(THOLDING=0,1,MKT,0,0,账户,套利品种1);//开多 TBUYSHORT(THOLDING=0,1,MKT,0,0,账户,套利品种2);//开多 DEBUGFILE(\'D:\\TEST.TXT\',\'holding:%.0f\',THOLDING);//输出HOLDING end
if KK then begin TSELL(1,THOLDING,MKT,0,0,账户,套利品种1);//平多 TSELLSHORT(1,THOLDING,MKT,0,0,账户,套利品种2);//平多 DEBUGFILE(\'D:\\TEST.TXT\',\'holding:%.0f\',THOLDING);//输出HOLDING
TBUYSHORT(THOLDING=0,1,MKT,0,0,账户,套利品种1);//开空 TBUY(THOLDING=0,1,MKT,0,0,账户,套利品种2);//开空 DEBUGFILE(\'D:\\TEST.TXT\',\'holding:%.0f\',THOLDING);//输出HOLDING end
|