- 精华
- 0
- 在线时间
- 58 小时
- UID
- 1873
- 积分
- 105
- 帖子
- 44
- 阅读权限
- 30
- 注册时间
- 2008-7-13
- 最后登录
- 2019-11-26
- 精华
- 0
- UID
- 1873
- 积分
- 105
- 帖子
- 44
- 主题
- 12
- 阅读权限
- 30
- 注册时间
- 2008-7-13
- 最后登录
- 2019-11-26
|
经过前天交易量为负的事,我在我的代码里加上一段 数据检查 的功能。
在多个 指数合约 上运行后发现以下数据错误(红色部分)。
不知是TB的错,还是交易所数据的错,希望以后都不要有错。
TB 你们自己从来都不做类似检查吗?
if (BarStatus == 2)
{
str1="";
if (open<0 or close<0 or high<0 or low<0)
str1=str1+"今日价格 小于0,";
if (open>high or close>high or low>high or open<low or close<low or high<low)
str1=str1+"今日价格数据有误"+" O"+text(open)+", C"+text(close)+", H"+text(high)+", L"+text(low);
if (vol<0)
str1=str1+"今日成交量 小于0,";
if (Openint<0)
str1=str1+"今日持仓量 小于0,";
For i = 1 To Barcount-1 //从上一根k线 回溯到历史第一根k线 做上面同样的检查
{
if (open<0 or close<0 or high<0 or low<0)
str1=str1+datetostring(date)+"价格 小于0,";
if (open>high or close>high or low>high or open<low or close<low or high<low)
str1=str1+datetostring(date)+"价格数据有误"+" O"+text(open)+", C"+text(close)+", H"+text(high)+", L"+text(low);
if (vol<0)
str1=str1+datetostring(date)+"成交量 小于0,";
if (Openint<0)
str1=str1+datetostring(date)+"持仓量 小于0,";
}
//输出 str1
}
RU000 橡胶指数 2001-05-31价格数据有误 O7398, C7386, H7393, L7382; (开盘价 大于 最高价)
C9000 玉米指数 2005-12-19价格数据有误 O1305, C1313, H1318, L1312; (开盘价 小于 最低价)
CF000 棉花指数 2004-12-17价格数据有误 O12330, C12297, H12345, L12306; (收盘价 小于 最低价) |
|