条件函数
实现次数COUNT
COUNT(P1,P2)
中文名: 实现次数
英文名: COUNT
描述:统计P2周期内满足P1条件的次数,若N=0,从第一个有效值开始
用法:COUNT(P1,P2)
举例:COUNT(CLOSE>OPEN,5)--5周期内收阳的次数
有效至今次数BARSCOUNT
BARSCOUNT(P1)
中文名: 有效至今次数
英文名: BARSCOUNT
描述:求从P1首次有效到当前有效的总次数(分比数据只取当日)
用法:BARSCOUNT(P1)
例如:BARSCOUNT(CLOSE)--上市后总交易天数(日线)
有效至今周期BARSSINCE
BARSSINCE(P1)
中文名: 有效至今周期
英文名: BARSSINCE
描述:求从P1首次有效到当前的周期数(分比数据只取当日)
用法:BARSSINCE(P1)
例如:BARSSINCE(HIGH>10)--从股价>10元时到当前的周期数
最大至今周期HHVBARS
HHVBARS(P1,P2)
中文名: 最大至今周期
英文名: HHVBARS
描述:求P2周期内P1最大值到当前周期数; N=0从第一个有效值开始
用法:HHVBARS(P1,P2)
举例:HHVBARS(HIGH,0)--历史新高到当前周期数
最小至今周期LLVBARS
LLVBARS(P1,P2)
中文名: 最小至今周期
英文名: LLVBARS
描述:求P2周期内P1最小值到当前周期数; N=0从第一个有效值开始
用法:LLVBARS(P1,P2)
举例:LLVBARS(HIGH,20)--20日最低点到当前天数
累加周期SUMBARS
SUMBARS(P1,P2)
中文名: 累加周期
英文名: SUMBARS
描述:将P1向前累加直到大于等于P2,返回这个区间的周期数
用法:SUMBARS(P1,P2)
举例:SUMBARS(VOL,CAPITAL)--完全换手到现在的周期数
形态函数
收阳线ISUP
ISUP
中文名: 收阳线
英文名: ISUP
描述:求当前周期是否收阳线(收盘>开盘), 如果是返回值为1, 反之为0
用法:ISUP
举例:ISUP--当前周期是否收阳线
收平线ISEQUAL
ISEQUAL
中文名: 收平线
英文名: ISEQUAL
描述:求当前周期是否收平线(收盘=开盘), 如果是返回值为1, 反之为0
用法:ISEQUAL
举例:ISEQUAL--求当前周期是否收平线
收阴线ISDOWN
ISDOWN
中文名: 收阴线
英文名: ISDOWN
描述:求当前周期是否收阴线(收盘<开盘), 如果是返回值为1, 反之为0
用法:ISDOWN
举例:ISDOWN--当前周期是否收阴线
上穿CROSS
CROSS(P1,P2)
中文名: 上穿
英文名: CROSS
描述:当P1从下方向上穿越P2 时返回1,否则返回0
用法:CROSS(P1,P2)
举例:CROSS(NMA(CLOSE,5),NMA(CLOSE,10))--5日均线与10日均线金叉
下穿DNCROSS
DNCROSS(P1,P2)
中文名: 下穿
英文名: DNCROSS
描述:当P1从上方向下穿越P2 时返回1,否则返回0
用法:DNCROSS(P1,P2)
举例:DNCROSS(NMA(CLOSE,5),NMA(CLOSE,10))--5日均线与10日死叉
维持后上穿LONGCROSS
LONGCROSS(P1,P2,P3)
中文名: 维持后上穿
英文名: LONGCROSS
描述:P1在P3周期内都小于P2,本周期上穿P2时返回1,反之0
用法:LONGCROSS(P1,P2,P3)
举例:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5)
介于BETWEEN
BETWEEN(P1,P2,P3)
中文名: 介于
英文名: BETWEEN
描述:P1处于P2和P3间时返回1,反之0
用法:BETWEEN(P1,P2,P3)
举例:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5)) 收盘介于5,10日均线间
范围RANGE
RANGE(P1,P2,P3)
中文名: 范围
英文名: RANGE
描述:P1大于P2同时P1小于P3时返回1,反之为0
用法:RANGE(P1,P2,P3)
注意:与BETWEEN函数区别--要求P3必须大于P2,即P2是下限,P3是上限
之字转向ZIG
ZIG(P1,P2)
中文名: 之字转向
英文名: ZIG
描述:当价格变化量超过P2%时转向
用法:ZIG(P1,P2)
举例:ZIG(close,5)表示收盘价的5%ZIG转向
波峰值PEAK
PEAK(P1,P2,P3)
中文名: 波峰值
英文名: PEAK
描述:PEAK(P1,P2,P3)表示之字转向ZIG(P1,P2) 的前第P3个波峰转向的数值,P3>=1
举例:PEAK(high,5,1)--%5最高价的上一个波峰转向的数值
波峰至今周期PEAKBARS
PEAKBARS(P1,P2,P3)
中文名: 波峰至今周期
英文名: PEAKBARS
描述:PEAKBARS(P1,P2,P3)表示ZIG(P1,P2)前P3个波峰到当前的周期数,P3>=1
举例:PEAKBARS(open,5,1)--%5开盘价上一个波峰到当前的周期数
波谷值TROUGH
TROUGH(P1,P2,P3)
中文名: 波谷值
英文名: TROUGH
描述:TROUGH(P1,P2,P3)表示之字转向ZIG(P1,P2) 的前第P3个波谷转向的值,P3>=1
举例:TROUG(low,5,2)--%5最低价的前第二个波谷转向的数值
波谷至今周期TROUGHBARS
TROUGHBARS(P1,P2,P3)
中文名: 波谷至今周期
英文名: TROUGHBARS
描述:TROUGHBARS(P1,P2,P3)表示ZIG(P1,P2)前P3个波谷到当前的周期数,P3>=1
举例:TROUGHBARS(open,5,1)--%5开盘价上一个波谷到当前周期数
获利价格COST
COST(P1)
中文名: 获利价格
英文名: COST
描述:求使P1%成本获利的价格,仅日线有效
用法:COST(P1)
举例:COST(10)--求一个价格,有10%持仓量在此价格以下,90%在以上,为套牢盘
获利盘比例WINNER
WINNER(P1)
中文名: 获利盘比例
英文名: WINNER
描述:以P1价格卖出的获利盘比例,如返回0.1表示10%获利(仅对日线有效)
用法:WINNER(P1)
举例:WINNER(CLOSE)--当前收盘价的获利盘比例
持续大于CONLARGE
CONLARGE(P1,P2,P3)
中文名: 持续大于
英文名: CONLARGE
描述:若在P3个周期内,P1持续大于P2,返回1,否则,返回0
用法:CONLARGE(P1,P2,P3)
举例:CONLARGE(3,CLOSE,OPEN)--连拉三阳
持续小于CONLESS
CONLESS(P1,P2,P3)
中文名: 持续小于
英文名: CONLESS
描述:若在P3个周期内,P1持续小于P2,返回1,否则,返回0
用法:CONLESS(P1,P2,P3)
举例:CONLESS(3,CLOSE,OPEN)--三根阴线
持续等于CONEQUAL
CONEQUAL(P1,P2,P3)
中文名: 持续等于
英文名: CONEQUAL
描述:若在P3个周期内,P1持续等于P2,返回1,否则,返回0
用法:CONEQUAL(P1,P2,P3)
举例:CONEQUAL(3,KDJ.[%J],100)--KDJ的%J指标线见顶
持续上升CONRAISE
CONRAISE(P1,P2)
中文名: 持续上升
英文名: CONRAISE
描述:若在P2个周期内,P1持续上升,返回1,否则,返回0
用法:CONRAISE(P1,P2)
举例:CONRAISE(VOLUME,3)--成交量连续三天放量
持续下降CONDOWN
CONDOWN(P1,P2)
中文名: 持续下降
英文名: CONDOWN
描述:若在P2个周期内,P1持续下降,返回1,否则,返回0
用法:CONDOWN(P1,P2)
举例:CONDOWN(VOLUME,3)--成交量连续三天缩量
持续平盘CONSMOOTH
CONSMOOTH(P1,P2)
中文名: 持续平盘
英文名: CONSMOOTH
描述:若在P2个周期内,P1持续平盘,返回1,否则,返回0
用法:CONSMOOTH(P1,P2)
举例:CONSMOOTH(CLOSE,3)--收盘价连续3天持平
上摸次数UPTOUCHCOUNT
UPTOUCHCOUNT(P1,P2,P3)
中文名: 上摸次数
英文名: UPTOUCHCOUNT
描述:返回在P3个周期内,P1变化量超过P2%波峰的次数
举例:UPTOUCHCOUNT(CLOSE,10,30)--30日内股价出现三重顶,波峰的价格变化量超过10%
下摸次数DNTOUCHCOUNT
DNTOUCHCOUNT(P1,P2,P3)
中文名: 下摸次数
英文名: DNTOUCHCOUNT
描述:返回在P3个周期内,P1变化量超过P2%波谷的次数
举例:DNTOUCHCOUNT(CLOSE,10,30)--30日内股价出现三重底,波谷的价格变化量超过10%
递增排序ASCSORT
ASCSORT(P1)
中文名: 递增排序
英文名: ASCSORT
描述:取得表达式的值,在选股范围中递增排序名次
用法:ASCSORT( X )
举例:ASCSORT( CLOSE ),取得收盘价递增排序名次
递减排序DESSORT
DESSORT(P1)
中文名: 递减排序
英文名: DESSORT
描述:取得表达式的值,在选股范围中递减排序名次
用法:DESSORT( X )
举例:DESSORT( CLOSE ),取得收盘价递增排序名次
条件编辑器:
公式编写语法规范
大致结构:
变量 = 表达式;
变量 = 表达式;
......
结果: 表达式;
结果: 表达式;
结果作为公式输出的一个值,选股公式内置为select,买卖条件内置为enter,exit。而变量则只作为计算中的一个变量,不输出结果。
说明
时间范围
公式编写语法规范:
说明
表达式由数字、引用、函数、指标、运算符号、逻辑符号和括号组成。
数字可以是整数或者浮点数,
例如:3 5.1 7% -2.1等。
引用可以是引用股票的动态、历史、基本面数值。
直接通过输入引用得名称来使用。例如:OPEN VOL。
函数为系统提供的内部函数,可以通过输入函数名并且在后面带上参数来使用。
例如:CROSS(A,B) MAX(A,B)。见函数一览表。
指标为系统提供的指标,或者用户自己编辑的公式结果。
用法:“指标名”.[结果名](参数表),指标名称应该是在系统中提供的指标名称,可以直接引用,如果指标名称为中文或者带有一些特殊字符,也可以用[]括起来。每个指标会有多个结果,可以通过结果名称来引用,结果名称必须用方括号引起。
如果省略结果名,表示使用和指标名称相同的结果名指标可以带参数,不带或少带的参数项就是用系统设置参数。
例如:KDJ.[%K](9,3) MACD。等。系统中所有的指标和所有用户开发的公式都可以引用。
运算符号包括 + - * / ^ 等。可以通过相应中文来使用:加上 减去 乘以 除以 次方。
逻辑符号包括 > < >= <= = != AND(&&) OR(||) 等。可以通过相应中文来使用:大于 小于 大于等于(不小于) 小于等于(不大于) 等于 不等于 并且 或者。
括号表示运算的优先顺序,按四则运算法则运算。
分割符号:, : ; {} []等。除了上面提到的括号,还有其它的分割符号。
逗号: 用来分割函数和指标引用的参数表。
冒号: 表示输出一个结果,冒号前为结果的名字,冒号后为结果的表达式。通过冒号输出的结果,在使用公式进行选股,交易测试,或者在其它公式引用此公式时都可以看到。冒等于号表示一个赋值的过程,左边是一个变量,后面是一个表达式,赋过值的变量可以在后面的表达式中直接引用。可以使用一个简单的表达式来表示一个结果,这个时候,结果的名称就是公式的名称,如果是指标则作为第一个结果,如果是选股则作为选股方法,如果是买卖条件则作为买入条件。
分号: 为一句语句的结束标志,每一句语句都是可以换行的,直到分号出现才表示语句结束。
花括号: 为注释标志,出现这个标志,花括号内的代码都作为注释出现,不参加编译。
方括号: 作为字符型引用,内部的字符作为单独的一个字符串生效,前后空格不计。
特殊字符:
SELECT:选股结果。ENTER:买入条件。EXIT:卖出条件
MARKET:市场值。SHANGHAI:0。SHENZHEN:1
INDEX:当前股票对应大盘。SHINDEX:[000001]。SZINDEX:[399001]
公式编写语法规范:
时间范围
保持原来滑动时间范围的设定。任何变量都允许附带一个时间范围。如A(1),表示一天之内,B(0,2),表示两天前到当前天。逻辑值将表示时间范围内逻辑值的或,数值表示时间范围内数值的平均。
其它:
1)以[600000].open的形式引用其它股票的引用值,而INDEX,SHINDEX,SZINDEX分别表示当前大盘,上海大盘,深圳大盘。可以这样用:INDEX.CLOSE。对于所有的引用值有效。其实,这个用法适用所有的函数和指标。如[600000].KDJ.K表示此时,600000的KDJ的K值。而[600000].CROSS( MA(5),MA(10) )表示600000的均线是否交叉。
2)公式编辑争取在一定的程序下支持中文,逻辑符号,运算符号,内值指标都做成有中文和英文两个版本。而指标名称,参数名称也允许使用中文。
例子:
//a为一个变量。
a = close>open;
//b为一个变量。
b = cross( macd, macd.[dif] );
//rep1为指标结果的变量输出。
rep1 := a&&b;
ps:
//作为选股的结果输出
SELECT: a&&b;
//作为买入条件输出
ENTER:a&&b;