Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共10 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:代码哪里写的有问题

1楼
qq代人发帖 发表于:2016/5/16 11:12:45

后台程序化,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',当前可用资金 );

[此贴子已经被作者于2016-5-16 11:13:36编辑过]
2楼
yukizzc 发表于:2016/5/16 11:18:57

用的轮询间隔多少的,不要写成条件太苛刻的

CURRENTTIME=102000

这种条件可以改成

currenttime>102000 and currenttime<102005

这样留一个范围

3楼
wenarm 发表于:2016/5/16 11:20:44

有预警信号出现吗?你看下有没有勾选允许程序化交易模式运行

4楼
yangze0927 发表于:2016/5/16 11:22:33
勾选了允许程序化交易模式运行,没有出现预警信号
5楼
wenarm 发表于:2016/5/16 11:25:28

应该是你条件不成立,你看下2楼的方式

6楼
yangze0927 发表于:2016/5/16 11:25:28

用的轮询间隔多少的,不要写成条件太苛刻的

CURRENTTIME=102000

这种条件可以改成

currenttime>102000 and currenttime<102005

这样留一个范围


试过了,也没有任何反应

7楼
yukizzc 发表于:2016/5/16 11:26:11

后台用这个全局变量去定义

GLOBALVARIABLE:A=0;

 

另外就是你的轮询间隔是多少,103000这种太精确的时间很容易漏单漏过去的,就好比人眼睛眨眼会有个时差。

你或者把扫描间隔调低弄成分笔的,或者就按我上面的,把时间写成一个范围的区间

8楼
yangze0927 发表于:2016/5/16 11:30:20

后台用这个全局变量去定义

GLOBALVARIABLE:A=0;

 

另外就是你的轮询间隔是多少,103000这种太精确的时间很容易漏单漏过去的,就好比人眼睛眨眼会有个时差。

你或者把扫描间隔调低弄成分笔的,或者就按我上面的,把时间写成一个范围的区间


调了一下,发现差不多间隔10才出现
9楼
wenarm 发表于:2016/5/16 11:31:26
你现在试肯定没反应,时间都过去了,现在都11:00多了
[此贴子已经被作者于2016-5-16 11:31:38编辑过]
10楼
yangze0927 发表于:2016/5/16 11:34:10
有反应了IF currenttime>112900 and currenttime<112920 THEN BEGIN
共10 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.05469 s, 3 queries.