//连接d:\test.mdb数据库
DATABASE('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.mdb');
//检索数据库表
DBTABLE('Select * From @Code@ Order By StockDate');
石脑油FOB新加坡:if(DBVALUE('现货价(中间价):石脑油:FOB新加坡'), colorred;
现货价(中间价):石脑油:FOB新加坡
这个现货价~有时候缺失一两天~结果这个指标直接给我返回一个0~
就不能drawnull吗?
假设我把指标写成if(xx=0,drawnull,xx)
那样的话如果我mdb文件里真的为0的数据就直接给我drawnull了~
这可咋办?
用法:DBREADTYPE(N),N取0或1,默认为0
当N=0时如果DBVALUE或者DBSTRING找不到当日数据,那么取其之前数据。不然这两个函数将返回0值。
所属函数组:数据库函数
这样弄也不行~
缺失数据返回前值~跟VALUEWHEN差不多~
就不能缺失数据返回drawnull吗?
1、2楼你已经把相关的逻辑说的很明白了
你应该从保证数据的完整性方面去考虑怎么解决目前的问题
以下是引用十世在2015/11/27 10:23:10的发言:
1、2楼你已经把相关的逻辑说的很明白了
你应该从保证数据的完整性方面去考虑怎么解决目前的问题
你咋不明白缺失数据不是因为数据保存不完整~
而是因为两个数据的频率不一样导致的?
有的数据是半个月公布一次~有的是一周公布一次~
有的库存数据经常半个月没有~
日K线数据是每个交易日都有的~这是数据频率造成的不一致~
两个数据频率不一致的时候如何处理更合理?
不是单纯的返回个0吧?
也不是单纯的返回个前值吧?