# BACKSET 向前赋值未来函数

将当前位置到若干周期前的数据设为1。

BACKSET(X,N)

  1. 是未来函数。
  2. 不建议用于逐k线模式。
  3. 不能应用于程序化交易策略,易造成不可控信号交易。
参数
参数 说明
X 必需,条件判断语句或数值
N 必需,周期范围
 1.有效范围:[N>=1],超出该范围时,按照N=1计算。
  2.N包含当前k线
示例
BACKSET(CLOSE>OPEN,2);//若收阳则将该周期及前一周期数值设为1,否则为0
1

# BARPOS K线顺序位置

函数返回当前K线是本地某品种某周期按顺序第几根K线。

BARPOS

示例
BAR周期:BARPOS,NOAXIS;
1

# BARSCOUNT 有效周期数

第一个有效数据到当前的周期数。

BARSCOUNT(X)

参数
参数 说明
X 必需,变量名。
示例
MA60:MA(CLOSE,60);
BAR:BARSCOUNT(MA60);//返回第一个MA60有效值到当前的周期数。(即k线图第60根k线位置开始)
1
2

# BARSLAST 上一次条件成立位置

上一次条件成立到当前的周期数。若上一次条件成立不存在,则返回无效值

BARSLAST(X)

  1. 没有符合条件的周期,返回无效值。
  2. 当根k线上条件成立,返回为0.(即从0开始统计)。
参数
参数 说明
X 必需,条件表达式。
示例
//最近一次阳线到现在的周期数。
BARSLAST(CLOSE>OPEN);

//日内周期k线数量,【注:因为从0开始统计,所以"+1"才是当日的k线数量】
BARSLAST(DATE<>REF(DATE,1))+1;
1
2
3
4
5

# BARSSINCE 第一个条件成立位置

第一个条件成立到当前的周期数。

BARSSINCE(X)

  1. 若未满足判断条件返回无效值
  2. 从0开始计数
参数
参数 说明
X 必需,条件表达式。
示例
//第一阳线到当前位置的周期数据。
BARSSINCE(CLOSE>OPEN);
1
2

# BARSSINCE2 周期内第一个条件成立位置

第一个条件成立到当前的周期数。

BARSSINCE2(X,N)

  1. 若未满足判断条件返回无效值
  2. 从0开始计数
参数
参数 说明
X 必需,条件表达式。
N 必需,周期范围
示例
//30根k线范围内,第一根k阳线到当前位置的周期数
BARSSINCE2(CLOSE>OPEN,30);
1
2

# CATEGORY/STKTYPE 证券类型

证券类型

CATEGORY
STKTYPE

  1. 返回值范围为0-31。
  2. 两个函数作用完全相同。
返回值
说明 说明 说明 说明 说明
0 指数 8 债券 16 凭证权证 24 认沽权证 32 期权T报价
1 A 股 9 板块指数 17 国债 25 看涨期权 33 期权
2 B 股 10 投资指数 18 企业债 26 看跌期权 34 科创板
3 H 股 11 套利指数 19 现券 27 开放基金 35 创业板
4 N 股 12 其他 20 长远期合作 28 封闭基金
5 期货 13 其他股票 21 拆借 29 ETF
6 外汇 14 商品现货 22 回购 30 LOF
7 基金 15 选择权 23 认购权证 31 指标统计

# COUNT 统计总数

统计满足条件的周期数。

COUNT(X,N)

参数
参数 说明
X 必需,条件表达式
N 必需,周期数,若N=0则从第一个有效值开始
示例
//表示统计20周期内收阳的周期数
COUNT(CLOSE>OPEN,20);
1
2

# BARSTATUS 数据位置状态

函数返回数据位置状态。

BARSTATUS

  1. 1表示第1根K线,
  2. 2表示最后1根K线,
  3. 0表示中间的K线(非第1根和最后1根均为0)。
示例
BARSTATUS();
1

# CURRBARSCOUNT K线逆序位置

函数返回当前K线是本地某品种某周期按逆序第几根K线。

CURRBARSCOUNT

示例
Bar逆序周期:CURRBARSCOUNT,NOAXIS; 
1

# DATA[] 内部数组

系统内部数组,取得指定周期的数据。

DATA[N]

# 作用于

该数组仅对以下函数有作用。

OPEN (开盘价) OPENV (开盘量) AMOUNT (成交额)
HIGH (最高价) OPENA (开盘额) DATE (日期)
LOW (最低价) ADVANCE (上涨家数) OPENINT(持仓量)
CLOSE (收盘价) DECLINE (下跌家数) TIME 时间
VOL (成交量) QT (分笔数)
参数
参数 说明
N 必需,正整数。
示例
//取第78周期的收盘价
CLOSE[78]
1
2

# DATACOUNT 序列数据量

当前图或者公式内存中加载的k线数量。

DATACOUNT


# DATATYPE和DATAPERIOD 数据周期类型

当前数据周期类型。

DATATYPE 和 DATAPERIOD

  1. 返回值范围为[0-19];
  2. DATATYPE、DATAPERIOD是相同函数。
返回值
说明 说明 说明 说明
0 分笔成交 5 60分钟 10 多日 15 半年线
1 1分钟 6 11 多小时 16 节气线
2 5分钟 7 12 季度 17 3分钟
3 15分钟 8 13 多分钟 18 10分钟
4 30分钟 9 14 多秒 19 多笔线

# DATATYPEMORE 数据周期类型参数值

取当前多日、多小时、多分钟、多秒、多笔线周期的参数值

DATATYPEMORE(N)

参数
参数 说明
N 必需,正整数,参数范围[0--4]。
 0 表示:多日;
 1 表示:多小时
 2 表示:多分钟
 3 表示:多秒
 4 表示:多笔线
示例
//在12分钟周期上时,返回12。
DATATYPEMORE(2);
1
2

# DATEPOS 指定日期的数据序号

取指定日期的数据序号

DATEPOS(DATE)

参数
参数 说明
DATE 必需,标准日期时间格式。日线周期下,时间省略不写。常见的日期时间格式如下:
 'YYYY-MM-DD HH:MM:SS'
 'YYYY/MM/DD HH:MM:SS'
 'YYYY.MM.DD HH:MM:SS'
示例
//2021.03.12 1:38:00日期时间的数据对应图表上数据的序号
DATEPOS('2021.03.12 1:38:00');
1
2

# DMA 动态移动平均

求动态移动平均。

若Y=DMA(X,A)则 Y=A*X+(1-A)*Y',其中Y'表示上一周期Y值,A必须小于1。

DMA(X,A)

参数
参数 说明
X 必需,数值表达式。
A 必需,周期数
示例
//求以换手率作平滑因子的平均价.
DMA(CLOSE,VOL/CAPITAL());
1
2

# DRAWNULL 无效数

取得一个无效数字

DRAWNULL

示例
//下跌时分析图上不画线
if(close>ref(close,1),close,drawnull);
1
2

# EMA 指数平滑移动平均

求指数平滑移动平均。 算法:若Y=EMA(X,N)则Y=[2*X+(N-1)*Y']/(N+1),其中Y'表示上一周期Y值。

EMA(X,N)

  1. 由于该函数的计算特殊性,您至少需要N*5倍的数据量才能得到稳定计算结果。
参数
参数 说明
X 必需,序列数值表达式。
N 必需,周期数
示例
//求30日指数平滑均价.
EMA(CLOSE,30);
1
2

# XMA 偏移移动平均

返回偏移移动平均,当前k线上得到当前数据以后N/2日的数据。属于未来函数

XMA(X,N)

  1. N仅支持常量变量
  2. 该函数属于未来函数,仅提供在序列模式下使用
参数
参数 说明
X 必需,序列数值表达式。
N 必需,周期数
示例
//求30日指数平滑均价.
EMA(CLOSE,30);
1
2

# FILTER 信号过滤

过滤连续出现的信号。满足条件后,删除其后若干周期内的数据置为0

FILTER(X,N)

参数
参数 说明
X 必需,条件表达式
N 必需,周期范围
示例
//查找阳线,5天内再次出现的阳线不被记录在内
FILTER(CLOSE>OPEN,5);
1
2

# FILTERX 反向信号过滤

反向过滤连续出现的信号。满足条件时,将其前若干周期内的数据置为0

FILTERX(X,N)

  1. 使用前请确保已经在工具菜单->数据补充 功能中将历史基础财务数据补齐。
参数
参数 说明
X 必需,条件表达式
N 必需,周期范围
示例
//查找阳线,前3天内出现过的阳线不被记录在内
FILTERX(CLOSE>OPEN,3);
1
2

# FINDINDEXBYTIME 按时间寻找K线

特定时间的K线位置

FINDINDEXBYTIME(Y)

  1. 若找不到指定日期的数据,将返回最近的周期。
参数
参数 说明
Y 必需,时间。格式:'YYMMDD HHMMSS' 或'HHMMSS'.
示例
//系统默认时间为0点 或FINDINDEXBYTIME('093001')系统将默认为当前最后一笔交易日期。
FINDINDEXBYTIME('20060601 093001')
//或 
FINDINDEXBYTIME('20060601')
1
2
3
4

# GETDRAWLINEVAL 图形趋势线数值

获取该公式中图表上绘制的趋势线或者水平线对应周期的数值。用法:GETDRAWLINEVAL(N);N表示趋势线编号,从1开始表示绘制的第一根趋势线(水平线)

GETDRAWLINEVAL(N)

  1. 本函数只能用在图表上
  2. 由于是读取图表上的画线,遇到画线移动或者初次加载无法读取趋势线情况,右键刷新数据或者行情有跳动后即可恢复计算。
参数
参数 说明
N 必需,趋势线编号,从1开始表示绘制的第一根趋势线(水平线)
示例
//在k线图中使用画线工具绘制一条线,通过此函数即可获得绘制趋势线所在k线位置的值。
GETDRAWLINEVAL(1);
1
2

# HHV 最高值

求最高值。

HHV(X,N)

参数
参数 说明
X 必需,序列变量表达式。
N 必需,周期数.若N=0则从第一个有效值开始。
示例
//表示求30日最高价
HHV(HIGH,30);
1
2

# HHVBARS 上一高点位置

求上一高点到当前的周期数。

HHVBARS(X,N)

参数
参数 说明
X 必需,序列变量表达式。
N 必需,周期数.若N=0表示从第一个有效值开始统计
示例
//求得历史新高到到当前的周期数
HHVBARS(HIGH,0);
1
2

# HOD 单值高值排序

求单值按从高到低的名次。

HOD(X,N)

参数
参数 说明
X 必需,序列变量表达式。
N 必需,周期数.若N=0则从第一个有效值开始
示例
//当前的HIGH值是20周期内,依照从高到低排序的的第几个最高值
HOD(HIGH,20);
1
2

# LLV 最低值

求最低值。

LLV(X,N)

参数
参数 说明
X 必需,序列变量表达式。
N 必需,周期数.若N=0则从第一个有效值开始。
示例
//表示求历史最低价
LLV(LOW,0);
1
2

# LLVBARS 上一低点位置

求上一低点到当前的周期数。

LLVBARS(X,N)

参数
参数 说明
X 必需,序列变量表达式。
N 必需,周期数.若N=0表示从第一个有效值开始统计
示例
//求得20日最低点到当前的周期数
LLVBARS(HIGH,20);
1
2

# LOD 单值低值排序

求单值按从低到高的名次。即当前周期X在若干周期内是第几个低值。

LOD(X,N)

参数
参数 说明
X 必需,序列变量表达式
N 必需,周期数,N=0则从第一个有效值开始
示例
//当前的HIGH值是20周期内,依照从低到高排序的的第几个最低值
LOD(HIGH,20);
1
2

# LOWRANGE 多少周期内的最小值

当前值是近多少周期内的最小值.

LOWRANGE(X)

参数
参数 说明
X 必需,数字变量表达式
示例
//表示当前最高价是近多少周期内的最小价
LOWRANGE(LOW);
1
2

# LWINNER 近期获利盘比例

近期获利盘比例。

LWINNER(N,X)

  1. 该函数仅对日线分析周期有效。
  2. 该函数的计算量较大,不推荐在大数据量K线数据调用时使用。
参数
参数 说明
N 必需,周期范围
X 必需,序列变量
示例
//表示最近5天的那部分成本以当前收市价卖出的获利盘比例,例如返回0.1表示10%获利盘
LWINNER(5,CLOSE);
1
2

# MA 简单移动平均

求简单移动平均。算法:(X1+X2+X3+...+XN)/N

MA(X,N)

参数
参数 说明
X 必需,序列变量
N 必需,周期范围
示例
//表示求10日均价
MA(CLOSE,10);
1
2

# SMA 移动平均

求移动平均。算法: 若Y=SMA(X,N,M) 则 Y=[M*X+(N-M)*Y')/N,其中Y'表示上一周期Y值,N必须大于M。

SMA(X,N,M)

  1. 由于该函数的计算特殊性,您至少需要N*10倍的数据量才能得到稳定计算结果。
参数
参数 说明
X 必需,序列变量
N 必需,周期范围
M 必需,权重
//求30日移动平均价
SMA(CLOSE,30,1);
1
2

# MEDIAN 取中位数据

取若干指定周期的中位数据

MEDIAN

参数
参数 说明
X 必需,序列变量
N 必需,周期范围,如果N是奇数,取排完序的X中间一个元素;如果偶数,取中间两个的平均值返回

# NEWHBARS 创新高跨度

在历史上所有比当前数值高的数值序列中,离当前第N个近的数字到当前的周期数。

NEWHBARS(X,N)

参数
参数 说明
x 必需,序列变量,
N 必需,周期范围
示例
//求高于当日h的上一个h距离当前的周期数,即,今天的h,创了多少天以来的新高
NEWHBARS(HIGH,1);
1
2

# NEWLBARS 创新低跨度

在历史上所有比当前数值低的数值序列中,离当前第N个近的数字到当前的周期数。

NEWLBARS(X,N)

参数
参数 说明
x 必需,序列变量,
N 必需,周期范围
示例
//求高于当日h的上一个h距离当前的周期数,即,今天的h,创了多少天以来的新高
NEWLBARS(HIGH,1);
1
2

# PERIOD 数据周期类型

取得周期类型,返回值范围[0-11]

PERIOD

  1. 旧系统函数,建义使用DATATYPE新系统函数以取得更宽泛的周期类型支持.
返回值
0 1分钟 4 60分钟 8 多分钟
1 5分钟 5 日线 9 多日
2 15分钟 6 周线 10
3 30分钟 7 月线 11

# PPART 远期成本比例

远期成本分布比例。

PPART(10)

  1. 该函数仅对日线分析周期比较有效。
  2. 该函数的计算量较大,不推荐在大数据量K线数据调用时使用。
示例
//表示10天前的成本占总成本的比例,0.2表示20%
PPART(10);
1
2

# PWINNER 远期获利盘比例

远期获利盘比例。

PWINNER(N,X)

参数
参数 说明
N 必需,周期范围
X 必需,序列变量
示例
PWINNER(5,CLOSE);//表示5天前的那部分成本以当前收市价卖出的获利盘比例,例如返回0.1表示10%获利盘
1

# REF 向前引用

引用若干周期前的数据。

REF(X,N)

参数
参数 说明
X 必需,序列变量或数值表达式
N 必需,周期范围。

注解

  1. 当N为有效值,但当前的k线数不足N根,返回空值;
  2. N小于等于0时,返回当前X值;
示例
//表示上一周期的收盘价,在日线上就是昨收
REF(CLOSE,1);
1
2

# REFDATE 引用指定日期时间数据

引用自 1900 年以来指定日期的数据.

REFDATE(X,DATE[,TIME])

  1. 对于逐K线运行模式,X值不可以引用到未来数据,但是序列模式则无此限。
参数
参数 说明
X 必需,序列变量或数值表达式
DATE 必需,指定的日期。
TIME 可选,指定时间。省略时间一般用在日线及其以上周期使用,对于日线以下周期则一般需要带时间参数
示例
//表示 2001 年 12 月 08 日的收盘价; 
REFDATE(CLOSE,1011208);

//表示 2001 年 12 月 08 日 13:30:30 的收盘价
REFDATE(CLOSE,1011208, 133030);
1
2
3
4
5

# REFX 向后引用

引用若干周期后的数据。

REFX(X,A)

参数
参数 说明
X 必需,序列变量或数值表达式
A 必需,周期范围。
示例
//表示后一周期的收盘价,在日线上就是明收
REFX(CLOSE,1);
1
2

# RET 按时间向前引用

按自然日时间引用若干周期前的数据。

RET(X,A)

参数
参数 说明
X 必需,序列变量或数值表达式
A 必需,周期范围。
示例
//在日线上表示引用10天前的收盘价(注意不是10周期前的)
RET(CLOSE,10);
1
2

# SETVAL 周期设值

根据条件对前后N个周期设值。

SETVAL(COND,Q,N,V)

  1. COND满足条件时,N=0将当前周期设为V值,未设部分取Q值
参数
参数 说明
COND 必需,条件表达式。
Q 必需,序列变量或数值。。
N 必需,周期范围。
 N=0将当前周期设为V值,
 N>0将后面N个周期设为V值,
 N<0将前面N个周期设为V值(不含当前周期)
V 必需,序列变量或数值。
示例
SETVAL(C>O,C,5,C-O);
1

# SFILTER 信号条件过滤

过滤连续出现的信号。

SFILTER(COND_BEGIN,COND_END)

参数
参数 说明
COND_BEGIN 必需,从条件1成立的位置开始。
COND_END 必需,到条件2成立的位置结束。
示例
//查找阳线,再次出现的阳线不被记录在内,直到出现阴线为止
SFILTER(CLOSE>OPEN,CLOSE<OPEN);
1
2

# SORT 排序

对序列或数组进行排序。

SORT(X,D,N1,N2)

参数
参数 说明
X 必需,数组或序列变量。
D 必需,排序方式。0为升序,1为降序,
N1 必需,起始序号,
N2 必需,结束序号,
示例
//该函数在逐K线模式下仅支持VARIABLE定义的数组,序列模式无此限制。
VARIABLE:X[10]:=0;
VAR1:C;
n1:=SORT(VAR1,0,1,DATACOUNT);
n2:=SORT(X,0,1,10);
1
2
3
4
5

# SORTPOS 排序位置

对序列或数组进行排序后的原本位置。对X序列或数组从序号N1到N2进行排序后X存放原数值对应的位置,D为0升序,D为1降序。返回N1到N2的数据数量。

SORT(X,D,N1,N2)

参数
参数 说明
X 必需,数组或序列变量。
D 必需,排序方式。0为升序,1为降序,
N1 必需,起始序号,
N2 必需,结束序号,
示例
//该函数在逐K线模式下仅支持VARIABLE定义的数组,序列模式无此限制。
VARIABLE:X[10]:=0;
VAR1:C;
n1:=SORTPOS(VAR1,0,1,DATACOUNT);
n2:=SORTPOS(X,0,1,10)
1
2
3
4
5

# SUMBARS 累加到指定值周期数

向前累加到指定值到现在的周期数。

SUMBARS(X,N)

  1. 将X向前累加直到大于等于A,返回这个区间的周期数
参数
参数 说明
X 必需,序列变量
N 必需,周期范围
示例
//求完全换手到现在的周期数
SUMBARS(VOL,CAPITAL);
1
2

# SYSPARAM 主图可见K线函数

SYSPARAM(N)

参数
N值 说明
1 画面上光标位置(K线序号);该函数仅K线图形分析时有效。跟十字光标有关的要打开十字光标,否则返回值为0
2 主图可见K线最初位置
3 主图可见K线最后位置
4 主图可见K线最高价
5 主图可见K线最低价
7 主图可见K线末尾空余数量;(仅在选项里开启空余数据参与公式运算时有效)

# TMA 递归移动平均

求递归移动平均。若Y=TMA(X,N,M) 则 Y=(NY'+MX), 其中Y'表示上一周期Y值。初值为M*X

TMA(X,N,M)

  1. 求X的递归移动平均,N、M为权重。
参数
参数 说明
X 必需,序列变量
N 必需,周期范围
M 必需,权重
示例
//表示求X的递归移动平均
TMA(CLOSE,0.9,0.1);
1
2

# TRMA 三角移动平均

三角移动平均计算方法根据N的奇偶性而不同;

TRMA(X,N)

示例
//第1种当N为奇数时,先算(奇数+1)/2周期移动平均,得出值再算这个值的(奇数+1)/2周期的移动平均.
//实际算法:TRMA(CLOSE,5)=MA(MA(CLOSE,(5+1)/2)),(5+1)/2);
//计算5个周期内收盘价的三角移动平均。(N不能被2整除).
TRMA5:TRMA(CLOSE,5);

//第2种当N为偶数,先算偶数/2周期移动平均,得出值再算这个值的(偶数/2+1)周期的移动平均。
//实际算法:TRMA(CLOSE,10)=MA(MA(CLOSE,10/2),(10/2)+1));
// 计算10个周期内收盘价的三角移动平均。(N能被2整除)
TRMA10:TRMA(CLOSE,10);
1
2
3
4
5
6
7
8
9

# TODAYBAR 当日周期数量

求当日数据周期的数量,得到当日从开盘以来到现在的周期数量.

TODAYBAR


# TR 真实波幅

求真实波幅。

TR

示例
//表示求真实波幅的10周期均值
ATR:=MA(TR,10);
1
2

# UBOUND 序列上界

序列最大下标。

UBOUND(X)

参数
参数 说明
X 必需,若序列数据,则返回当前可用的数组数据上界。若为VARIABLE定义的数组,则返回该数组当前的大小
示例
VARIABLE :x[5]:=0;
A:c;
CDC:UBOUND(x); 
CDD:UBOUND(A)
1
2
3
4

# VALUEWHEN 条件跟随

当条件COND满足时,取当时的DATA的值,否则取得VALUEWHEN的前一个值。

VALUEWHEN( COND, DATA)

参数
参数 说明
COND 必需,条件表达式。
DATA 必需,序列变量或者数值表达式。
示例
//表示当前最高价大于前五个周期最高价的最大值时返回当前最高价
VALUEWHEN(HIGH>REF(HIGH,5),HIGH);
1
2

# WINNER 获利盘比例

获利盘比例。

WINNER(X)

  1. 该函数仅对日线分析周期比较有效。
  2. 该函数的计算量较大,不推荐在大数据量K线数据调用时使用。
参数
参数 说明
X 必需,序列变量
示例
//表示以当前收市价卖出的获利盘比例,例如返回0.1表示10%获利盘;
WINNER(CLOSE);

//表示10.5元价格的获利盘比例
WINNER(10.5);
1
2
3
4
5

# WMA 加权移动平均

求加权移动平均。算法: 若Y=WMA(X,N) 则 Y=(N*X0+(N-1)*X1+(N-2)X2)+...+1XN)/(N+(N-1)+(N-2)+...+1) X0表示本周期值,X1表示上一周期值

WMA(X,N)

参数
参数 说明
X 必需,序列变量
N 必需,周期范围
示例
//表示求20日加权均价
WMA(CLOSE,20);
1
2

# LINEVALUE 趋势线数值

通过两个条件成立的位置决定的直线的数值,即趋势线数值。

LINEVALUE(COND1,PRICE1,COND2,PRICE2,EXPAND,LOG)

1.计算方式:先得到COND2条件满足的后点,再向左求COND1条件满足的前点,仅根据此2点计算。

参数
参数 说明
COND1 必需,条件表达式1
PRICE1 必需,序列变变量或常数。
COND2 必需,条件表达式2
PRICE2 必需,序列变变量或常数。
EXPAND 必需,为1表示向左延长.可用于趋势线预警、选股等
LOG 必需,对数,为1表示按对数计算
示例
//表示计算连接2018年1月29日低点和2021年6月6日低点的以对数方式计算的趋势线
LINEVALUE(DATE=1180129,LOW,DATE=1210606,LOW,0,1);
1
2

# PRECISION 显示小数位数

指标图上指标数值显示X位小数,X取值范围0-6

PRECISION

示例
//显示四舍五入的2位小数
MA1:ROUND(MA(C,10)),PRECISION2;
1
2