以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  关于函数不能在控制语句之内被引用的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=123)

--  作者:jj_deng
--  发布时间:2009/10/31 14:08:39
--  关于函数不能在控制语句之内被引用的问题

关于函数不能在控制语句之内被引用的问题,请看飞狐下例能完美支持,希望能考虑到客户的通常需求。

IF STKTYPE=1 OR STKTYPE=13 OR MARKETLABEL=\'SH\'OR MARKETLABEL=\'SZ\'THEN BEGIN
FO:="1A0001$OPEN";FH:="1A0001$HIGH";FL:="1A0001$LOW";FC:="1A0001$CLOSE";上证涨幅%:("1A0001$CLOSE"/ref("1A0001$CLOSE",1)-1)*100, linethick0;END;


--  作者:admin
--  发布时间:2009/10/31 16:27:43
--  

将ref("1A0001$CLOSE",1)-1)这行引用到IF语句之外即可

金字塔的IF语句允许使用变量,所以REF这种语句会导致在IF整个使用周期内不会被完全调用,所以必须要放到IF语句之前。

 

祥看帖子

http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=73

[此贴子已经被作者于2009-11-2 8:53:01编辑过]

--  作者:jj_deng
--  发布时间:2009/11/5 9:40:01
--  

谢谢这么快就回复了,这实际上是IF函数的应用问题,顺便请教:

IF(X,A,B)函数实际上是满足X条件则A,否则则是B,是二选一,而我们经常用到只需要一,即像一楼条件公式那样满足条件则选A,请教不用条件语句,而是用IF(X,A,B)函数能否实现。


--  作者:admin
--  发布时间:2009/11/5 10:02:26
--  

IF语句和IF函数是用途不一样的,用IF函数恐怕很难实现1楼的描述