以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 求教,关于不等于操作符 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=160218) |
-- 作者:巴巴罗 -- 发布时间:2017/12/7 10:25:31 -- 求教,关于不等于操作符 IF (CONDBUY1 AND TISREMAIN(1) AND UP_PRICE1<>INTPART(TORDERPRICE(1,1)*100)/100) THEN BEGIN TCANCEL(1,1); DEBUGFILE(\'C:\\RECORD111.TXT\',\'卖出2 \'+STKNAME+\'/价格\'+NUMTOSTR(TORDERPRICE(1,1),5)+\'/价格\'+NUMTOSTR(UP_PRICE1,5),1); END 上述语句是我判断,如果计算价格发生变化,和已经委托下单但未成交里的委托价格不一致,就撤销委托,重新下单。 但是明明价格一样,但总是不停执行,我打印里日志如下、2017-12-07 10:19:31.325 卖出2 天原集团/价格8.07000/价格8.07000 2017-12-07 10:20:58.225 卖出2 天原集团/价格8.07000/价格8.07000 2017-12-07 10:22:02.732 卖出2 天原集团/价格8.07000/价格8.07000 2017-12-07 10:22:46.121 卖出2 天原集团/价格8.07000/价格8.07000 2017-12-07 10:23:29.431 卖出2 天原集团/价格8.07000/价格8.07000 2017-12-07 10:24:13.044 卖出2 天原集团/价格8.07000/价格8.07000 明明2个价格都是8.07000,为啥用UP_PRICE1<>INTPART(TORDERPRICE(1,1)*100)/100)无法阻止执行这句呢?
|
-- 作者:巴巴罗 -- 发布时间:2017/12/7 10:35:53 -- 我不知道不等于是 != 还是 <>, 等于和赋值都是=吗? 关于 等于 不等于 这样的基本的操作符,帮助手册里查不到,都是函数声明,请给我一个可以查到关于不等于这样的基本的数学操作符的手册地址
|
-- 作者:FireScript -- 发布时间:2017/12/7 10:39:13 -- UP_PRICE1<>INTPART(TORDERPRICE(1,1)*100)/100) 你这里有个取整的动作。 你打印的结果并没有取整。 |
-- 作者:巴巴罗 -- 发布时间:2017/12/7 10:48:37 -- IF (CONDBUY1 AND TISREMAIN(1) AND UP_PRICE1<>TORDERPRICE(1,1)) THEN BEGIN TCANCEL(1,1); DEBUGFILE(\'C:\\RECORD111.TXT\',\'卖出2 \'+STKNAME+\'/价格\'+NUMTOSTR(TORDERPRICE(1,1),5)+\'/价格\'+NUMTOSTR(UP_PRICE1,5),1); END 我之前就是没有取整的,所以才增加取整操作,但是不管加不加,都有这个问题,现在取消了,如上,但是还是在不断的执行 2017-12-07 10:46:03.735 卖出2 轴研科技/价格9.03000/价格9.03000 2017-12-07 10:46:09.374 卖出2 天原集团/价格8.07000/价格8.07000 2017-12-07 10:46:11.551 卖出2 万里扬/价格10.43000/价格10.43000 2017-12-07 10:46:53.224 卖出2 新力金融/价格11.55000/价格11.55000 2017-12-07 10:47:15.721 卖出2 轴研科技/价格9.03000/价格9.03000 2017-12-07 10:47:21.493 卖出2 天原集团/价格8.07000/价格8.07000 2017-12-07 10:47:23.375 卖出2 万里扬/价格10.43000/价格10.43000 还有个诡异的问题,就是不加取整,就是所有品种都会有这个问题,加取整,只有天原集团一个股票出问题,其他是正常的。
|
-- 作者:pyd -- 发布时间:2017/12/7 15:37:49 -- 两个值都用ROUNDS取两位小数再做比较 ROUNDS(UP_PRICE1,2)<>ROUNDS(TORDERPRICE(1,1),2) |