以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  金字塔软件问题提交  (http://222.73.7.161/bbs/list.asp?boardid=2)
----  全局变量写入函数在有信号重复的情况下似乎有问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=31222)

--  作者:paulshen
--  发布时间:2012/12/6 12:16:31
--  全局变量写入函数在有信号重复的情况下似乎有问题

用如下函数记录一个开仓品种的开仓数量:

//开多 - 正常(早盘)开多或止损后开多
OU:GETREGVAL(\'GSWDayMPXR\',\'MP_OU\',0);
OA:=GETREGVAL(\'GSWDayMPXR\',\'MP_\'&STKLABEL&\'_UC\',0);
if NEX and OT and CTO and OU<TU and OA>0 and BO and GETREGVAL(\'GSWDayMPXR\',\'MP_\'&STKLABEL&\'_OU\',0)=0 and GETREGVAL(\'GSWDayMPXR\',\'MP_\'&STKLABEL&\'_SL_L\',0)=0 then begin
 TBuy(1,OA,lmt,BPR,0,AC18),allowrepeat;

 SETREGVAL(\'GSWDayMPXR\',\'MP_\'&STKLABEL&\'_HD\',OA);
 SETREGVAL(\'GSWDayMPXR\',\'MP_\'&STKLABEL&\'_OU\',1);
 OU1:=GETREGVAL(\'GSWDayMPXR\',\'MP_OU\',0);
 OU1:=OU1+1;
 SETREGVAL(\'GSWDayMPXR\',\'MP_OU\',OU1);
 SETREGVAL(\'GSWDayMPXR\',\'MP_\'&STKLABEL&\'_BOP\',MB*10000);  

end

 

由于用C判断开仓条件,信号可能重复出现。在没有信号重复的情况下,输出正常。在有信号重复时,输出奇怪的大数:

 

2012-12-06 09:26:20.781    MP_AG01_HD:4294967293
2012-12-06 09:26:20.781    MP_AG01_SL:49
2012-12-06 09:26:20.781    MP_AG01_OA:3
2012-12-06 09:26:20.781    MP_AG01_OT:1
2012-12-06 09:26:20.781    MP_AG01_CT0:1
2012-12-06 09:26:20.781    MP_AG01_SL_S:0
2012-12-06 09:26:20.781    MP_AG01_SL_L:1
2012-12-06 09:26:20.781    MP_AG01_BP_S:0
2012-12-06 09:26:20.781    MP_AG01_BP_L:0
2012-12-06 09:26:20.781    MP_AG01_BP:145
2012-12-06 09:26:20.781    MP_AG01_NEX:1
2012-12-06 09:26:20.781    MP_AG01_BuyRate:0.10000
2012-12-06 09:26:20.781    MP_AG01_SellRate:0.10000
2012-12-06 09:26:20.781    MP_AG01_multiplier:15.00
2012-12-06 09:26:20.781    MP_TASSET:11189986.00
2012-12-06 09:26:20.781    MP_MyASSET:1000000.00
2012-12-06 09:26:20.781    MP_TCASH:10848328.00
2012-12-06 09:26:20.781    MP_BZJ:60079.50
2012-12-06 09:26:20.781    MP_AG01_OU:4294967295.00

 

注册表里看到的也是一样的。用EXTGBDATASET也出现同样的情况。

 

请帮忙看看是什么问题。看起来像是输出函数在有信号重复时的BUG。


--  作者:jinzhe
--  发布时间:2012/12/6 13:44:28
--  
oa是什么?
--  作者:paulshen
--  发布时间:2012/12/6 13:59:23
--  全局变量写入函数在有信号重复的情况下似乎有问题

是一个变量,用来保存当前品种的开仓手数。


--  作者:jinzhe
--  发布时间:2012/12/6 14:00:44
--  

把代码发全,不然不好测试


--  作者:fly
--  发布时间:2012/12/6 14:05:05
--  

在有信号重复的时候,把第1次出信号的输出(09:26)也发一下.

 

如果本地有下单日志,这个点前后的,也请发一下,谢谢

[此贴子已经被作者于2012-12-6 14:05:50编辑过]

--  作者:paulshen
--  发布时间:2012/12/6 14:11:09
--  
用QQ传给你把。
--  作者:paulshen
--  发布时间:2012/12/6 14:15:09
--  

已经传给你了,有空收一下。


--  作者:jinzhe
--  发布时间:2012/12/6 14:16:10
--  
收到了,测试中
--  作者:jinzhe
--  发布时间:2012/12/6 15:33:28
--  
今天没有测到信号多发的情况,明天开盘后接着测试
--  作者:paulshen
--  发布时间:2012/12/6 16:14:27
--  全局变量写入函数在有信号重复的情况下似乎有问题

由于是20秒才写一次,没有输出第一次出信号时的情况。

没开日志,明天开了试试。