金字塔模型源码表红的部分怎么理解 [金字塔]
- 咨询内容:
input:zj(90,0,100,1) ;
开仓手数:=(asset*0.01*zj)/(c*300*0.18+c*300*0.000055) ; //保证金和手续费比例
aa:=ma(c,5) ;
bb:=ma(c,10) ;
dc:=cross(aa,bb) ;
kc:=cross(bb,aa) ;
//平多
sell( kc and holding>0 ,0 , LIMITR , close ) ,ORDERQUEUE ;
//平空
sellshort( dc and holding<0 , 0 , LIMITR , close ) ,ORDERQUEUE ;
//开多
buy(dc and holding=0 , if(zj=0,1,if(开仓手数<1,0.01,INTPART(开仓手数))) , LIMITR , close ) ,ORDERQUEUE ;
//开空
buyshort(kc and holding=0 , if(zj=0,1,if(开仓手数<1,0.01,INTPART(开仓手数))) , LIMITR , close ) ,ORDERQUEUE ;请问表红的部分怎么理解??
特别是绿色部分不懂?
[此贴子已经被作者于2012-5-22 12:36:23编辑过]
- 金字塔客服: 参考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
- 用户回复: //开多buy(dc and holding=0 , if(zj=0,1,if(开仓手数<1,0.01,INTPART(开仓手数))) , LIMITR , close ) ,ORDERQUEUE ;
以这个为例表示 如果满足1、 DC2、 持仓量=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的意思是按照收盘价这个限价指令进行下单
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 262069696 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容