 
等级: 超级版主
- 注册:
- 2021-5-18
- 曾用名:
|
请教:第一段交易这里看下语句逻辑有没有问题
//非固定变量
account:=100000;//初始资金,每次开盘前都要设置
ZY:=1;//止盈点位
ZS:=4;//止损点位
MAXLOSS:=200; //最大亏损
MAXPROFIT:=400;//最大盈利
OPENMODE:=0 ;//开仓方向确定,0为正,1为反
SS:=1;//下单手数
ZH:='';
PZ:='';
//固定变量设置
t:=60;//固定开仓时间间隔
//监控未成交委托
variable:Ad =0 ,Ak=0; //Ad未成交多,Ak 表示未成交空
//时间节点初始值
kst1:=090129;//强开仓初始值
kst2:=103129;
kst3:=133129;
kst4:=210129;
jst1:=090159;//强平仓初始值
jst2:=103159;
jst3:=133159;
jst4:=210159;
exc1:=time > 090000 and time < 101501 ; //第一交易段
exc2:=time > 103000 and time < 113001 ;//第二交易段
exc3:=time > 133000 and time < 150001 ;//第三交易段
exc4:=time > 210000 and time < 230001 ;//第四交易段
//开仓节点
variable:i1:=kst1; //开1节点
//i1:=i1+t;
variable:i2:=kst2; //开2节点
//i2:=i2+t;
variable:i3:=kst3; //开3节点
//i3:=i3+t;
variable:i4:=kst4; //开4节点
//i4:=i4+t;
//强平仓节点
variable:i5:=jst1; //平1节点
//i5:=i5+t;
variable:i6:=jst2; //平2节点
//i6:=i6+t;
variable:i7:=jst3; //平3节点
//i7:=i7+t;
variable:i8:=jst4; //平4节点
//i8:=i8+t;
// 方向判定变量
B1:=ABS(DyNaINFO(7)-REF(HIGH,1)); //DyNaINFO(7)修正*** //DyNaINFO(7)修正***
B2:=ABS(DyNaINFO(7)-REF(LOW,1));//DyNaINFO(7)修正*** //DyNaINFO(7)修正***
OPENMODE:=IF(B1=B2 and DyNaINFO(7) >=ref(CLOSE,1) ,1,IF(MIN(B1,B2)=B1,1,0))//1.做多,0做空 //DyNaINFO(7)修正***
//交易条件
//第一交易段
if exc2 then begin
IF Tholding <> 0 then begin //持单子
IF Tholding >0 then begin //持有多单
IF time >=i6 then TSELL(1,SS,mkt); //大于等于强平时间
IF time <i6 then begin //小于强平时间
if (DyNaINFO(7)-TENTERPRICE) >=ZY then TSELL(1,SS,mkt); //做多止盈 //DyNaINFO(7)修正***
if (DyNaINFO(7)-TENTERPRICE) <=-ZS then TSELL(1,SS,mkt);//做多止损 //DyNaINFO(7)修正***
END
END
IF Tholding <0 then begin // 持有空单
IF time >=i6 then TSELLshort(1,SS,mkt); //大于等于强平时间
IF time <i6 then begin //小于强平时间
if (DyNaINFO(7)-TENTERPRICE) >=-ZY then TSELLshort(1,SS,mkt); //做空止盈 //DyNaINFO(7)修正***
if (DyNaINFO(7)-TENTERPRICE) <=ZS then TSELLshort(1,SS,mkt); //做空止损 //DyNaINFO(7)修正***
END
END
END
IF Tholding = 0 then begin //未持单子
IF OPENMODE=1 and time >=i1 //做多 且 时间大于等于强开时间
then Tbuy(1,SS,mkt);
IF OPENMODE=0 and time >=i1 //做空 且 时间大于等于强开时间
then Tbuyshort(1,SS,mkt);
END
i2:=i2+t; //i1 赋值递归
i6:=i6+t; //i5 赋值递归
//未成交订单撤单追单
wcjd:=TREMAINQTY(1,ZH,PZ);
IF wcjd <> 0 then BEGIN
Ad:=wcjd;
END
IF Ad > 0 and TENTERBARS(1)>=1 then begin //有未成交多单,并且开仓历时大于1
if tholding = 0 then TCANCEL(1,0); //开多追多
tbuy(1,Ad,MKT);
if tholding <> 0 then begin
if tholding >0 then TCANCEL(1,0); //平多追多
tsell(1,Ad,MKT);
if tholding <0 then TCANCEL(1,0); //平多追空
tsellshort(1,Ad,MKT);
END
END
wcjk:=TREMAINQTY(2,ZH,PZ);
IF wcjk <> 0 then BEGIN
Ak:=wcjk;
END
IF Ak < 0 and TENTERBARS(1)>=1 then begin //有未成交空单,并且开仓历时大于1
if tholding = 0 then TCANCEL(1,0); //开空追空
tbuyshort(1,Ak,MKT);
if tholding <> 0 then begin
if tholding >0 then TCANCEL(1,0); //平空追多
tsell(1,Ak,MKT);
if tholding <0 then TCANCEL(1,0); //平空追空
tsellshort(1,Ak,MKT);
END
END
//资金管理
//累计盈利:=(TASSET - account ) >=MAXPROFIT;
//累计亏损:=(TASSET - account )<=-MAXLOSS;
//IF 累计盈利 or 累计亏损 then exit ;
END
持仓:tholding,linethick0;
资产:tasset,noaxis;
盈亏:TASSET - account ,noaxis;
//加密
//FORMULASERVER('file:///C:\Users\pobo\AppData\Roaming\Tencent\QQ\Temp\%W@GJ$ACOF(TYDYECOKVDYB.png183.162.81.106',55106,'吴涛','1314531tt','量化学习1均线交易')
|
|