以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- [求助]请问表红的部分怎么理解 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=11874) |
-- 作者:zk7777777 -- 发布时间:2012/5/22 12:31:20 -- [求助]请问表红的部分怎么理解 input:zj(90,0,100,1) ; 开仓手数:=(asset*0.01*zj)/(c*300*0.18+c*300*0.000055) ; //保证金和手续费比例 请问表红的部分怎么理解?? 特别是绿色部分不懂? [此贴子已经被作者于2012-5-22 12:36:23编辑过]
|
-- 作者:RogarZ -- 发布时间:2012/5/22 12:53:59 -- 参考IF函数的使用方法 if 根据条件求不同的值。 用法: IF(X,A,B)若X不为0则返回A,否则返回B 例如:IF(CLOSE>OPEN,HIGH,LOW)表示该周期收阳则返回最高值,否则返回最低值 intpart 绝对值减小取整,即取得数据的整数部分。 用法: INTPART(A)返回沿A绝对值减小方向最接近的整数 例如:INTPART(12.3)求得12,INTPART(-3.5)求得-3 |
-- 作者:董小球 -- 发布时间:2012/5/22 13:34:21 -- //开多buy(dc and holding=0 , if(zj=0,1,if(开仓手数<1,0.01,INTPART(开仓手数))) , LIMITR , close ) ,ORDERQUEUE ; 以这个为例表示 如果满足1、 DC 2、 持仓量=0就开多这么多手:if(zj=0,1,if(开仓手数<1,0.01,INTPART(开仓手数)) 最外层IF的含义是如果ZJ=0,则返回1,如果不等于0,则返回if(开仓手数<1,0.01,INTPART(开仓手数) 内层if的含义是如果开仓手数<1则,返回0.01,否则则返回INTPART(开仓手数) INTPART 其实就是根据保证金和手续费比例计算出到底可以开多少手,由于算出来的数值不一定是整数,所以要取整
LIMITR , close的意思是按照收盘价这个限价指令进行下单 |