以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://weistock.com/bbs/list.asp?boardid=2)
----  [求助]CF105 - 已撤单报单被拒绝出错: 委托单价格不是最小变动价位整数倍  (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=3629)

--  作者:z7c9
--  发布时间:2010/11/2 10:06:44
--  [求助]CF105 - 已撤单报单被拒绝出错: 委托单价格不是最小变动价位整数倍

CF105 - 已撤单报单被拒绝出错: 委托单价格不是最小变动价位整数倍

 

如何解决,策略根据atr平均值计算的结果无法下单。


--  作者:fly
--  发布时间:2010/11/2 10:17:55
--  

不是最小变动价位整数倍,想办法变成最小变动价格的整数倍。

 

比如,把atr平均值计算的结果做为条件,达到这个条件,按照当前你指定的一个价格(开高低收等)下委托单

 


--  作者:z7c9
--  发布时间:2010/11/2 10:26:24
--  
以下是引用fly在2010-11-2 10:17:55的发言:

不是最小变动价位整数倍,想办法变成最小变动价格的整数倍。

 

比如,把atr平均值计算的结果做为条件,达到这个条件,按照当前你指定的一个价格(开高低收等)下委托单

 

有没有向上取整到mindiff和向下取整到mindiff的函数?


--  作者:fly
--  发布时间:2010/11/2 10:39:56
--  

INPART(A)/MINDIFF*MINDIFF,可以实现向下取整到mindiff

(INPART(A)/MINDIFF+1)*MINDIFF,向上取整到mindiff


--  作者:z7c9
--  发布时间:2010/11/2 10:53:47
--  
以下是引用fly在2010-11-2 10:39:56的发言:

INPART(A)/MINDIFF*MINDIFF,可以实现向下取整到mindiff

(INPART(A)/MINDIFF+1)*MINDIFF,向上取整到mindiff

inpart(a)/mindiff*mindiff不就是intpart(a)么,如果mindiff为2,5,可能就不对了


--  作者:fly
--  发布时间:2010/11/2 13:37:45
--  

inpart(a)/mindiff*mindiff     //向下取整到mindiff

(INPART(A)/MINDIFF+1)*MINDIFF   //向上取整到mindiff

 

例子:

inpart(13.5)/5*5=13/5*5=2*5=10                   !====  inpart(13.5)

(inpart(13.5)/5+1)*5=(13/5+1)*5=3*5=15

 

 

inpart(13.5)/2*2=13/2*2=6*2=12    !====  inpart(13.5)

(inpart(13.5)/2+1)*2=(13/2+1)*2=7*2=14


--  作者:z7c9
--  发布时间:2010/11/2 16:26:29
--  
以下是引用fly在2010-11-2 13:37:45的发言:

inpart(a)/mindiff*mindiff     //向下取整到mindiff

(INPART(A)/MINDIFF+1)*MINDIFF   //向上取整到mindiff

 

例子:

inpart(13.5)/5*5=13/5*5=2*5=10                   !====  inpart(13.5)

(inpart(13.5)/5+1)*5=(13/5+1)*5=3*5=15

 

 

inpart(13.5)/2*2=13/2*2=6*2=12    !====  inpart(13.5)

(inpart(13.5)/2+1)*2=(13/2+1)*2=7*2=14

13/5=2?


--  作者:fly
--  发布时间:2010/11/2 16:54:20
--  

抓狂,俺写错了,但思路是已经给了你了,向下取整函数也给你了,你再取一次整就可以了。

 

intpart( intpart(a)/mindiff )*mindiff     //向下取整到mindiff

(intpart( INTPART(A)/MINDIFF )+1)*MINDIFF   //向上取整到mindiff

 

例子:

intpart(intpart(13.5)/5)*5=intpart(13/5)*5=2*5=10                   !====  intpart(13.5)

intpart((intpart(13.5)/5)+1)*5=(intpart(13/5)+1)*5=3*5=15


--  作者:z7c9
--  发布时间:2010/11/2 17:07:00
--  
以下是引用fly在2010-11-2 16:54:20的发言:

抓狂,俺写错了,但思路是已经给了你了,向下取整函数也给你了,你再取一次整就可以了。

 

intpart( intpart(a)/mindiff )*mindiff     //向下取整到mindiff

(intpart( INTPART(A)/MINDIFF )+1)*MINDIFF   //向上取整到mindiff

 

例子:

intpart(intpart(13.5)/5)*5=intpart(13/5)*5=2*5=10                   !====  intpart(13.5)

intpart((intpart(13.5)/5)+1)*5=(intpart(13/5)+1)*5=3*5=15

那还有小数的呢?怎么解决,比如黄金和股指?

建议还是提供两个价格整理函数吧,一个向上整理价格,一个向下整理价格。谢谢