以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  请教几个问题  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=70080)

--  作者:dwjgwsm
--  发布时间:2014/9/17 22:02:24
--  请教几个问题
模拟盘.晚上在棕榈1分钟上写了个测试代码如下:

dk:=TODAYBAR=50;
dp:=TODAYBAR=52;
dksig:=EXTGBDATA(\'dksig\');

DEBUGFILE(\'e:\\rd.txt\',\'hold=\'&NUMTOSTR(holding,0)&\' dksig=%.0f\',dksig);
IF HOLDING>0 AND dp THEN
BEGIN
SELL(1,1,THISCLOSE);

END;
if HOLDING=0 AND DK then
begin
  BUY(1,1,THISCLOSE);
  EXTGBDATASET(\'STKLABEL\'& \'dksig\',1)
end;  
DEBUGFILE(\'e:\\rd.txt\',\'hold2=\'&NUMTOSTR(holding,0)&\' dksig2=%.0f\',EXTGBDATA(\'dksig\'));


2014-09-17 21:48:56.620    hold=0 dksig=0
2014-09-17 21:48:56.622    hold2=0 dksig2=0
2014-09-17 21:48:58.131    hold=0 dksig=0
2014-09-17 21:48:58.132    hold2=0 dksig2=0
2014-09-17 21:48:59.656    hold=0 dksig=0
2014-09-17 21:48:59.658    hold2=0 dksig2=0
2014-09-17 21:49:01.655    hold=0 dksig=0
2014-09-17 21:49:01.657    hold2=1 dksig2=0
2014-09-17 21:49:02.673    hold=0 dksig=0
2014-09-17 21:49:02.675    hold2=1 dksig2=0
2014-09-17 21:49:04.192    hold=0 dksig=0
2014-09-17 21:49:04.194    hold2=1 dksig2=0
2014-09-17 21:49:05.698    hold=0 dksig=0
2014-09-17 21:49:05.700    hold2=1 dksig2=0
2014-09-17 21:49:07.211    hold=0 dksig=0
2014-09-17 21:49:07.213    hold2=1 dksig2=0
2014-09-17 21:49:08.716    hold=0 dksig=0
2014-09-17 21:49:08.717    hold2=1 dksig2=0
2014-09-17 21:49:10.230    hold=0 dksig=0
2014-09-17 21:49:10.231    hold2=1 dksig2=0
2014-09-17 21:49:11.750    hold=0 dksig=0
2014-09-17 21:49:11.751    hold2=1 dksig2=0
2014-09-17 21:49:13.271    hold=0 dksig=0
2014-09-17 21:49:13.272    hold2=1 dksig2=0
2014-09-17 21:49:14.777    hold=0 dksig=0
2014-09-17 21:49:14.779    hold2=1 dksig2=0
2014-09-17 21:49:16.300    hold=0 dksig=0
2014-09-17 21:49:16.316    hold2=1 dksig2=0
2014-09-17 21:49:17.828    hold=0 dksig=0
2014-09-17 21:49:17.830    hold2=1 dksig2=0
2014-09-17 21:49:19.317    hold=0 dksig=0
2014-09-17 21:49:19.318    hold2=1 dksig2=0
2014-09-17 21:49:20.831    hold=0 dksig=0
2014-09-17 21:49:20.833    hold2=1 dksig2=0
2014-09-17 21:49:22.343    hold=0 dksig=0
2014-09-17 21:49:22.345    hold2=1 dksig2=0
2014-09-17 21:49:23.850    hold=0 dksig=0
2014-09-17 21:49:23.851    hold2=1 dksig2=0
2014-09-17 21:49:25.363    hold=0 dksig=0
2014-09-17 21:49:25.364    hold2=1 dksig2=0
2014-09-17 21:49:26.881    hold=0 dksig=0
2014-09-17 21:49:26.882    hold2=1 dksig2=0
2014-09-17 21:49:28.395    hold=0 dksig=0
2014-09-17 21:49:28.396    hold2=1 dksig2=0
2014-09-17 21:49:29.903    hold=0 dksig=0
2014-09-17 21:49:29.903    hold2=1 dksig2=0
2014-09-17 21:49:31.416    hold=0 dksig=0
2014-09-17 21:49:31.416    hold2=1 dksig2=0
2014-09-17 21:49:32.935    hold=0 dksig=0
2014-09-17 21:49:32.937    hold2=1 dksig2=0
2014-09-17 21:49:34.449    hold=0 dksig=0
2014-09-17 21:49:34.451    hold2=1 dksig2=0
2014-09-17 21:49:35.955    hold=0 dksig=0
2014-09-17 21:49:35.955    hold2=1 dksig2=0
2014-09-17 21:49:37.467    hold=0 dksig=0
2014-09-17 21:49:37.468    hold2=1 dksig2=0
2014-09-17 21:49:38.987    hold=0 dksig=0
2014-09-17 21:49:38.989    hold2=1 dksig2=0
2014-09-17 21:49:40.510    hold=0 dksig=0
2014-09-17 21:49:40.512    hold2=1 dksig2=0
2014-09-17 21:49:42.008    hold=0 dksig=0
2014-09-17 21:49:42.009    hold2=1 dksig2=0
2014-09-17 21:49:43.521    hold=0 dksig=0
2014-09-17 21:49:43.522    hold2=1 dksig2=0
2014-09-17 21:49:45.039    hold=0 dksig=0
2014-09-17 21:49:45.040    hold2=1 dksig2=0
2014-09-17 21:49:46.553    hold=0 dksig=0
2014-09-17 21:49:46.555    hold2=1 dksig2=0
2014-09-17 21:49:48.060    hold=0 dksig=0
2014-09-17 21:49:48.061    hold2=1 dksig2=0
2014-09-17 21:49:49.574    hold=0 dksig=0
2014-09-17 21:49:49.575    hold2=1 dksig2=0
2014-09-17 21:49:51.095    hold=0 dksig=0
2014-09-17 21:49:51.097    hold2=1 dksig2=0
2014-09-17 21:49:52.603    hold=0 dksig=0
2014-09-17 21:49:52.605    hold2=1 dksig2=0
2014-09-17 21:49:54.114    hold=0 dksig=0
2014-09-17 21:49:54.114    hold2=1 dksig2=0
2014-09-17 21:49:55.628    hold=0 dksig=0
2014-09-17 21:49:55.629    hold2=1 dksig2=0
2014-09-17 21:49:57.156    hold=0 dksig=0
2014-09-17 21:49:57.157    hold2=1 dksig2=0
2014-09-17 21:49:58.669    hold=0 dksig=0
2014-09-17 21:49:58.670    hold2=1 dksig2=0
2014-09-17 21:50:00.297    hold=1 dksig=0
2014-09-17 21:50:00.299    hold2=1 dksig2=0
2014-09-17 21:50:01.695    hold=1 dksig=0
2014-09-17 21:50:01.697    hold2=1 dksig2=0
2014-09-17 21:50:03.193    hold=1 dksig=0
2014-09-17 21:50:03.194    hold2=1 dksig2=0
2014-09-17 21:50:04.708    hold=1 dksig=0
2014-09-17 21:50:04.709    hold2=1 dksig2=0
2014-09-17 21:50:06.278    hold=1 dksig=0
2014-09-17 21:50:06.281    hold2=1 dksig2=0

问题:
1.为什么出现多开信号后全局变量没有写入,dksig2始终为0?
2.thisclose下单,不是在当根K线走完的时候才下单吗?但实际上一旦TODAYBAR=50满足,holding就变化了
3.为什么没有下单呢?这是模拟账号.晚上不支持模拟交易吗?
4.我想实现一个功能:一旦一根K线第一次满足条件后,就设一个全局变量,从而控制vba函数不会重复动作.请问该怎么写呢?按照我的想法,就是按照上面代码中那样做,下单后设一个全局变量,然后通过这个全局变量控制后面的vba函数.但全局变量没设置成功
[此贴子已经被作者于2014/9/17 22:03:02编辑过]

--  作者:dwjgwsm
--  发布时间:2014/9/18 0:06:04
--  
第三个问题是我操作错误,重新测试了一下,结果是这样的:
2014-09-17 23:57:55.092    hold=0 dksig=0
2014-09-17 23:57:55.094    hold2=1 dksig2=0
2014-09-17 23:57:56.606    hold=0 dksig=0
2014-09-17 23:57:56.607    hold2=1 dksig2=0
2014-09-17 23:57:59.629    hold=0 dksig=0
2014-09-17 23:57:59.630    hold2=1 dksig2=0
2014-09-17 23:58:02.658    hold=0 dksig=0
2014-09-17 23:58:02.659    hold2=1 dksig2=0
2014-09-17 23:58:04.180    hold=1 dksig=0
2014-09-17 23:58:04.180    hold2=1 dksig2=0
2014-09-17 23:58:05.696    hold=1 dksig=0
2014-09-17 23:58:05.696    hold2=1 dksig2=0
2014-09-17 23:58:07.197    hold=1 dksig=0
2014-09-17 23:58:07.198    hold2=1 dksig2=0

.......................

2014-09-17 23:58:57.130    hold=1 dksig=0
2014-09-17 23:58:57.130    hold2=1 dksig2=0
2014-09-17 23:58:58.643    hold=1 dksig=0
2014-09-17 23:58:58.644    hold2=1 dksig2=0
2014-09-17 23:59:00.162    hold=1 dksig=0
2014-09-17 23:59:00.164    hold2=1 dksig2=0
2014-09-17 23:59:03.183    hold=1 dksig=0
2014-09-17 23:59:03.184    hold2=1 dksig2=0
2014-09-17 23:59:04.694    hold=1 dksig=0
2014-09-17 23:59:04.695    hold2=1 dksig2=0
2014-09-17 23:59:06.250    hold=1 dksig=0

--  作者:王锋
--  发布时间:2014/9/18 0:10:16
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140609131028.jpg
图片点击可在新窗口打开查看

--  作者:dwjgwsm
--  发布时间:2014/9/19 0:57:06
--  
没有用啊
dksig2还是始终等于0

--  作者:FexTel
--  发布时间:2014/9/19 8:47:10
--  

 EXTGBDATASET(\'STKLABEL\'& \'dksig\',1) 品种代码本身就是字符串

 EXTGBDATASET( \'dksig\',1)//先给定义把,另外金字塔模拟交易不支持夜盘模拟


--  作者:dwjgwsm
--  发布时间:2014/9/19 15:26:14
--  
我今天在豆粕连续上运行并算了一下,二次程序运行之间间隔时间大致是1.5秒,怎么会这么长时间?
--  作者:FexTel
--  发布时间:2014/9/19 15:34:41
--  
1,看下是不是机器比较卡,这段代码运行不会超过上述时间的。一直监测看下实际运行间隔,使用DEBUGFLE2输出
--  作者:dwjgwsm
--  发布时间:2014/9/19 15:39:12
--  
就是上面那段代码,其中错误的地方修改了一下.即便是上面1.2楼的结果你随便估一下,也是1.5秒,这是家里的电脑.网络是办公室的好一些.都是debugfile2

2014-09-17 23:58:04.180    hold2=1 dksig2=0
2014-09-17 23:58:05.696    hold=1 dksig=0
2014-09-17 23:58:05.696    hold2=1 dksig2=0
[此贴子已经被作者于2014/9/19 15:41:05编辑过]

--  作者:dwjgwsm
--  发布时间:2014/9/19 15:41:47
--  
晚上用debugfile2试一下
--  作者:FexTel
--  发布时间:2014/9/19 15:45:06
--  

另外看下你后台的扫描刷新频率设置把,如果设置为1500ms,必然为1.5s


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140919154511.jpg
图片点击可在新窗口打开查看