本帖最后由 错错熊 于 2012-8-3 19:06 编辑
Q_AskPrice和Q_BidPrice函数返回值错误示例代码: Params Stringsymbol1("SR301"); Numeric TradeUnit(1); Vars Numeric price1; Numeric price2; Begin price1 = Q_AskPrice(Symbol1); princ2 = Q_BidPrice(Symbol1); Buy(TradeUnit, price1); Sell(TradeUnit, princ2); End 问题说明: 以上代码在执行对当前SR301下单过程中,出现委托价位-100000000的提示,返回这个数据表示获取行情数据错误。 问题原因: 1、函数中的合约的代码错误,比如应该是SR301,写成SR1301或者sr301。 2、该合约没有成交量或对应方向挂单。 3、初次加载公式获取当前图表以外合约的数据,可能获取数据错误。 解决办法: 1、当前使用版本: 这种函数调用时,获取到的结果先加个判断, 比如if(Q_askPrice(“SR301”)<=0) 不做处理,或给出提示。 确认Q_askPrice(“SR301”)> 0时,开始使用返回的正确值。 2、下次升级版本后: 可以对所有获取价或量的函数增加判断过程,确认获取结果是不是InvalidNumeric,如果是,说明是无效值, 此时不做处理,否则即是正确值,可以直接使用。 |