以公共指标为原材料,用户可以自己定义更多的指标。

视频课程 自定义指标 点击观看1

视频课程 自定义函数 点击观看2

使用自定义指标样例可在以下帖子得到:

自定义指标示例列表 点击查看1

季报指标函数的使用用例 点击查看2

熟悉通达信的用户可以查看以下示例:

果仁自定义指标筛选股票示例--如何实现通达信红宝书公式 点击查看3

通达信果仁函数对照表 点击查看4


目前自定义指标支持的计算表达式有:
算数四则运算。比如 “(收盘价 + 开盘价)/2”或者  “1日5日量比 = 当日成交量 / 5日平均成交量”

日期前移函数。这是一个非常重要的函数。 
 Ref(指标, 天数)或者Dateshift(指标, 天数), 取得指标几个交易日前的值。 比如“Ref(收盘价,5)” 就是5个交易日前收盘价。
 BarRef(指标, 天数), 取得指标几根日K线前的值.  比如“barRef(收盘价,5)” 就是5根K线前的收盘价。和Ref()功能类似, 很多情况返回同样的值. 区别是Ref()包括停牌日, BarRef()跳过停牌日, 只数几根K线。 

时序统计函数(纵向统计函数)。 这些函数都是对每一只股票的指标在连续的一段日期里进行聚合运算,现在一共有6个单指标移动窗口函数, 1个双指标函数: 
 MA(指标,天数) 计算指标在过去几个交易日(不包含停牌日)的平均值; 比如 “MA(收盘价,5)”就是过去5日平均收盘价.
 EMA(指标,天数)计算指标在过去几个交易日(不包含停牌日)的指数平均值;  比如 “EMA(收盘价,5)”就是过去5日指数平均收盘价.
 WMA(指标,权重指标, 天数)计算指标在过去几个交易日(不包含停牌日)的加权平均值; 比如 “WMA(收盘价,成交量, 5)”就是过去5日成交量加权平均收盘价, 它比过去5日简单均线更能反映股票的成本线。
 Med(指标,天数)计算指标在过去几个交易日(不包含停牌日)的中值;比如“Med(市净率,30)”返回过去30个交易日的市净率中值。
 Sum(指标, 天数)计算指标在过去几个交易日(不包含停牌日)的聚合值;比如 “Sum(当日成交量,10)”就是过去10日总成交量。
 Max(指标,天数)计算指标在过去几个交易日(不包含停牌日)的最大值; “Max(收盘价, 10)”就是过去10日最高收盘价。
 Min(指标, 天数)计算指标过去几个交易日(不包含停牌日)的最小值; “Min(收盘价, 10)”就是过去10日最低收盘价。
 Stdev(指标,天数)计算过去几个交易日(不包含停牌日)的标准方差; 比如股价在过去20日涨幅波动率 = ” Stdev(1日涨幅, 20)”
 Var(指标, 天数) 计算指标在过去N个交易日(不包含停牌日)的方差。例子:var(收盘价,250)返回收盘价在过去250天的方差。
 以上的窗口函数,都会跳过停牌日期, 比如 ”Max(收盘价, 10)" 里面的10天不包含个股停牌的日期,  如果想算入停牌日期, 可以使用MA2,EMA2,Med2, Sum2, Max2, Min2, Stdev2, Var2。

 Corr(指标1,指标2,天数)计算在过去几个交易日里两个指标的相关性。比如个股1日涨幅和上证指数1日涨幅在过去20日的相关度 =  "corr(1日涨幅, #bench.change.000001, 20)". Corr() 的计算不会跳过停牌日
 Covar(指标1, 指标2, 天数N)计算两个指标在过去几个交易日里的协方差。例子:covar(1日涨幅, 收盘价, 250) 返回1日涨幅和收盘价在过去250天的协方差。 Covar() 的计算不会跳过停牌日

 

股票统计函数(横向统计函数) 在当天内对所有股票的某个指标进行统计。
 HMax(指标,范围) 范围 = 0时, 返回全部A股指标的当天最大值, 范围等于1时, 返回股票同行业内的股票指标的当天最大值。 比如 "HMax(收盘价, 1) "返回股票同行业内的股票当天最高收盘价。
 HMin(指标,范围) 范围 = 0时, 返回全部A股指标的当天最小值, 范围等于1时, 返回同行业内的股票指标的当天最小值。 比如 "HMax(收盘价, 1) "返回股票同行业内的股票当天最低收盘价。
 HAvg(指标,范围 ) 范围 = 0时, 返回全部A股指标的当天平均值, 范围等于1时, 返回同行业内的股票指标的当天平均值。 比如 "HMax(市净率, 1) "返回股票同行业内的股票当天平均市净率
 HWAvg(指标,权重指标,范围 ) 范围 = 0时, 返回全部A股指标的当天加权平均值, 范围等于1时, 返回同行业内的股票指标的当天加权平均值。 比如 "HWAvg(1日涨幅, 总市值, 1)" 返回股票所在行业的当天按市值加权平均涨幅。
 HMed(指标,范围) 范围 = 0时, 返回全部A股指标的当日中位数, 范围等于1时, 返回同行业内的股票指标的当日中位数。 比如 "HMed(净资产增长, 1)" 返回股票所在行业里的净资产增长率的中值。
 HSum(指标,范围) 范围 = 0时, 返回全部A股指标的当日和值, 范围等于1时, 返回同行业内的股票指标的当日和值。比如 "HSum(流通市值, 1)" 返回股票所在行业的总流通市值。
 HStdev(指标,范围) 范围 = 0时, 返回全部A股指标的当日标准方差, 范围等于1, 返回同行业内的股票指标的当日标准方差。 "HStdev(20日涨幅,1)" 返回股票所在行业里的股票20日涨幅的标准方差, 代表了行业内股票近期涨幅的离散度。
 HCorr(指标1,指标2,范围) 范围 = 0时, 返回全部A股的两个指标的当日相关度。范围等于1, 返回同行业内的股票两个指标的当日相关度。  比如HCorr(20日涨幅, 市净率, 0) 就是全部A股的20涨幅和市净率的相关度。
 CountStock(条件, 范围) 返回当天符合条件的股票数。范围 = 0, 在全部A股中计数, 范围等于1, 在同行业内部计数。
 "CountStock(1日涨幅 > 0.05, 0)"  全股票中当日涨幅大于5% 的股票个数
 "CountStock(1日涨幅 > 0.05, 1)" 同行业中 当日涨幅大于5% 的股票个数
 "CountStock(后复权收盘价>20日复权均价, 0) /CountStock(收盘价>0, 0)" 站在20日均线之上的股票占全部股票的比例。
 HRank(指标,顺序标记,范围) 将股票按当天的指标值排名, 并返回排名名次。顺序标记= 0时 , 是由小到大排名,顺序标记= 1时, 是由大到小排名。 范围 = 0时, 对全部A股排名, 范围 = 1时,对同行业内的股票排名。例子: HRank(收盘价, 0, 0), 将所有A股按照收盘价由小到大排名,并返回每个股票的名次。 收盘价最低的股票HRank是1, 第二低的HRank是2, 依次类推。 HRank(收盘价, 0, 1),将所有股票在各自的行业内按收盘价由小到大排名,每个行业有自己的第一名, HRank是1 的股票有20多个。
 HRankScore(指标,顺序标记, 范围)将股票按当天的指标值排名, 并返回排名分。排名分在0到100之间,排在最前面的股票得分100。排名分的具体计算规则在帮助文档中。顺序标记= 0时 , 是由小到大排名,顺序标记= 1时, 是由大到小排名。 范围 = 0时, 对全部A股排名, 范围 = 1时, 对同行业内股票排名。例子: HRankScore(收盘价, 0, 0), 将所有A股按照收盘价由小到大排名,并返回每个股票的排名分。 收盘价最低的股票HRankScore是100, 第二低的HRank是99.9, 依次类推。

 注意 :
1 当股票指标的值为空时, 这只股票不参与统计。 比如"HAvg(市盈率, 0)" 计算全市场股票平均市盈率, 市盈率为空值的股票不参与统计。
2 股票投资域或筛选条件的设定不影响横向统计函数的结果。 
3 以上函数也适用于基金策略。 在基金策略中, 范围 = 0,代表全部的基金和指数, 范围= 1,代表在同一投资种类计数。



股票池统计函数
在当天内对一个股票池或基金池内的所有股票的某个指标进行统计。 
SMax(指标,股票池股票池内的所有股票的某一指标在当天的最大值。 ”SMax( 收盘价, 低价股)“ 返回股票池“低价股”中的股票在当天的最高收盘价。
SMin(指标,股票池 股票池内的所有股票的某一指标在当天的最小值。 ”SMin( 收盘价,低价股)“ 返回股票池“低价股”中的股票在当天的最低收盘价。 
SAvg(指标,股票池股票池内的所有股票的某一指标在当天的平均值。 ”SAvg( 市净率,低价股)“ 返回股票池“低价股”中的中股票在当天的平均市净率。
SWAvg(指标,加权指标,股票池) 股票池内的所有股票的某一指标在当天的加权平均值。 ”SWAvg( 市净率, 总市值,低价股)“ 返回股票池“低价股”中的股票在当天的按总市值加权的平均市净率。
SMed(指标,股票池 股票池内的所有股票的某一指标在当天的中位数。 “SMed(净资产增长,低价股 )”返回股票池“低价股”中的股票的净资产增长率的中值。
SSum(指标,股票池 股票池内的所有股票的某一指标在当天的和。 ”SSum( 流通市值,低价股)“ 返回股票池“低价股”中的股票在当天的流通市值之和。
SStdev(指标, 股票池股票池内的所有股票的某一指标在当天的标准方差。 ”SStdev( 20日涨幅,低价股)“ 返回股票池“低价股”中的股票20日涨幅的标准方差。
SCorr(指标1, 指标2,股票池)  股票池内的所有股票的某一指标在当天的相关度。 ”SCorr(20日涨幅, 市净率,低价股)“ 返回股票池“低价股”中的股票20日涨幅和市净率的相关度。
SCount( 条件,股票池 返回在股票池里符合条件的股票数。 "SCount(1日涨幅 > 0.05,低价股 )"  股票池“低价股”中的当日涨幅大于5% 的股票数。
SRank (指标,顺序标记,股票池) 将股票池中的股票按当天的指标值排名, 并返回排名名次。顺序标记= 0时 , 是由小到大排名,顺序标记= 1时, 是由大到小排名。 例子:” SRank(收盘价, 0, 低价股)“, 将股票池“低价股”中的股票按照收盘价由小到大排名,并返回每个股票的名次。 收盘价最低的股票SRank是1, 第二低的SRank是2, 依次类推。
SRankScore(指标,顺序标记, 股票池)将股票池中的股票按当天的指标值排名, 并返回排名分。排名分在0到100之间,排在最前面的股票得分100。排名分的具体计算规则在帮助文档中。顺序标记= 0时 , 是由小到大排名,顺序标记= 1时, 是由大到小排名。 例子: SRankScore(收盘价, 0, 低价股 ), 将股票池“低价股”中的股票按照收盘价由小到大排名,并返回每个股票的排名分。 假设股票池中有100只股票,收盘价最低的股票SRankScore是100, 第二低的SRankScore是99, 依次类推。

注意:
1.股票池的参数必须是用户自己定义的股票池,在基金策略中, 股票池参数是用户自己定义的基金池。  
2.用股票池函数的指标不能在动态股票池的定义中使用。
3 以上函数也适用于基金策略。 在基金策略中, 股票池参数就是基金池。 

数学函数。
 abs(指标) 返回指标的绝对值
 log(指标, 常数 = 10)   返回指标的对数值。“ log(收盘价)”收盘价取10的对数值, “log(收盘价, 2)”收盘价取2的对数值。 如指标是负值, 返回空。 
 sqrt(指标)  返回指标的平方根。 指标是负值, 返回空。
 Round(指标)  将指标四舍五入返回整数。"Round(1.6)" =2, "Round(收盘价)" 将收盘价的值四舍五入取整数。
 Mod(指标1, 指标2或者常数) 用指标1整除指标2,返回整除的余数。 "Mod(12, 10)"  = 2, "Mod(收盘价, 10)"将收盘价整除10再取余数。
 Floor(指标)  沿指标绝对值减小的方向取整数。 比如"Floor(1.6)" = 1, "Floor(收盘价)"将收盘价往下取整。
 Power(指标,乘幂指数) 计算指标的乘幂。比如"power(收盘价, 2)" 得到收盘价的平方, “power(收盘价, 0.5)”得到收盘价的平方根。

逻辑函数
And(条件1, 条件2) 。 两个输入条件都是真(非0),返回1, 否则返回0。
输入条件是关系表达式或者是数值指标, 比如 ‘指标 > 123 ‘
And(1, 1)返回1, And(1,0) 返回0 , And(1, 空)返回0
例子:
有成交量低价格 = “ And(当日成交量> 0, 收盘价 < 5)” , 当日成交量大于0而且收盘价小于5时,返回1, 否则返回0。

Or(条件1, 条件2) 。 两个输入有一个是真值(非0数值),返回1, 否则返回0。输入条件是关系表达式或者是数值指标。
Or(0, 1)返回1,, Or(0,0) 返回0 , Or(1, 空)返回 1
例子:
有成交量或者低价格 = “ Or(当日成交量> 0, 收盘价 < 5)”当日成交量大于0或者收盘价小于5时,返回1, 否则返回0。

Not(条件)。输入是一个是真值(非0数值),返回0, 否则返回1。输入条件是关系表达式或者是数值指标。
Not(1) = 0 , Not (0) = 1, Not (空) = 空
例子
没有成交量 = “Not(当日成交量 > 0)”  当日成交量大于0时返回0,否则返回1。


合并函数
If(条件, 指标1, 指标2)。 当条件为真(1)的时候, 返回指标1, 否则返回指标2。例子:“if(5日复权均价 > 20日复权均价, 1, 0)”如果5日均价高于20日均价 返回1 ,否则返回0。
Greater(指标1, 指标2) 返回指标1和指标2之间较大的那个值, 等价于“if(指标1 >指标2, 指标1 ,指标2)” 。 比如"Greater(2, 1)" = 2, "Greater(收盘价, 开盘价)“返回收盘价和开盘价较大的那个值。 
 Less(指标1, 指标2) 返回指标1和指标2之间较小的那个值, 等价于“if(指标1 <指标2, 指标1 ,指标2)” 。 比如”Less(2, 1)“ = 1, ”Less(收盘价, 开盘价)“返回收盘价和开盘价较小的那个值。


金叉死叉函数。
 crossover (短线指标, 长线指标) 金叉函数, 如果短线指标上穿长线指标, 返回1, 否则返回0. 比如" crossover (5日复权均价, 60日复权均价) " 当5日线上穿60线时, 返回 1 ; 否则返回0。
 crossunder(短线指标, 长线指标) 死叉函数, 如果短线指标下穿长线指标, 返回1, 否则返回0. 比如" crossunder (5日复权均价, 60日复权均价) " 当5日线下穿60线时, 返回 1 ; 否则返回0。

日期统计函数
以下两个函数对于做技术分析非常有用。
 CountDays(条件,天数N), 统计在过去N个交易日里, 条件值为真 的天数。 例子:
 过去10天里涨停的天数 = “CountDays(当日涨停标记 = 1, 10)”
 过于30天里停牌的天数 = “CountDays(成交量 = 0,30)”
 过于30天里出现金叉的天数 = “CountDays(Crossover(5日复权均价, 20日复权均价), 30)”
 DaysLast(条件), 统计条件为真最后一天到现在的交易日数量。 例子
 连续上涨天数 = “DaysLast (1日涨幅<= 0) ” 就是现在到上次不上涨的那一天的天数。
 连续交易的天数= “DaysLast (当日成交量 = 0)” 也就是上一次停牌到现在的天数。
 连续涨停的天数 = “DaysLast (当日涨停标记 = 0)” 也就是距离上次没有涨停的天数。

条件取值函数
 LastValue(指标, 条件) 。 返回最后一次满足条件那一天的指标值。 例子: LastValue (收盘价, 1日涨幅 > 0.05) 返回最后一次涨幅大于5%的收盘价。


 
反身函数
 ticker(),  返回股票本身的股票代码。 ticker()需要和if()结合使用, 可以对某只或某几只股票作特殊处理。 例子:
“if(ticker() = ‘000002', 1, 0)” 如果当前股票是万科A返回1,其它股票返回0。
 调整乖离率 = “if(ticker() = ‘000002', 后复权收盘价/MA(后复权收盘价,30)- 1, 后复权收盘价/MA(后复权收盘价,40)- 1)”, 对万科使用30日乖离率, 对其它股票使用40日乖离率。 
 在基金策略中, ticker()返回基金自身的基金代码, 用法和在股票策略中一样。 
 industry(), 返回股票所在行业的代码,仅在股票策略中有效。行业代码在下表中列出。 industry() 需要和if表达式结合使用, 可以对某个行业的股票或某几个行业的股票做出特殊处理。 
 例子: 股票估值低= "if(industry() = 25, 市盈率 < 10, 市盈率 < 30)", 如果当前股票属于银行业,市盈率小于10就返回真(1), 如果当前股票不属于银行业,市盈率小于30就返回真(1)。
 行业代码列表:
 行业代码 行业
 0 交通运输
 1 休闲服务
 2 传媒
 3 公用事业
 4 农林牧渔 
 5 化工
 6 医药生物
 7 商业贸易
 8 国防军工
 9 家用电器
 10 建筑材料
 11 建筑装饰
 12 房地产
 13 有色金属
 14 机械设备
 15 汽车
 16 电子
 17 电气设备
 18 纺织服装
 19 综合
 20 计算机
 21 轻工制造
 22 通信
 23 采掘
 24 钢铁
 25 银行
 26 非银金融
 27 食品饮料 




大盘指标变量
 #Bench.Close.指数代码 返回某个指数的收盘价。 比如”#Bench.Close.000001“ 是上证指数的收盘价, 而”#Bench.Close.000300“ 是沪深300的收盘价。  
 #bench.open.指数代码 返回某个指数的当日开盘价。比如”#Bench.open.000001“ 是上证指数的当日开盘价, 而”#Bench. open.000300“ 是收盘指数的当日开盘价。
 #bench.high.指数代码 返回某个指数的当日最高价。比如”#Bench.high.000001“ 是上证指数的当日最高价, 而”#Bench. high.000300“ 是收盘指数的当日最高价。
 #bench.low.指数代码 返回某个指数的当日最低价。比如”#Bench.low.000001“ 是上证指数的当日最低价, 而”#Bench. low.000300“ 是收盘指数的当日最低价。
 #Bench.Change.指数代码 返回某个指数的日涨幅。 比如”#Bench.Change.000001“ 是上证指数的日涨幅, 而”#Bench.Change.399006“ 是创业板的日涨幅。
 #Bench.Vol.指数代码 返回某个指数的成交量。比如”#Bench.Vol.000001“ 是上证指数的成交量, 而”#Bench.Vol.399006“ 是创业板的成交量。
 #Bench.Amt.指数代码 返回某个指数的成交额。比如”#Bench.Amt.000001“ 是上证指数的成交额, 而”#Bench.Amt.399006“ 是创业板的成交额。
 #bench.PE.指数代码, 返回某个指数的加权市盈率。 加权市盈率 = 指数成分股的总市值 / 指数成分股的总利润TTM。比如 "#Bench.PE.000001"是上证指数成分股的加权平均市盈率, 而”#Bench.PE.000300“ 是沪深300成分股的加权平均市盈率。  
 #bench.PE2.指数代码,返回某个指数的调和市盈率。调和市盈率 = 指数成分股PE倒数的均值的倒数,即 1 / Avg(成份股E/P). 这样算出来的PE近似于指数PE中值,且更加合理。 比如 "#Bench.PE2.000001"是上证指数成分股的调和平均市盈率,  而”#Bench.PE2.000300“ 是沪深300成分股的调和平均市盈率。  
 #bench.PB.指数代码, 返回某个指数的加权市净率。 加权市净率= 指数成分股的总市值 / 指数成分股的总净值.  比如 "#Bench.PB.000001"是上证指数成分股的加权平均市净率, 而”#Bench.PB.000300“ 是沪深300成分股的加权平均市净率。  
 #bench.PB2.指数代码,返回某个指数的调和市净率。指数成分股PB倒数的均值的倒数,即 1 / Avg(成份股B/P)。这样算出来的PB是比较合理的指数PB中值。 比如 "#Bench.PB2.000001"是上证指数成分股的调和平均市净率,  而”#Bench.PB2.000300“ 是沪深300成分股的调和平均市净率。
 #bench.zt.指数代码,指数成分股的涨停比例,比如“#bench.zt.000001”是上证指数成分股涨停比例。 
 #bench.dt.指数代码,指数成分股的跌停比例,比如“#bench.dt.000001“是上证指数成分股跌停比例。
 #bench.up.指数代码,指数成分股的上涨比例,比如“#bench.up.000001”是上证指数成分股上涨比例。
 #bench.down.指数代码,指数成分股的下跌比例,比如“#bench.down.000001”是上证指数成分股下跌比例。

大盘指标变量可以用于个股指标和大盘之间的比较。 几个自定义指标使用大盘指标的例子: 
个股相对沪深300涨幅 = ”1日涨幅 - #Bench.Change.000300“
上证指数20天移动平均 = “MA2(#Bench.Close.000001,20)” 注意: 对大盘指数做移动平均,需要使用MA2。
上证指数20天Bias = “#Bench.Close.000001 / MA2(#Bench.Close.000001,20) - 1”
相对沪深300市盈率差值 = “市盈率 - #Bench.PE.000300"


所有的使用大盘变量的窗口函数都要加个”2“作为后缀, MA2, Max2, Min2, EMA2, Sum2,  Stdev2.

季报指标函数。 季报函数只能用于季报指标计算。  
RefQ(季报指标,前移季度数N,补全选项 = 0):返回从最新季报往前N个季度的财报指标。 当季度指标为空值时, 默认最多往前找4个季度补全空值。 补全选项 = 1时, 保留空值不补全; 补全选项 =2时, 空值转换成0。 例子:RefQ(营业收入, 1):返回最新季报往前一个季度的营业收入。比如现在某只股票的最新季报是2016Q2, RefQ(营业收入, 1)是这支股票在2016Q1的营业收入, 当2016Q1营业收入为空值时,往前季度搜索非空值返回, 最多搜索到2015Q1。而RefQ(营业收入, 1,2)是这支股票在2016Q1的营业收入,  2016Q1营业收入为空值时,返回0。

TTM(季报指标, 前移季度数): 返回股票最新4个季度指标加在一起的值。例子:TTM(营业收入, 0)返回最新4个季报营业收入之和, TTM(营业收入, 4)返回1年前的4个季报营业收入之和。
SumQ(季报指标,季度数N, 前移季度数) 返回股票最新N个季度指标之和。例子SumQ(营业收入, 4, 0) = TTM(营业收入, 0)。
AvgQ(季报指标, 季度数N, 前移季度数) 返回股票最新N个季度指标之平均值 。例子AvgQ(资产合计, 4, 0)返回最新4个季度的总资产平均值;AvgQ(资产合计, 4, 4)返回4个季度前的4个季度的总资产平均值。
Annual(季报指标, 前移年数 = 0)返回季报指标的年报数据, 前移年数 = 0时, 返回最近年报数据。 例子:现在是2016Q2, Annual(营业收入,0)就是2015年报的营业收入,而Annual(营业收入,1)就是2014年报收入。

注意: 以上季报函数只能用于一个原始季报指标, 不能用于其他类型的指标, 也不能和其它函数嵌套使用。 不合法用例:
RefQ(市盈率, 1):收盘价不是原始季报指标, 不能用RefQ()函数
RefQ(营业收入 – 营业支出, 1): RefQ只支持一个指标,不支持表达式。
RefQ(TTM(营业收入, 0), 1): 季报函数不支持函数嵌套, 可使用TTM(营业收入, 1)计算一个季度前的营业收入TTM。


--------------------------------------------------------------------------------------------------------------------------------------
创建完成后,自定义指标的使用方法和其它公共指标一样,可以用于筛选条件或排名条件中。

注意:
1. 自定义指标名里只能包含中文,英文,数字;不能包含空格,标点符号, 括号,计算符号等。 比如指标名 “5日MA(收盘价)”, “5日收盘价 - 10日收盘价”等都是不合法的指标名。当指标名不合法时,后台计算很容易出错。
2. 自定义指标表达式里使用到的公共指标名称必须和界面上的指标名字一样, 用户不能随便使用自己想到的指标名字。 比如5日均价在界面上是”5日复权均价“, 用户不能随便用其它名字表示5日均价, 例如 ”5日均价“ ”5天均线“ 都不可以。
3. 表达式里不能有负数,  比如“-1”。 用户可以用一个简单的表达式来表示负数。 比如用 "(0-1)"来表示-1。 
4. 表达式中函数名或指标名大小写不重要, 都表示一个意思。比如"max(收盘价,1)" 和 “MAX(收盘价,1)" 都是使用Max函数, 得到一样的结果。 
5. 自定义指标表达式现在即支持函数嵌套功能,也支持自定义指标之间的嵌套。 比如‘1日前10天总成交额’可以用嵌套表达式“ref(sum(当日成交额,10), 1)”, 也可以定义两个指标, 并将第一个指标嵌入第二个指标:10天总成交额 = sum(当日成交额,10) ; 1日前10天总成交额 = ref(10天总成交额 ,1)。