fqxing95 发表于 2016-1-26 09:55:04

现在问题是,在某种未知情况下,要不就两个持仓函数返回值为0,要不就是数据库读数错误。还是我的代码有问题,我发现不了?

fqxing95 发表于 2016-1-26 10:51:20

fqxing95 发表于 2016-1-26 09:55
现在问题是,在某种未知情况下,要不就两个持仓函数返回值为0,要不就是数据库读数错误。还是我的代码有问 ...

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

小米 发表于 2016-1-26 11:11:52

fqxing95 发表于 2016-1-26 09:46 static/image/common/back.gif
不会,我是A函数发单的,一个图表对应一个品种。

方便远程 吗??如果对应好的,这个读错的可能 性不太大呢。。
或者重置一下数据再看看?如果是数据库损坏导致的读取数据错误,通过重置数据可以修复

fqxing95 发表于 2016-1-26 11:33:13

到月底我清空数据库看看是否还会出错,我现在不在计算机旁,谢谢小米。

zxjt10224500 发表于 2016-1-26 14:01:01

Data1_Q_Last=Data1.Q_Last;
Data0_Q_bid=Q_BidPrice;
Data0_Q_Ask=Q_AskPrice;
        If(BarStatus==2&&(Data0_Q_bid==InvalidNumeric||Data0_Q_Ask==InvalidNumeric||Data1_Q_last==InvalidNumeric||Data1_Q_last>Data1.High*1.008||Data1_Q_last<Data1.low*0.992)) //实时数据是否正确有效
        {
                FileAppend("d:\\log\\bd_system_1_"+Account_S1+symbol_000+"_error.log",DateTimeToString(CurrentDate+CurrentTime)+"行情数据错误:ask="+Text(Data0_Q_ask)+" bid="+Text(Data0_Q_bid)+" last="+Text(Data1_Q_last));
                return;
        }

这段代码记录错误的Q_last数据,极少出现,但会出现从螺纹的图表上读取到了橡胶图表的数据。会引发止损。

fqxing95 发表于 2016-1-29 01:33:38

小米 发表于 2016-1-26 11:11 static/image/common/back.gif
方便远程 吗??如果对应好的,这个读错的可能 性不太大呢。。
或者重置一下数据再看看?如果是数据库损 ...

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

fqxing95 发表于 2016-1-29 09:34:21

昨天下午3:00前就持仓空头的rb,到昨天晚盘11:29程序检测到无持仓而进行仓位调整,即重新开空单。300秒后程序再次检查仓位,平掉新开的空单,保持原来的持仓。

fqxing95 发表于 2016-1-29 09:50:12

目前只有rb和rm两个品种,不存在公式对应搞错的可能,且持仓过程中rb没有加减仓的操作,rm也有正常交易。

xunsun 发表于 2016-1-29 10:21:17

fqxing95 发表于 2016-1-29 01:33 static/image/common/back.gif
我目前还没有清空数据库,到底数据库有没有损坏也不敢肯定。今天晚上又出现相同的问题了。从目前情况看来 ...

A_sellposition和A_buyposition 在有持仓的情况却返回0,我也碰到过,一直不明白啥问题。

fqxing95 发表于 2016-1-29 10:23:27

我是按数据库持仓来调整,这样看来数据库是没有问题的,还是持仓函数的问题。。。。。。。。。
页: 1 2 [3] 4 5
查看完整版本: tb数据库读写bug