投资技巧 Recruit
联系方式 Contact

云指标公式网

淘宝:zb-mart.taobao.com

电话:18020657357

Q Q:396950280

网址:www.yzhibiao.com

搜索 Search
你的位置:首页 > 投资技巧 > 公式教程

通达信指标公式编写教程 第3节公式编写示例

2014-10-19 22:21:05点击:

第3节公式编写示例 
3.1 简单公式 
这里举一些最简单的公式例子,有些只有一条语句且函数简单,较复杂的公式中函数复杂且语句较多。

收盘价线 
这是最简单的公式: 
CLOSE; 
均线 
计算 N 日内收盘价的算术平均值,它是最常用的指标之一,公式为: 
MA(CLOSE,5); 
其中的 MA(X,N)表示 X 的 N 日平均。 

涨幅 
涨幅指今日收盘价相对于昨日收盘价的变动幅度,即(今日收盘价-昨日收盘价)/昨日收盘价*100%, 昨日收盘价的公式为:REF(CLOSE,1), 
因此涨幅的公式: 
(CLOSE-REF(CLOSE,1))/REF(CLOSE,1); 

换手率 
换手率指当期的成交量占流通股本的比例。 
公式: 
VOL/CAPITAL; 
VOL 为当期成交量,CAPITAL 为流通股本。 

创新高 
创新高指当日最高价是最近一段时间的最高价: 
HIGH=HHV(HIGH,N); 
其中的 HIGH 为当期最高价,HHV(X,N)是求 N 周期内 X 最高值。因此该公式的含义是当日最高价创N日新高时返回值为1,否则为0。 

盘整 
横盘整理指最近一段时期价格在一定幅度之内摆动: 
(HHV(CLOSE,10)-LLV(CLOSE,10))/CLOSE<0.05; 
其中的 LLV(X,N)是求 N 周期内 X 最低值。因此该公式表示 10 日收盘价振幅振幅在 5%以内。 

区间统计 
例如,要取得 2002 年 2 月 1 日到 2002 年 12 月 30 日间的最低价。思考一下,一段时间的最低价必然是该段时间内每个分析周期的最低价中最小的那个。所以我们要引用的数据是该段时间各分析周期的最低价,而不需要用到开盘价、收盘价或最高价;还要将不需要的数据,即区间外的数据设为0。
语句为: 
LL:=IF(YEAR=2002 AND MONTH>=2 AND MONTH<=12,LOW,0); 
该语句用一个条件函数来判断时间是否处于规定区间,若是则返回最低价,否则返回0。 
我们再用 LLV 函数,就可求得该段时间最低的最低价: 
LLV(LL,N); 
N 为日期参数,N 为 0,则上式表示:上市以来的最低价。

技术指标公式 
技术指标公式用于绘制技术指标线。以 KDJ 指标为例,右键点击 KDJ,选择“编辑公式”后打开公式算法编辑器,显示出 KDJ 指标公式的内容。 
参数名称: 最小值 最大值 缺省值 
N: 1 10O 9 
M1: 2 40 3 
M2: 2 40 3 
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; 
K:SMA(RSV,M1,1); 
D:SMA(K,M2,1); 
J:3*K-2*D 
该公式绘制 K、D、J 两条指标线。 
RSV 行是一个中间语句,计算当期收盘价与 N 天内最低价之差除以 N内最高价与最低价之差的比值,再乘以系数 100。 
K 线为 RSV 的 M1 天移动平均线; 
D 线为线 K 的 M2 天移动平均线; 
J 线为 K 线与 J 线的差值。 

条件选股公式 
条件选股用于选出满足条件的股票,条件选股公式用于显示条件是否满足的语句是一个逻辑表达式,条件满足,表达式的返回值为“1”,表示选中该股,条件不满足,返回值为为“0”,表示未选中。条件选股公式的其他公式必须是中间公式,而且要在逻辑表达式之前。以 KDJ 指标买入条件选股为例,右键点击“KDJ 指标买入条件选股”,选择“编辑公式”后打开公式算法编辑器,显示出公式的内容。用 KDJ 随机指标作为买入条件是当 J 向上穿越 0 坐标线的时候 
公式写法为: 
参数名称:最小值 最大值 缺省值 
N: 1 10O 9 
M1: 2 40 3 
M2: 2 40 3 
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; 
K:SMA(RSV,M1,1); 
D:SMA(K,M2,1); 
J:3*K-2*D; 
CROSS(J,0); 
如果直接引用指标公式,KDJ 条件选股公式可以简写为: 
CROSS("KDJ.J"(N,M1,M2),0); 

交易系统公式 
交易系统公式用于描述交易系统。交易系统是一个完整的买卖过程。交易系统公式用来指示买入、卖出信号的语句是一个逻辑表达式,名 

TERLONG:多头买入 
EXITLONG:多头卖出 
ENTERSHORT:空头买入 
EXITSHORT:空头卖出 
四种信号条件满足,表达式的返回值为“1”,表示发出信号,条件不满足,返回值为“0”,表示不发出信号。交易系统公式的其他公式必须是中间公式,而且要在逻辑表达式之前。 
国内的股市只用到 ENTERLONG,EXITLONG,国内期货市场还用到ENTERSHORT,EXITSHORT 语句。 
当买入或卖出条件满足时,在什么时间、什么价位进行操作,可以选择本周期或次周期的开盘价、最高价、最低价、收盘价,在测试交易系统时将以设置的介入价格计算。若选择次周期最高价买入、次周期最低价卖出,则此时的测试是最为严格,若此时交易系统的表现仍令人满意,则说明该系统稳定性好。 
这里我们举例说明如何编写交易系统公式。以 KDJ 交易系统为例,右键点击“KDJ 交易系统”,选择“编辑公式”后打开公式算法编辑器,显示 
出公式的内容。 
交易系统的买入条件为 J 向上穿越 0; 
卖出条件为 J 向下穿越 100。 
参数名称: 最小值 最大值 缺省值 
N: 1 10O 9 
M1: 2 40 3 
M2: 2 40 3 
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; 
K:SMA(RSV,M1,1); 
D:SMA(K,M2,1); 
J:3*K-2*D; 
ENTERLONG:CROSS(J,0); 
EXITLONG:CROSS(100,J); 
如果直接引用指标公式,KDJ 交易系统公式可以简写为: 
J:="KDJ.J"(N,M1,M2); 
ENTERLONG:CROSS(J,0); 
EXITLONG:CROSS(100,J); 

K 线模式公式 

K 线模式公式用于描述单根 K 线或多根 K 线组合的某种状态。K 线模式公式用来指示模式的语句是一个逻辑表达式,最多可以设到 6 个,即 K 线图上最多可以有 6 种彩色。以 KDJ 指标 K 线模式为例,在五彩 K 线项下的其他栏中找到“KDJ 随机指标”,用右键点击,选择“编辑公式”后打开公式编辑器,显示出公式的内容。 
将 J 线值小于 0 的 K 线显示为红色,将 J 线值大于 100 的 K 线显示为绿色。 
参数名称:最小值 最大值 缺省值 
N: 1 10O 9 
M1: 2 40 3 
M2: 2 40 3 
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; 
K:=SMA(RSV,M1,1); 
D:=SMA(K,M2,1); 
J:=3*K-2*D; 
J<0,COLORRED; 
J>100,COLORGREEN; 

曙光初现 
是两根 K 线的组合,其模式构成为: 
1、第一天的 K 线是阴线,表示市势仍然向下; 
2、随后第二个交易日跳空低开; 
3、其后时间出现强劲反弹,填补缺口后上升超过上日收盘价。此图形如在底部出现,则称为曙光初现,显示市场可能见底回升。 
根据此模式建立的公式为: 
BACKSET( REF(CLOSE,1)/REF(OPEN,1)<0.97 AND CLOSE/OPEN>1.03 
AND OPEN<REF(CLOSE,1) AND CLOSE>REF(CLOSE,1), 2) 
BACKSET(X,N)是一个函数,若 X 非 0,则将当前位置到 N 周期前的数值设为 1。 
第一个参数中的第一个式子表示前一个周期的 K 线是阴线, 
第二个式子表示当前周期的 K 线是阳线, 
第三个式子表示当前周期是跳空低开, 
第四个式子表示当前周期填补低开缺口后收盘于上日收盘价之上。 
第二个参数为 2,表示若第一个参数中设置的条件全部成立,则用不同的颜色把当前周期和上一周期前的 K 线与其他 K 线区分开来。

3.2 指标公式:均线通道

新建公式“均线通道”(JXTD) 
1.使用快捷键 Ctrl+F 打开“公式管理器”。



2.点击“新建”按钮,打开“公式编辑器”



3.填写公式项 
“公式名称”---JXTD, 
“公式描述”---“均线通道” 
参数 (最小值)(最大值)(缺省值) 
#N: 1 100 26 
-------------------------------------------------- 
VAR1:=MA(CLOSE,N);{对“VAR1”赋值} 
VAR2:=MA(CLOSE,2*N);{对“VAR2”赋值} 
VAR3:=MA(CLOSE,3*N);{对“VAR3”赋值} 
VAR4:=MA(CLOSE,4*N);{对“VAR4”赋值} 
VAR5:=MA((VAR1+VAR2+VAR3+VAR4)/4,5);{一条多条均线的平均线} 
上轨:VAR5*1.08;{在均线“VAR5”上加上 8%的幅度变成“上轨”} 
下轨:VAR5*0.92; {在均线“VAR5”上减去 8%的幅度变成“下轨”} 
---------------------------------------------------- 
4.指标类型:选“路径型”,还有大势型、超买超卖型、趋势型、能量型等如图



5.画线方法:副图、主图叠加、副图叠加线、副图叠加美国线四种;选中“主图叠加型”,副图是 K 线图下面的区域; 
6.密码保护:010101 
7.参数设置:#N:最小值为 1,最大值为 100,缺省值(默认)为 26; 
8.坐标线位置:在非“主图叠加”中,此编辑框处可写状态;输出线为副图中深红色横线显示,是副图坐标线; 
9.额外 Y 轴分界:是指标敏感数值输出线,在副图中显示为白色; 
10.引入指标公式:在引入原公式的基础上进行编辑; 
11.插入函数:左上为函数类别,右上为函数表,下区为函数解释区及用法举例;

12.公式编辑区: 
〖{ }〗是解释,不输出,为了提示自己和别人,便于看懂公式; 
〖:=〗赋值符,意为“相当于”; 
〖:〗输出符,它前面的名称为输出名称,可以在副图中看到,它后面的为公式定义; 
〖;〗分段符,表示一段完成; 
〖,〗分节符; 
〖()〗括号中为公式体。 
13.测试公式:测试通过则自动保存;测试不能通过,则在翻译区提示错误所在。 
14.用法注释:自编公式使用说明。 
15.在 K 线图上,直接敲字母键“JXTD”调出自编的公式“均线通道”,查看结果; 
16.修改公式:左键选中公式线后,点击右键,在弹出的对话框中,选中“修改指标”项,直接调出《公式编辑器》修改公式。如果左键选指标线不便,直接用右键选参数数值,也可调出公式编辑器。

17.鼠标动态提示:将鼠标放在函数上,等一会系统自动出现提示框,方便函数学习和应用,如图:


3.3 选股公式:均线通道

改公式“均线通道”(JXTD)为选股公式“均线通道” 
1. 〖Ctrl〗+〖F〗打开“公式管理器”; 
2. 点击“条件选股公式”选项; 
3. 点击“新建”按钮,打开“条件选股公式编辑器”; 
4. 点击“引入指标公式”按钮,选最后一项“均线通道”,确定;

5.修改输出:公式输出项改为赋值项;即将〖:〗符改为〖:=〗符; 
6.新建输出项:选股:CLOSE<下轨;{选出收盘价小于下轨的股票};如

7.测试公式通过; 
8. 〖Ctrl〗+〖T〗打开条件选股公式“均线通道”,进入公式选股操作程序; 

3.4 五彩 K 线公式:均线通道 

改公式“均线通道”(JXTD)为五彩 K 线公式“均线通道” 
1. 〖Ctrl〗+〖F〗打开“公式管理器”; 
2. 点击“五彩 K 线公式”选项; 
3. 点击“新建”按钮,打开“K 线指示公式编辑器”; 
4. 点击“引入指标公式”按钮,选“均线通道”确定; 

五彩 K 线公式 
公式名:JXTD 
公式描述:均线通道 
参数 (最小值)(最大值)(缺省值) 
#N: 1 100 26 
-------------------------------------------------- 
VAR1:=MA(CLOSE,N);{对“VAR1”赋值} 
VAR2:=MA(CLOSE,2*N);{对“VAR2”赋值} 
VAR3:=MA(CLOSE,3*N);{对“VAR3”赋值} 
VAR4:=MA(CLOSE,4*N);{对“VAR4”赋值} 
VAR5:=MA((VAR1+VAR2+VAR3+VAR4)/4,5);{一条多条均线的平均线} 
上轨:=VAR5*1.08;{在均线“VAR5”上加上 8%的幅度变成“上轨”} 
下轨:=VAR5*0.92; {在均线“VAR5”上减去 8%的幅度变成“下轨”} 
CLOSE<下轨,COLORRED; {小于下轨提示买入红色} 
CLOSE>上轨,COLORYELLOW; {高于上轨提示卖出黄色} 
HIGH>上轨*1.06,COLORBLUE;{高于上轨 6%提示清仓蓝色} 
LOW<下轨*0.94, COLORMAGENTA;{低于下轨 6%提示加仓洋红色} 
-------------------------------------------------- 
5.测试通过,退出; 
6.〖Ctrl〗+〖K〗,打开“五彩 K 线指示”---“均线通道”; 
7.查看效果,不满意就修改参数一直到满意为止;

3.5 交易系统公式 

改公式“均线通道”(JXTD)为交易系统公式“均线通道” 
1. 〖Ctrl〗+〖F〗打开“公式管理器”; 
2. 点击“交易系统公式”选项; 
3. 点击“新建”按钮,打开“交易系统公式编辑器”; 
4. 点击“引入指标公式”按钮,选“均线通道”确定; 
公式名:JXTD 
公式描述:均线通道 

参数 (最小值)(最大值)(缺省值) 
#N: 1 100 26 
-------------------------------------------------- 
VAR1:=MA(CLOSE,N);{对“VAR1”赋值} 
VAR2:=MA(CLOSE,2*N);{对“VAR2”赋值} 
VAR3:=MA(CLOSE,3*N);{对“VAR3”赋值} 
VAR4:=MA(CLOSE,4*N);{对“VAR4”赋值} 
VAR5:=MA((VAR1+VAR2+VAR3+VAR4)/4,5);{一条多条均线的平均线} 
上轨:=VAR5*1.08;{在均线“VAR5”上加上 8%的幅度变成“上轨”} 
下轨:=VAR5*0.92; {在均线“VAR5”上减去 8%的幅度变成“下轨”} 
{多头买入} ENTERLONG:CLOSE<下轨; 
{多头卖出} EXITLONG:CLOSE>上轨; 
---------------------------------------------------

5.测试通过,退出; 
6.〖Ctrl〗+〖E〗,打开“五彩 K 线指示”---“均线通道”; 
7.查看效果,不满意就修改参数一直到满意为止;

8.删除指示:快捷键〖Ctrl〗+〖H〗;鼠标左键选中指示图标,按〖Delete〗,或者点击鼠标右键,在弹出的菜单中选“删除交易系统指示”。 

3.6 颜色参数应用:“MACD”K 线 

公式名称:MACDK 
简称:“MACD”K 线 
---------------------------- 
DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG); 
DEA:EMA(DIF,MID); 
MACD:(DIF-DEA)*2,COLORSTICK; 
D1:=EMA(C,3)-EMA(C,8); 
D2:=EMA(O,3)-EMA(O,8); 
D3:=EMA(H,3)-EMA(H,8); 
D4:=EMA(L,3)-EMA(L,8); 
DRAWICON(CROSS(D1,DIF) AND DIF<0 ,D4-0.1,10); 
DRAWICON(cross(diff,d1) and diff>0.1 ,d3+0.1,2); 
STICKLINE(D1>=D2,D1,D2,8,0),COLOR0055AA; 
STICKLINE(D1<=D2,D1,D2,8,0),COLOR006600; 
STICKLINE(D1>=D2,D1,D2,5,0),COLOR0077CC; 
STICKLINE(D1>=D2,D1,D2,3,0),COLOR0099DD; 
STICKLINE(D1>=D2,D3,D4,0,0),COLOR00BBFF; 
STICKLINE(D1<=D2,D1,D2,5,0),COLOR009900; 
STICKLINE(D1<=D2,D1,D2,3,0),COLOR00BB00; 

STICKLINE(D1<=D2,D3,D4,0,0),COLOR00EE00; 
------------------------------
颜色参数不是函数,它描述待画图形的颜色,将其插入到每个指标公式后面,用逗号分隔开。 
常用颜色参数有:
COLORWHITE 
颜色描述符还可以自定义颜色,格式为 COLOR+“RRGGBB”:RR、GG、BB 表示红色、绿色和蓝色的分量,每种颜色的取值范围是 00-FF,采用了16 进制。 
例如:MA5:MA(CLOSE,5),COLOR00FFFF 表示纯红色与纯绿色的混合色:COLOR808000 表示淡蓝色和淡绿色的混合色。

3.7 新增函数应用 HORCALC(X)


公式名称:zdkx 
公式描述:自定指数 K 线 
参数:(最小值)(最大值)(缺省值) 
#n: 1 100 10 
--------------- 
高:=HORCALC('湖北板块',100,0,1); 
开:=HORCALC('湖北板块',101,0,1); 
低:=HORCALC('湖北板块',102,0,1); 
收:=HORCALC('湖北板块',103,0,1); 
自定 K 线: DRAWKLINE(高,开,低,收); 
MA(自定 K 线,N); 
---------------


公式说明: 
1.用于制作自定义指数、自设板块指数 K 线。 
2.先制作自定义板块,“Ctrl+z”,填写好板块名称和简称(数字); 
3.“板块名称”须用单引号,如'自选股'、'庄股'; 
4.起始位为1000点(下载到本地数据); 
5.板块内不要含有太多的股票数量,以免影响速度;

3.8 新增函数应用 BLOCKSETNUM(板块名称)


公式名称:STPM 
公式描述:个股在 st 板块内排名 
-------------- 
板块股数量:BLOCKSETNUM('ST 板块'),NODRAW; 
ST 涨幅排名:HORCALC('ST 板块',105,1,2);


说明: 
NODRAW 是不输出线型只输出数值命令,用于多指标不兼容坐标;