函数参考
函数名不区分大小写。周期可使用常量或函数明确支持的动态整数序列,具体以参数约束为准;行情缺失及预热规则见各函数。
持仓
POSLONGPRICE
POSLONGPRICE()
当前账户、图表合约的多头开仓均价
约束:实时持仓快照;
无多仓或账户未就绪为空;
不随 SYMBOL 切换
POSLONGPRICE()
POSSHORTPRICE
POSSHORTPRICE()
当前账户、图表合约的空头开仓均价
约束:按剩余持仓手数加权; 不是结算成本或历史持仓
POSSHORTPRICE()
POSLONGVOL
POSLONGVOL()
当前账户、图表合约的多头总持仓手数
约束:含今昨仓、冻结仓及不同投保类别; 无多仓为 0,账户未就绪为空
POSLONGVOL()
POSSHORTVOL
POSSHORTVOL()
当前账户、图表合约的空头总持仓手数
约束:多空分别统计,包含手动开仓; 不等于可平手数
POSSHORTVOL()
行情
LEG1
LEG1(X)
获取当前组合第一腿的表达式结果
约束:先在单腿当前周期计算,再对齐图表; 缺失及非组合返回空值; 不自动乘组合系数
LEG1(MA(CLOSE,5))
LEG2
LEG2(X)
获取当前组合第二腿的表达式结果
约束:支持行情字段、数值表达式和先前定义的常量; 两腿顺序按组合定义
LEG2(CLOSE)
声音
SOUND
COND,SOUND('A'..'J')
条件成立时申请声音提醒
约束:最新 K 线刷新时提醒;
首次加载及历史 K 线重算静默,同根去重
CROSS(CLOSE,OPEN),SOUND('A');
PLAYSOUND
PLAYSOUND(COND,'A'..'J')
SOUND 条件动作的兼容写法
约束:支持 A 到 J ;
编辑器声音设置中选择 WAV 音效及试听
PLAYSOUND(CROSS(CLOSE,OPEN),'A');
绘图
DRAWCOLORKLINE
DRAWCOLORKLINE(COND,COLOR,EMPTY)
按条件重绘整根 K 线及影线
约束: EMPTY =0 实心、非零空心;
COLOR 支持 RGB (r,g,b)
DRAWCOLORKLINE(CLOSE>OPEN,COLORRED,1);
STICKLINE1
STICKLINE1(COND,P1,P2,WIDTH,EMPTY)
按指定宽度在两个价格间画柱体,颜色使用尾缀
约束: WIDTH =0..9 常量,0 为细线、3 为主图柱宽;
EMPTY 非零空心
STICKLINE1(CLOSE>OPEN,OPEN,CLOSE,3,1),COLORRED;
PARTLINE
PARTLINE(COND,DATA,COLOR)
连接连续满足条件的相邻数据点,不跨越条件中断或空值
约束:孤立有效点画一个周期内的短横线;
支持 LINETHICK 和 DOT
PARTLINE(REF(CLOSE,1)>CLOSE,CLOSE,COLORBLUE),LINETHICK2;
DRAWNUMBER
DRAWNUMBER(COND,DATA,NUMBER,PRECISION,COLOR)
条件成立时在 DATA 位置显示 NUMBER ,默认水平居中、垂直下对齐
约束: PRECISION 为 0..8 公式常量整数;
支持 FONTSIZE8 ..72,显式 ALIGN / VALIGN 优先
DRAWNUMBER(ISLASTBAR,CLOSE,CLOSE,2,COLORGREEN);
DRAWTEXT
DRAWTEXT(COND,DATA,TEXT)
条件成立时在 DATA 位置显示文字
约束: TEXT 为单引号或双引号字符串;
支持颜色和 FONTSIZE8 ..72
DRAWTEXT(CLOSE>OPEN,LOW,'买多'),COLORYELLOW,FONTSIZE22;
DRAWLINE
DRAWLINE(C1,P1,C2,P2,COLOR)
同一根 K 线两个条件同时成立时连接 P1 、 P2
约束:独立语句,支持 DOT 、 LINETHICK1 ..7
DRAWLINE(CLOSE>OPEN,HIGH,CLOSE>OPEN,LOW,COLORRED);
STICKLINE
STICKLINE(COND,P1,P2,COLOR,EMPTY) / STICKLINE(COND,P1,P2,WIDTH,EMPTY)
条件成立时在两个价格间画柱体
约束:第四参数为颜色常量,或 0..9 常量柱宽(颜色用尾缀);
EMPTY =0 实心、非零空心
STICKLINE(CLOSE>OPEN,OPEN,CLOSE,COLORRED,0);
DRAWRECT
DRAWRECT(COND,LEFTID,TOP,RIGHTID,BOTTOM,COLOR)
在指定 K 线 ID 和价格边界间画半透明矩形
约束: ID 使用 BARID 坐标;
ALPHA (0..255) 默认64,可加 BORDER 、 LINETHICK 、 NOAUTOSCALE ;
零面积或空值不绘制
DRAWRECT(ISLASTBAR,BARID-10,HIGH,BARID,LOW,COLORGREEN),ALPHA(48),BORDER,NOAUTOSCALE;
DRAWSEG
DRAWSEG(COND,LEFTID,P1,RIGHTID,P2,COLOR)
按任意两个 K 线 ID 和价格画线段
约束: ID 使用 BARID 坐标;
LABELPOS (0/1/2)选择标签左端/中点/右端,默认2;
ALIGN 独立控制文字对齐;
不延长端点
DRAWSEG(ISLASTBAR,BARID-5,CLOSE,BARID,CLOSE,COLORRED),NOAUTOSCALE;
DRAWZONE
DRAWZONE(COND,LEFTID,TOP,RIGHTID,BOTTOM,LOWTEST,HIGHTEST,MODE,KEEP,COLOR)
保留未被击穿的矩形区域,实时检查删除与数量上限
约束: MODE =0不删除/1下穿底部/2上穿顶部/3任一;
KEEP =0..2000常量;
可加 RESERVE (0..2000)保留更多候选、 CREATEFIRST 先创建后删除、 RAWBOUNDS 按原始上下沿删除、 REPLACEOVERLAP 新区域替换二维重叠旧区域;
LABEL 可选, IF (条件, TEXT , NOTEXT )只控制区域标签
DRAWZONE(CLOSE>OPEN,BARID,HIGH,LASTBARID,LOW,LOW,HIGH,1,5,COLORRED),ALPHA(80),BORDER,NOAUTOSCALE;
DRAWSL
DRAWSL(COND,DATA,SLOPE,LEN,EXPAND,COLOR)
从 DATA 画每周期变化 SLOPE 的线段
约束: LEN 为 1..10000 常量;
EXPAND 为 0 不延长、1 左、2 右、3 双向;
最多前后各 10000 根触发历史
DRAWSL(CLOSE>OPEN,CLOSE,0,1,0,COLORGREEN),DOT;
DRAWCOLORLINE
DRAWCOLORLINE(COND,DATA,COLOR1,COLOR2)
条件双色线
约束:当前端点条件选择线段颜色; 空值断开
DRAWCOLORLINE(CLOSE>OPEN,CLOSE,COLORRED,COLORGREEN);
统计
SUMBARS
SUMBARS(X,A)
向前累加 X 到大于等于 A ,返回包含当前的周期数
约束: A 必须为正数;
不足或空值返回空值
SUMBARS(DATE<>REF(DATE,1),5)
HV
HV(X,N)
不包含当前 K 线的前 N 周期最高值
约束: N =0..100000,可为序列;
0 为全部已加载历史,空值周期返回空值
HV(HIGH,10)
LV
LV(X,N)
不包含当前 K 线的前 N 周期最低值
约束: N =0..100000,可为序列;
0 为全部已加载历史,空值周期返回空值
LV(LOW,10)
WILDERSUM
WILDERSUM(X,N[,ALIGN])
TA -Lib 方向指标使用的 Wilder 累计平滑;
可指定首次输出所需的有效值数量
约束: N =1..100000;
ALIGN >= MAX (1, N -1),默认 ALIGN = N
WILDERSUM(CLOSE,14)
SUM
SUM(X,N)
N 周期求和;
N =0 时从首个有效值累计
约束: N =0..100000,必须是公式常量
SUM(VOLUME,20)
COUNT
COUNT(COND,N)
统计 N 周期内条件成立次数;
N =0 时累计统计
约束: N =0..100000,必须是公式常量
COUNT(CLOSE>OPEN,10)
HHV
HHV(X,N)
N 周期最高值;
N =0 时从首个有效值计算
约束: N =0..100000,支持动态整数周期;
缺失周期返回空值
HHV(HIGH,20)
LLV
LLV(X,N)
N 周期最低值;
N =0 时从首个有效值计算
约束: N =0..100000,支持动态整数周期;
缺失周期返回空值
LLV(LOW,20)
HHVBARS
HHVBARS(X,N)
N 周期最高值距当前的周期数
约束: N =0..100000,必须是公式常量
HHVBARS(HIGH,20)
LLVBARS
LLVBARS(X,N)
N 周期最低值距当前的周期数
约束: N =0..100000,必须是公式常量
LLVBARS(LOW,20)
RANGEHIGHID
RANGEHIGHID(X,L,R[,FIRST])
指定 ID 闭区间内最大值所在的 K 线 ID
约束: FIRST =0默认同值取最右,1取最左,须为整数常量;
空区间或超出计算窗口返回空值;
结果可回填历史位置
RANGEHIGHID(HIGH,VIEWLEFTID,VIEWRIGHTID)
RANGELOWID
RANGELOWID(X,L,R[,FIRST])
指定 ID 闭区间内最小值所在的 K 线 ID
约束: FIRST =0默认同值取最右,1取最左,须为整数常量;
空区间或超出计算窗口返回空值;
结果可回填历史位置
RANGELOWID(LOW,VIEWLEFTID,VIEWRIGHTID)
AVEDEV
AVEDEV(X,N)
N 周期平均绝对偏差
约束: N =1..100000,必须是公式常量
AVEDEV(CLOSE,14)
VAR
VAR(X,N)
N 周期样本方差
约束: N =2..100000,分母为 N -1
VAR(CLOSE,20)
VARP
VARP(X,N)
N 周期总体方差
约束: N =1..100000,分母为 N
VARP(CLOSE,20)
STD
STD(X,N)
N 周期样本标准差
约束: N =2..100000,等于 SQRT ( VAR ( X , N ))
STD(CLOSE,20)
STDP
STDP(X,N)
N 周期总体标准差
约束: N =1..100000,等于 SQRT ( VARP ( X , N ))
STDP(CLOSE,20)
STDDEV
STDDEV(X,N)
STDP 的 Q73N 兼容名称
约束:同 STDP
STDDEV(CLOSE,20)
逻辑
IF
IF(COND,A,B)
IFELSE 的兼容别名
约束:三个参数,与 IFELSE 相同
IF(CLOSE>OPEN,HIGH,LOW)
ISNULL
ISNULL(X)
空值返回 1,否则返回 0
约束:支持 NULL 和 DRAWNULL
ISNULL(REF(CLOSE,1))
FILTER
FILTER(COND,N)
保留一次信号,将其后 N 根 K 线的信号过滤为 0
约束: N =0..10000 整数常量;
被过滤信号不延长屏蔽期;
条件缺失返回空值但仍计入周期
FILTER(CLOSE>OPEN,3)
引用
BACKSET
BACKSET(X,N)
条件成立时,将包含当前在内的前 N 根标为 1,否则为 0
约束:未来函数,会回填历史;
N =0..10000 整数,可为序列,0 或缺失返回空值;
不足 N 根按已有根数
BACKSET(CLOSE>OPEN,3)
BARSLAST
BARSLAST(COND)
上一次条件成立到当前的周期数,当根成立返回 0
约束:首次触发前及条件缺失后未再触发时为空; 图表最多额外回溯 10000 根
BARSLAST(CLOSE>OPEN)
CONST
CONST(X)
将当前计算窗口最后一根的值广播到整个序列
约束:用于历史展示筛选,会改变历史显示,不用于无未来数据的交易判断
CONST(CLOSE)
REF
REF(X,N)
引用 N 个周期前的值
约束: N =0..100000,可为逐根变化的整数序列,周期或目标值缺失时返回空值
REF(CLOSE,1)
均线
MA
MA(X,N)
N 周期简单移动平均
约束: N =0..100000,必须是公式常量;
0 返回空值
MA(CLOSE,20)
EMA
EMA(X,N) / EMA(X,N,ALIGN)
指数移动平均;
三参数形式按 ALIGN 指定首个输出位置,并重新选择 N 个初始种子数据
约束: N =0..100000,0 返回空值;
ALIGN >= N ;
三参数形式改变初始值及后续结果,并非只隐藏前段输出
EMA(CLOSE,12,26)
SMA
SMA(X,N,M)
权重为 M 的扩展指数移动平均
约束: N >=1,1<= M <= N , N 和 M 必须是公式常量
SMA(CLOSE,6,1)
EMA2
EMA2(X,N)
N 周期线性加权平均
约束: N =1..100000,必须是公式常量
EMA2(CLOSE,10)
HMA
HMA(X,N)
Hull 移动平均
约束: N =1..100000 整数常量;
半周期与平方根周期向下取整,最小 1;
预热 N +floor(sqrt( N ))-2
HMA(CLOSE,20)
WMA
WMA(X,N)
EMA2 的兼容别名
约束:同 EMA2
WMA(CLOSE,10)
DMA
DMA(X,A)
动态移动平均
约束: A =(0,1],必须是公式常量;
最多回看 10000 根
DMA(CLOSE,0.2)
WILDER
WILDER(X,N[,ALIGN])
Wilder 平滑,首值为前 N 个有效值的简单平均
约束: N =1..100000;
ALIGN >= N ,可按较长周期对齐起点
WILDER(CLOSE,14)
KAMA
KAMA(X,N)
考夫曼自适应移动平均线
约束: N =2..100000,必须是公式常量
KAMA(CLOSE,30)
回归
LINEARREG
LINEARREG(X,N)
N 周期线性回归终点值
约束: N =2..100000,必须是公式常量
LINEARREG(CLOSE,14)
LINEARREG_ANGLE
LINEARREG_ANGLE(X,N)
N 周期线性回归斜率角度
约束: N =2..100000,单位为度
LINEARREG_ANGLE(CLOSE,14)
LINEARREG_INTERCEPT
LINEARREG_INTERCEPT(X,N)
N 周期线性回归截距
约束: N =2..100000,必须是公式常量
LINEARREG_INTERCEPT(CLOSE,14)
LINEARREG_SLOPE
LINEARREG_SLOPE(X,N)
N 周期线性回归斜率
约束: N =2..100000,必须是公式常量
LINEARREG_SLOPE(CLOSE,14)
TSF
TSF(X,N)
N 周期线性回归向前预测一个周期
约束: N =2..100000,必须是公式常量
TSF(CLOSE,14)
趋势
SUPERTREND
SUPERTREND(H,L,C,N,M)
Wilder ATR 超级趋势线,逐根继承最终上下轨
约束: N =1..100000 整数常量;
M >0 且不超过 3e37,必须是公式常量;
缺口后重新预热
SUPERTREND(HIGH,LOW,CLOSE,4,1)
SUPERTREND_DIR
SUPERTREND_DIR(H,L,C,N,M)
超级趋势方向:1 上涨、-1 下跌,预热期为空
约束:与 SUPERTREND 参数相同且共用计算;
首个有效点初始化为下跌,收盘突破才反转
SUPERTREND_DIR(HIGH,LOW,CLOSE,4,1)
SAR_LONG
SAR_LONG(H,L,ACC,MAXACC)
抛物线转向指标的多头支撑点
约束: ACC 、 MAXACC =0..3e37,必须是公式常量
SAR_LONG(HIGH,LOW,0.02,0.2)
SAR_SHORT
SAR_SHORT(H,L,ACC,MAXACC)
抛物线转向指标的空头压力点
约束: ACC 、 MAXACC =0..3e37,必须是公式常量
SAR_SHORT(HIGH,LOW,0.02,0.2)
自适应
MAMA
MAMA(X,FAST,SLOW)
MESA 自适应移动平均线
约束: FAST 、 SLOW =0.01..0.99,必须是公式常量
MAMA(CLOSE,0.9,0.1)
FAMA
FAMA(X,FAST,SLOW)
MAMA 的跟随移动平均线
约束: FAST 、 SLOW =0.01..0.99,必须是公式常量
FAMA(CLOSE,0.9,0.1)
周期
HT_TRENDLINE
HT_TRENDLINE(X)
Hilbert 瞬时趋势线
约束:固定回看 63 根
HT_TRENDLINE(CLOSE)
HT_DCPERIOD
HT_DCPERIOD(X)
Hilbert 主导周期
约束:固定回看 32 根
HT_DCPERIOD(CLOSE)
HT_DCPHASE
HT_DCPHASE(X)
Hilbert 主导周期相位
约束:固定回看 63 根,单位为度
HT_DCPHASE(CLOSE)
HT_INPHASE
HT_INPHASE(X)
Hilbert 相量同相分量
约束:固定回看 32 根
HT_INPHASE(CLOSE)
HT_QUADRATURE
HT_QUADRATURE(X)
Hilbert 相量正交分量
约束:固定回看 32 根
HT_QUADRATURE(CLOSE)
HT_SINE
HT_SINE(X)
Hilbert 正弦波
约束:固定回看 63 根
HT_SINE(CLOSE)
HT_LEADSINE
HT_LEADSINE(X)
Hilbert 领先正弦波
约束:固定回看 63 根
HT_LEADSINE(CLOSE)
条件
IFELSE
IFELSE(COND,A,B)
条件成立返回 A ,否则返回 B
约束: COND 非零表示成立
IFELSE(CLOSE>OPEN,1,0)
VALUEWHEN
VALUEWHEN(COND,VALUE[,N])
获取倒数第 N +1 次条件成立时的值,省略 N 等价于 0
约束: N =0..10000 整数常量;
记录不足返回空值;
条件缺失清空记录;
图表最多额外回溯 10000 根历史
VALUEWHEN(H1>0,H1,1)
CROSS
CROSS(A,B)
A 从下方向上穿过 B
约束:交叉当根返回 1,否则返回 0
CROSS(MA(CLOSE,5),MA(CLOSE,20))
CROSSUP
CROSSUP(A,B)
CROSS 的兼容别名
约束:同 CROSS
CROSSUP(CLOSE,MA(CLOSE,20))
CROSSDOWN
CROSSDOWN(A,B)
A 从上方向下穿过 B
约束:交叉当根返回 1,否则返回 0
CROSSDOWN(CLOSE,MA(CLOSE,20))
EVERY
EVERY(COND,N)
N 周期内条件始终成立
约束: N =1..100000,必须是公式常量
EVERY(CLOSE>OPEN,3)
EXIST
EXIST(COND,N)
N 周期内至少一次条件成立
约束: N =1..100000,必须是公式常量
EXIST(CLOSE>MA(CLOSE,20),5)
BETWEEN
BETWEEN(A,B,C)
判断 A 是否位于 B 与 C 之间
约束:包含上下边界, B 和 C 可交换
BETWEEN(CLOSE,LOW,HIGH)
拐点
PIVOTHIGH
PIVOTHIGH(X,L,R) / PIVOTHIGH(L,R)
等待右侧 R 根后确认局部高点,返回确认当根对应的拐点价格
约束:简写默认 HIGH ;
L / R 为 0..10000 整数常量且 L + R <=10000;
同价取最右,完整窗口内有空值则不确认
PIVOTHIGH(HIGH,3,3)
PIVOTLOW
PIVOTLOW(X,L,R) / PIVOTLOW(L,R)
等待右侧 R 根后确认局部低点,返回确认当根对应的拐点价格
约束:简写默认 LOW ;
L / R 为 0..10000 整数常量且 L + R <=10000;
未确认或历史不足为空,不回填历史
PIVOTLOW(LOW,3,3)
数学
ABS
ABS(X)
绝对值
约束: X 可为数值或序列表达式
ABS(CLOSE-REF(CLOSE,1))
MAX
MAX(A,B)
A 与 B 的较大值
约束: A 、 B 可为数值或序列表达式
MAX(CLOSE-OPEN,0)
MIN
MIN(A,B)
A 与 B 的较小值
约束: A 、 B 可为数值或序列表达式
MIN(OPEN,CLOSE)
POW
POW(A,B)
A 的 B 次幂
约束:定义域外返回空值
POW(CLOSE,2)
SQRT
SQRT(X)
平方根
约束: X <0 时返回空值
SQRT(VARP(CLOSE,20))
EXP
EXP(X)
e 的 X 次幂
约束:溢出时返回空值
EXP(1)
LN
LN(X)
自然对数
约束: X <=0 时返回空值
LN(CLOSE)
LOG
LOG(X)
以 10 为底的常用对数
约束: X <=0 时返回空值
LOG(VOLUME)
CEILING
CEILING(X)
向上舍入
约束:返回不小于 X 的最小整数
CEILING(CLOSE)
ROUND
ROUND(X,N)
四舍五入到 N 位小数
约束: N 为 -12..12 的整数;
中点远离零
ROUND(CLOSE,2)
FLOOR
FLOOR(X)
向下舍入
约束:返回不大于 X 的最大整数
FLOOR(CLOSE)
INTPART
INTPART(X)
截去小数部分
约束:向零取整
INTPART(CLOSE)
MOD
MOD(A,B)
A 对 B 取模
约束: B =0 时返回空值
MOD(VOLUME,100)
SGN
SGN(X)
返回数值符号
约束:正数为 1,负数为 -1,零为 0
SGN(CLOSE-OPEN)
NOT
NOT(X)
逻辑非
约束: X =0 返回 1,否则返回 0
NOT(CLOSE>OPEN)
合约
EXPIREDATE
EXPIREDATE('')
当前可交易合约到期日期
约束:返回 YYYYMMDD ;
缺少真实到期信息时为空值,仅支持当前合约
LDATE:EXPIREDATE(''),NODRAW;
DAYSTOEXPIRED
DAYSTOEXPIRED('')
距当前合约到期的自然日数
约束:以每根 K 线交易日为基准,包含到期日,过期为 0;
仅支持当前合约
DAYS:DAYSTOEXPIRED(''),NODRAW;
成交量
OBV
OBV(X,VOLUME)
按 X 的涨跌方向累计成交量,首值为首根成交量
约束:两个参数必须是等长序列
OBV(CLOSE,VOLUME)
三参数 EMA:初始化起点对齐
EMA(X,N,ALIGN) 在每段连续有效数据中先跳过 ALIGN-N 个数据,再使用随后 N 个数据的简单平均值作为 EMA 初始值。因此第一笔结果出现在该段第 ALIGN 个数据位置,之后按 2/(N+1) 的权重继续递推。
例如 EMA(CLOSE,12,26) 会跳过前 14 个数据,以第 15~26 个数据的平均值初始化 12 周期 EMA ,并从第 26 个数据开始输出,使它与 EMA(CLOSE,26) 具有相同的首个输出位置。
注意: 三参数形式会改变初始化窗口及后续数值,不等同于计算普通 EMA(CLOSE,12) 后隐藏前段结果。它主要用于复刻 TA -Lib 中多个不同周期 EMA 共用输出起点的指标,目前用于精确复刻 MACD ; KDJ 使用普通二参数 EMA 。