设为首页收藏本站

 找回密码
 注册
楼主: zxjt10224500
打印 上一主题 下一主题

tb数据库读写bug [复制链接]

Rank: 6Rank: 6

精华
0
UID
14994
积分
2352
帖子
449
主题
54
阅读权限
70
注册时间
2010-7-31
最后登录
2021-12-26
11#
发表于 2016-1-26 09:55:04 来自手机 |显示全部楼层
现在问题是,在某种未知情况下,要不就两个持仓函数返回值为0,要不就是数据库读数错误。还是我的代码有问题,我发现不了?

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
14994
积分
2352
帖子
449
主题
54
阅读权限
70
注册时间
2010-7-31
最后登录
2021-12-26
12#
发表于 2016-1-26 10:51:20 来自手机 |显示全部楼层
fqxing95 发表于 2016-1-26 09:55
现在问题是,在某种未知情况下,要不就两个持仓函数返回值为0,要不就是数据库读数错误。还是我的代码有问 ...

如果代码有问题,也应该不是偶尔会出错,而是频频出错,所以困惑。

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
14994
积分
2352
帖子
449
主题
54
阅读权限
70
注册时间
2010-7-31
最后登录
2021-12-26
13#
发表于 2016-1-26 11:33:13 来自手机 |显示全部楼层
到月底我清空数据库看看是否还会出错,我现在不在计算机旁,谢谢小米。

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
14994
积分
2352
帖子
449
主题
54
阅读权限
70
注册时间
2010-7-31
最后登录
2021-12-26
14#
发表于 2016-1-29 01:33:38 |显示全部楼层
小米 发表于 2016-1-26 11:11
方便远程 吗??如果对应好的,这个读错的可能 性不太大呢。。
或者重置一下数据再看看?如果是数据库损 ...

我目前还没有清空数据库,到底数据库有没有损坏也不敢肯定。今天晚上又出现相同的问题了。从目前情况看来,A_sellposition这个函数,肯定在某种未知情况下,账户本来有持仓而返回值是0,郁闷!!!

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
14994
积分
2352
帖子
449
主题
54
阅读权限
70
注册时间
2010-7-31
最后登录
2021-12-26
15#
发表于 2016-1-29 09:34:21 |显示全部楼层
昨天下午3:00前就持仓空头的rb,到昨天晚盘11:29程序检测到无持仓而进行仓位调整,即重新开空单。300秒后程序再次检查仓位,平掉新开的空单,保持原来的持仓。

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
14994
积分
2352
帖子
449
主题
54
阅读权限
70
注册时间
2010-7-31
最后登录
2021-12-26
16#
发表于 2016-1-29 09:50:12 |显示全部楼层
目前只有rb和rm两个品种,不存在公式对应搞错的可能,且持仓过程中rb没有加减仓的操作,rm也有正常交易。

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
14994
积分
2352
帖子
449
主题
54
阅读权限
70
注册时间
2010-7-31
最后登录
2021-12-26
17#
发表于 2016-1-29 10:23:27 |显示全部楼层
我是按数据库持仓来调整,这样看来数据库是没有问题的,还是持仓函数的问题。。。。。。。。。

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
14994
积分
2352
帖子
449
主题
54
阅读权限
70
注册时间
2010-7-31
最后登录
2021-12-26
18#
发表于 2016-1-29 13:39:45 |显示全部楼层
小米 发表于 2016-1-29 11:10
好的,这个我转交开发人员排查 一下吧。

谢谢,结果如何希望能在这里反馈一下。

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
14994
积分
2352
帖子
449
主题
54
阅读权限
70
注册时间
2010-7-31
最后登录
2021-12-26
19#
发表于 2016-1-29 15:20:27 |显示全部楼层
if(BarStatus()==2 and jytime==True)
{
buycc=A_BuyPosition();
sellcc=A_SellPosition();
if(buycc==InvalidNumeric or sellcc==InvalidNumeric or buycc>10000 or sellcc>10000 or BuyLotsz01==InvalidNumeric or BuyLotsz02==InvalidNumeric or BuyLotsz01>10000 or BuyLotsz02>10000) {
                   FileAppend("d:\\A"+Symbol+"_"+Text(CurrentDate)+".txt",DateTimeToString(SystemDateTime)+"多头"+Text(buycc)+"数据库多头"+text(BuyLotsz01)+"空头"+text(sellcc)+"数据库空头"+text(BuyLotsz02)+"无效值返回");
                                   return;}
if(TimeDiff(Myvar0,SystemDateTime)>300)
{
  if(strValued_x=="x+1" and buycc<>BuyLotsz01)
   {
                                   if(buycc>BuyLotsz01)  {A_SendOrder(Enum_Sell,Enum_Exit,buycc-BuyLotsz01,Q_BidPrice-3*chajia);SetGlobalVar(44,SystemDateTime);
                                   FileAppend("d:\\A"+Symbol+"_"+Text(CurrentDate)+".txt",DateTimeToString(SystemDateTime)+"多头"+Text(buycc)+"数据库多头"+text(BuyLotsz01)+"空头"+text(sellcc)+"数据库空头"+text(BuyLotsz02)+"多头错误1");
                                   return;}
                                   if(buycc<BuyLotsz01)  {A_SendOrder(Enum_Buy,Enum_Entry,BuyLotsz01-buycc,Q_AskPrice+3*chajia);SetGlobalVar(44,SystemDateTime);
                                   FileAppend("d:\\A"+Symbol+"_"+Text(CurrentDate)+".txt",DateTimeToString(SystemDateTime)+"多头"+Text(buycc)+"数据库多头"+text(BuyLotsz01)+"空头"+text(sellcc)+"数据库空头"+text(BuyLotsz02)+"多头错误2");
                                   return;}
                                   }
  if(strValuek_x=="x-1" and sellcc<>BuyLotsz02)
   {
                                   if(sellcc>BuyLotsz02) {A_SendOrder(Enum_Buy,Enum_Exit,sellcc-BuyLotsz02,Q_AskPrice+3*chajia);SetGlobalVar(44,SystemDateTime);
                                   FileAppend("d:\\A"+Symbol+"_"+Text(CurrentDate)+".txt",DateTimeToString(SystemDateTime)+"多头"+Text(buycc)+"数据库多头"+text(BuyLotsz01)+"空头"+text(sellcc)+"数据库空头"+text(BuyLotsz02)+"空头错误1");
                                   return;}
                                   if(sellcc<BuyLotsz02) {A_SendOrder(Enum_Sell,Enum_Entry,BuyLotsz02-sellcc,Q_BidPrice-3*chajia);SetGlobalVar(44,SystemDateTime);
                                   FileAppend("d:\\A"+Symbol+"_"+Text(CurrentDate)+".txt",DateTimeToString(SystemDateTime)+"多头"+Text(buycc)+"数据库多头"+text(BuyLotsz01)+"空头"+text(sellcc)+"数据库空头"+text(BuyLotsz02)+"空头错误2");
                                   return;}
                                   }
  if(strValued_x=="xdt" and buycc<>0)    {A_SendOrder(Enum_Sell,Enum_Exit,buycc,Q_BidPrice-3*chajia);SetGlobalVar(44,SystemDateTime);return;}
  if(strValuek_x=="xkt" and sellcc<>0)   {A_SendOrder(Enum_Buy,Enum_Exit,sellcc,Q_AskPrice+3*chajia);SetGlobalVar(44,SystemDateTime);return;}
                   }
if((strValued_x=="x+1" and buycc<>BuyLotsz01) or (strValuek_x=="x-1" and sellcc<>BuyLotsz02) or (strValued_x=="xdt" and buycc<>0) or (strValuek_x=="xkt" and sellcc<>0)) {
                   FileAppend("d:\\A"+Symbol+"_"+Text(CurrentDate)+".txt",DateTimeToString(SystemDateTime)+"多头"+Text(buycc)+"数据库多头"+text(BuyLotsz01)+"空头"+text(sellcc)+"数据库空头"+text(BuyLotsz02)+"错误返回");
                                   return;}

//记录一下,到底是什么东西错误。下午测了30分钟也没有发现问题,毕竟好像3天左右出现一次。

使用道具 举报

Rank: 6Rank: 6

精华
0
UID
14994
积分
2352
帖子
449
主题
54
阅读权限
70
注册时间
2010-7-31
最后登录
2021-12-26
20#
发表于 2016-1-29 21:07:17 |显示全部楼层
uniwin 发表于 2016-1-29 19:23
同时交易10个品种。碰到好几次JD1605空头有持仓,然后数据库键值会莫名清0。 而其它品种,以及多头持仓好象 ...

最近两次也是空头,前面有点忘记了有没有多头出问题。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-3 19:19

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部