以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  关于IF函数的一些疑问  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=47531)

--  作者:ackvz
--  发布时间:2013/1/8 12:20:42
--  关于IF函数的一些疑问

1 对某变量赋值

 

XXX :=  IF( C1, Z1  ,    IF( C2, Z2 ,  IF( C3, Z3  ,  IF( C4, Z4  ,  IF( C5, Z5  , 0 ))) ))  ;

 

对条件C12345 依次往后检测  然后赋值Z1   Z2  (赋值为不同的数字  比如 11  12  13)     

     这样的写法 对不对? 

 

2  这个IF  有没有数量的限制?


--  作者:fly
--  发布时间:2013/1/8 13:13:46
--  

1.对

2.没有数量的限制

推荐不要多,

或者改写成一个一个的条件,

如:CON1:=IF( C5, Z5  , 0 );

    CON2:=IF( C4, Z4  ,  CON1);

    CON3:=IF( C3, Z3  , CON2);


--  作者:ackvz
--  发布时间:2013/1/8 13:26:16
--  

推荐不要多,

或者改写成一个一个的条件,

如:CON1:=IF( C5, Z5  , 0 );

    CON2:=IF( C4, Z4  ,  CON1);

    CON3:=IF( C3, Z3  , CON2);

 

这样一个条件拆成3个   所表达的功能是一样的

用意何在呢?  提高效率?


--  作者:ackvz
--  发布时间:2013/1/8 13:27:44
--  

IF在运算的时候应该是从前往后依次运算吧

 

而拆开之后 相当于算了2次   后往前一次  前往后再一次


--  作者:ackvz
--  发布时间:2013/1/8 13:30:42
--  

。。。。。。

IF(  REF( UW59 , 1) , 59 , 0 )))))) )))))) )))))) )))))) )))))) )))))) )))))) )))))) )))))) ))) ));  

 

现在有59个IF  格式没错的, 

但是加载的时候  总是显示最后这一行  解释错误


--  作者:admin
--  发布时间:2013/1/8 13:57:20
--  
分布 迭代式的写法,便于差错,修改。
全部并在一块,任意一个地方出错都不清楚出错在什么地方。