INPUT:N(20,1,100,1);
A:=REF(OPEN,1);
B:=REF(CLOSE ,1 );
IF A>B AND TODAYHOLDING=0 AND TISPRVREMAIN( 0)=0 AND TIME<145500 THEN //所有委托,持仓为0
Tbuy(Tholding=0 and TTOTALTRADE=0 ,1,LMT,C+MINDIFF*2); //限价开多
IF A<=B AND TODAYHOLDING=0 AND TISPRVREMAIN( 0)=0 AND TIME<145500 THEN //所有委托,持仓为0
Tbuyshort(Tholding=0 and TTOTALTRADE=0,1,LMT,C-MINDIFF*2); //限价开空
DS:=IF( C-TENTERPRICE>0,C-TENTERPRICE,TENTERPRICE-C); //间隔
JJD:=INTPART(DS/N); //间隔点数
Lots:=POW(2,TNUMSEQLOSS)/2;
Lots1:=if(Lots>16,1,ROUND( Lots)); //交易手数
//=========================================================== 多头
IF TOPENPROFIT<0 AND C<=TENTERPRICE-N AND TIME<145500 THEN
BEGIN
TSELL(Tholding>0 AND C<=TENTERPRICE-N ,0,LMT,C-MINDIFF*3); //平多
Tbuyshort(Tholding=0 AND C<=TENTERPRICE-N,Lots1,LMT,C-MINDIFF*3); //开空
CS2:=0;XD2:=0;
END
VARIABLE: CS1=0,XD1=0;
IF JJD>CS1 AND TOPENPROFIT>0 THEN //AND TOPENPROFIT>0
BEGIN //提高一档空间
CS1:=JJD;
XD1:=TENTERPRICE+CS1*N;
END
IF C<=XD1-N AND XD1<>0 THEN
BEGIN
TSELL(Tholding>0 AND C<=XD1-N ,0,LMT,C-MINDIFF*3); //平多
Tbuyshort(Tholding=0 AND C<=XD1-N,Lots1,LMT,C-MINDIFF*3); //开空
CS2:=0;XD2:=0;
END
//=============================================================空头
IF TOPENPROFIT<0 AND C>=TENTERPRICE+N AND TIME<145500 THEN
BEGIN
Tsellshort(Tholding<0 AND C>=TENTERPRICE+N,0,LMT,C+MINDIFF*3); //平空
Tbuy(Tholding=0 AND C>=TENTERPRICE+N ,Lots1,LMT,C+MINDIFF*3); //开多
CS1:=0; XD1:=0;
END
VARIABLE:CS2=0,XD2=0;
IF JJD>CS2 AND TOPENPROFIT>0 THEN //AND TOPENPROFIT>0
BEGIN //提高一档空间
CS2:=JJD;
XD2:=TENTERPRICE-CS2*N;
END
IF C>=XD2+N AND XD2<>0 THEN
BEGIN
Tsellshort(Tholding<0 AND C>=XD2+N,0,LMT,C+MINDIFF*3); //平空
Tbuy(Tholding=0 AND C>=XD2+N,Lots1,LMT,C+MINDIFF*3); //开多
CS1:=0; XD1:=0;
END
DEBUGOUT('次数1=%.2f',CS1);
DEBUGOUT('次数2=%.2f',CS2);
DEBUGOUT('新点1=%.2f',XD1);
DEBUGOUT('新点2=%.2f',XD2);
DEBUGOUT('手数=%.2f',TNUMSEQLOSS);
Tsell(time>145500 and tholding>0,0,LMT,C);
Tsellshort(time>145500 and tholding<0,0,LMT,C);
http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=332
看问题15,将Tholding从开平仓语句中去掉试试
IF JJD>CS1 AND TOPENPROFIT>0 THEN //AND TOPENPROFIT>0
BEGIN //提高一档空间
CS1:=JJD;
XD1:=TENTERPRICE+CS1*N;
END
CS1有问题吗?会随JJD变小吗?