后台程序化,1分钟周期,里面的时间可以随便更改的
已经启动程序化,没反应,求教哪里写得有问题
ZH1:'6000****';
PZ1:'SH600000';
VARIABLE:A=0;
//开仓和平仓
IF CURRENTTIME=102000 THEN BEGIN
TBUY(C>0,1000,LMT,close,0,ZH1,PZ1 );
END
IF CURRENTTIME=102100 THEN BEGIN
TBUY(C>0,1000,LMT,close,0,ZH1,PZ1 );
END
IF CURRENTTIME=102200 THEN BEGIN
TBUY(C>0,1000,LMT,close,0,ZH1,PZ1 );
END
IF CURRENTTIME=102300 THEN BEGIN
TBUY(C>0,1000,LMT,close,0,ZH1,PZ1 );
END
//监控未成交单
WCJ:=TREMAINQTY( 1, ZH1,PZ1);
IF WCJ<>0 THEN BEGIN
A:=WCJ;
END
//对为成交单撤单,并追单
IF WCJ>0 THEN BEGIN
TCANCELEX(1,1,ZH1,PZ1 );
TBUY(WCJ=0,A,LMT,DYNAINFO( 29),0,ZH1,PZ1);
END
//监控持仓和资金状况
当前持仓量:=TBUYHOLDINGEX( ZH1,PZ1 ,0 );
当前可用资金:=TACCOUNT(19);
DEBUGOUT('当前持仓量%.2f',当前持仓量 );
DEBUGOUT('当前可用资金%.2f',当前可用资金 );
用的轮询间隔多少的,不要写成条件太苛刻的
CURRENTTIME=102000
这种条件可以改成
currenttime>102000 and currenttime<102005
这样留一个范围
有预警信号出现吗?你看下有没有勾选允许程序化交易模式运行
应该是你条件不成立,你看下2楼的方式
用的轮询间隔多少的,不要写成条件太苛刻的
CURRENTTIME=102000
这种条件可以改成
currenttime>102000 and currenttime<102005
这样留一个范围
试过了,也没有任何反应
后台用这个全局变量去定义
GLOBALVARIABLE:A=0;
另外就是你的轮询间隔是多少,103000这种太精确的时间很容易漏单漏过去的,就好比人眼睛眨眼会有个时差。
你或者把扫描间隔调低弄成分笔的,或者就按我上面的,把时间写成一个范围的区间
后台用这个全局变量去定义 GLOBALVARIABLE:A=0;
另外就是你的轮询间隔是多少,103000这种太精确的时间很容易漏单漏过去的,就好比人眼睛眨眼会有个时差。 你或者把扫描间隔调低弄成分笔的,或者就按我上面的,把时间写成一个范围的区间 调了一下,发现差不多间隔10才出现 |