CF105 - 已撤单报单被拒绝出错: 委托单价格不是最小变动价位整数倍
如何解决,策略根据atr平均值计算的结果无法下单。
不是最小变动价位整数倍,想办法变成最小变动价格的整数倍。
比如,把atr平均值计算的结果做为条件,达到这个条件,按照当前你指定的一个价格(开高低收等)下委托单
不是最小变动价位整数倍,想办法变成最小变动价格的整数倍。
比如,把atr平均值计算的结果做为条件,达到这个条件,按照当前你指定的一个价格(开高低收等)下委托单
有没有向上取整到mindiff和向下取整到mindiff的函数?
INPART(A)/MINDIFF*MINDIFF,可以实现向下取整到mindiff
(INPART(A)/MINDIFF+1)*MINDIFF,向上取整到mindiff
INPART(A)/MINDIFF*MINDIFF,可以实现向下取整到mindiff
(INPART(A)/MINDIFF+1)*MINDIFF,向上取整到mindiff
inpart(a)/mindiff*mindiff不就是intpart(a)么,如果mindiff为2,5,可能就不对了
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
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?
抓狂,俺写错了,但思路是已经给了你了,向下取整函数也给你了,你再取一次整就可以了。
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
抓狂,俺写错了,但思路是已经给了你了,向下取整函数也给你了,你再取一次整就可以了。
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
那还有小数的呢?怎么解决,比如黄金和股指?
建议还是提供两个价格整理函数吧,一个向上整理价格,一个向下整理价格。谢谢