指标公式教学(二)
(2013-05-07 13:00:32)
标签:
公式成交量月份时分次数股票 |
分类: 技术探讨 |
指标公式教学(二)
四.【常用的周期数的定义及算法】 五.【常用的引用函数】 六.【常用的时间函数】
四. 【常用的周期数的定义及算法】
周期数常让人团团转,不过若将周期数的基本定义弄清楚了,就不用再怕它了.
周期数分为间隔K线数及总K线数,一般若不特别指示,指的是间隔天数,但最好要用时确认一下比较好,
周期函数最常用的是BARSLAST函数,其余周期函数大部分都可由此函数推出,
只不过比较繁复,有现成的最好,但平常不用背起来,只要要用的时候,
按[插入函数]查一查有没有其他现成的函数可供应用即可.
间隔天数不知大家有没有概念,简言之,就日线而言,今天跟昨天的间隔K线数是1,今天跟前天的间隔K线数是2,
总K线数就是包含前后2根K线
4.1 BARSLAST(条件)
-----最后一个符合条件至今的间隔K线数, 当天符合则输出0
例如:
BARSLAST(CLOSE>OPEN) 其意义为最后一个”收盘大于开盘(收红) ”至今的间隔K线数,
符合条件后的总K线数即包含前后2根K线,可用间隔K线数 1即可,
例如:
BARSLAST(CLOSE>OPEN) 1 其意义为最后一个”收盘大于开盘(收红) ”至今的总K线数
4.2 BARSSINCE(条件)
-----有交易以来的第一个符合条件至今的间隔K线数,刚好与BARSLAST相反
例如:
BARSSINCE (CLOSE>OPEN) 代表有史以来第一个收红至今的间隔K线数
以上的BARSLAST很重要,请大家务必了解透彻
五.【常用的引用函数】
引用函数可帮助我们取得我们所需的非当周期k线的数据,
5.1 ref(数据,间隔K线数)
----取得间隔K线数前的数据(间隔K线数可为数字或周期数函数(如:barslast)),
请注意:周期数须为间隔K线数
例如: 日线上,
ref(c,2); {取得2
K线数前(如:今天不算的前第2天即前天)的收盘}
特别注意:{以下1. 2.通用于通达信以外的软件,即通达信不适用}
1.
Ref(c,0); 取得今日收盘
2.
ref(c,
BARSLAST(CLOSE>OPEN)); {取得最后一个”收盘大于开盘(收红)
”至今的间隔天数前的收盘}
3.因为通达信Ref(c,0);值并非当日值,故有必要加以特别定义规范 ----
通达信ref(c,
BARSLAST(CLOSE>OPEN));的正确写法应改为
If(ref(c,
BARSLAST(CLOSE>OPEN))=0,c, ref(c,
BARSLAST(CLOSE>OPEN)));
{此处c若改为其他数据,如h,则”,c,”亦须改为”,h,”,
if的写法,以后会提到}
5.2 sum(数据,总周期数)----加总”总周期数”内的”数据” 请注意:此处周期数须为总K线数
例如: 在日线上
sum(c,5)---- 代表5天内的”每天的收盘”的总合
注意:数字若为0则代表自数据的第一天开始加总,分笔周期代表自开盘开始加总
,
sum(c, BARSLAST(CLOSE>OPEN) 1)---- 代表自上一次”收盘大于开盘(收红) ”至今的收盘总合
请注意:
BARSLAST()后面须加1,才是总天数
5.3 count(条件,总周期数)----加总”总周期数”内”符合条件的次数” 请注意:此处周期数须为总K线数
例如: 在日线上
count(close
count(closeOPEN) 1)---- 代表自上一次”收盘大于开盘(收红) ”至今的收黑次数
请注意:
BARSLAST()后面须加1,才是总天数
注:飞狐count可用sum代替,但为免与其他软件混淆,建议不用为好
六.【常用时间函数】
我们常用到的时间函数包含有下列几个,我试着说详细点:
6.1 DATE
--- 取得该周期最后一笔资料的年月日减去1900年00月00日(即-19000000)的年月日日期(年年年月月日日),
例如:今天是2010/03/05,则今天的K线上的DATE值会显示1100305(20100305-19000000).
[应用1] 若写 K1:DATE<=1080503; 则表示当日期小于等于2008年5月3日的时候(1080503
19000000),则条件成立
注:可用于分钟周期
6.2 YEAR---取得该周期最后一笔资料的年(此处不减1900),(显示从1970开始的年)
例如: 今天是2010/03/05,则今天的K线上的YEAR值会显示2010
[应用] 若写 K2:
YEAR<=2007; 则表示年小于等于2007年的时候,则条件成立
[小技巧] 若在月线以下周期 若写
YEAR <>REF(YEAR,1) {通达信用!=}则此式代表年始
{比较年份若不同时,代表1年的开始}
6.3 MONTH----
取得该周期最后一笔资料的月份(1~12),
例如: 今天是2010/03/05,则今天的K线上的MONTH值会显示3
[应用]
若写 K2:
DAY<=15; 则表示日小于等于15的时候,则条件成立
[小技巧]
1. 若在日线以下周期 若写
MONTH <>REF(MONTH,1) {通达信用!=}则此式代表日始
{比较月份若不同时,代表1个月的开始}
2. K1:=BARSLAST(MONTH <>REF(MONTH,1)); 表示该月初至今的间隔k线数,所以
REF(H,K1) 表示当月第1天的最高价
SUM(VOL, K1 1) 表示当月总成交量(月初至今的成交量加总), 注意:K1须加1
6.4 DAY
---- 取得该周期最后一笔资料的日(1~31),
例如: 今天是2010/03/05,则今天的K线上的DAY值会显示5
[应用] 若写 K2:
DAY<=15; 则表示日小于等于15的时候,则条件成立
[小技巧] 若分线以下周期
DAY<>REF(DAY,1) {通达信用!=}则此式代表日始
{比较日期若不同时,代表1天的开始}
6.5 HOUR
----取得该周期最后一笔资料的小时数(0~23),
例如: 30分钟线,该K线数的时间是15:31~16:00,则该K线上的HOUR值会显示16
6.6 MINUTE
----取得该周期最后一笔资料的分钟数(0~60),
例如: 15分钟线,该K线数的时间是15:16~15:30,则该K线上的MINUTE值会显示30
6.7 TIME----取得该周期最后一笔资料的时分秒,
例如: 15分钟线,该K线数的时间是15:31~15:45,则该K线上的TIME值会显示154500
[小技巧]
在1分钟周期,设K线数的时间是15:12,若该软件未提供开盘分钟数函数时,则该K 线的已开盘分钟数为:
将该K线的离0:00的分钟数-开盘离0:00的分钟数-中场休息的分钟数
=(15*60 12) – (9*60 30) – (60 30) = (912)-(570)-(90)=252(分)
用公式写法则为--早上的开盘分钟数
( HOUR*60 MINUTE)-570
下午的开盘分钟数
( HOUR*60 MINUTE)-570-90
补充:整个公式写法如下:
已开盘分钟数:if(hour<12,(HOUR*60 MINUTE)-570,( HOUR*60 MINUTE)-660);{if的写法,以后会提到}
四. 【常用的周期数的定义及算法】
周期数常让人团团转,不过若将周期数的基本定义弄清楚了,就不用再怕它了.
周期数分为间隔K线数及总K线数,一般若不特别指示,指的是间隔天数,但最好要用时确认一下比较好,
周期函数最常用的是BARSLAST函数,其余周期函数大部分都可由此函数推出,
只不过比较繁复,有现成的最好,但平常不用背起来,只要要用的时候,
按[插入函数]查一查有没有其他现成的函数可供应用即可.
间隔天数不知大家有没有概念,简言之,就日线而言,今天跟昨天的间隔K线数是1,今天跟前天的间隔K线数是2,
总K线数就是包含前后2根K线
4.1
符合条件后的总K线数即包含前后2根K线,可用间隔K线数 1即可,
4.2
以上的BARSLAST很重要,请大家务必了解透彻
五.【常用的引用函数】
引用函数可帮助我们取得我们所需的非当周期k线的数据,
5.1
例如: 日线上,
ref(c,2);
特别注意:{以下1. 2.通用于通达信以外的软件,即通达信不适用}
1.
2.
5.2 sum(数据,总周期数)----加总”总周期数”内的”数据”
例如: 在日线上
sum(c,5)---- 代表5天内的”每天的收盘”的总合
注意:数字若为0则代表自数据的第一天开始加总,分笔周期代表自开盘开始加总
,
sum(c, BARSLAST(CLOSE>OPEN) 1)---- 代表自上一次”收盘大于开盘(收红) ”至今的收盘总合
5.3 count(条件,总周期数)----加总”总周期数”内”符合条件的次数”
例如: 在日线上
count(close
count(closeOPEN) 1)---- 代表自上一次”收盘大于开盘(收红) ”至今的收黑次数
注:飞狐count可用sum代替,但为免与其他软件混淆,建议不用为好
六.【常用时间函数】
我们常用到的时间函数包含有下列几个,我试着说详细点:
6.1
[应用1]
注:可用于分钟周期
6.2 YEAR---取得该周期最后一笔资料的年(此处不减1900),(显示从1970开始的年)
例如: 今天是2010/03/05,则今天的K线上的YEAR值会显示2010
[应用]
[小技巧]
6.3
例如: 今天是2010/03/05,则今天的K线上的MONTH值会显示3
[应用]
[小技巧]
1. 若在日线以下周期
2. K1:=BARSLAST(MONTH <>REF(MONTH,1)); 表示该月初至今的间隔k线数,所以
REF(H,K1) 表示当月第1天的最高价
SUM(VOL, K1 1) 表示当月总成交量(月初至今的成交量加总), 注意:K1须加1
6.4
例如: 今天是2010/03/05,则今天的K线上的DAY值会显示5
[应用]
[小技巧]
6.5
例如: 30分钟线,该K线数的时间是15:31~16:00,则该K线上的HOUR值会显示16
6.6
例如: 15分钟线,该K线数的时间是15:16~15:30,则该K线上的MINUTE值会显示30
6.7
例如: 15分钟线,该K线数的时间是15:31~15:45,则该K线上的TIME值会显示154500
[小技巧]
在1分钟周期,设K线数的时间是15:12,若该软件未提供开盘分钟数函数时,则该K 线的已开盘分钟数为:
将该K线的离0:00的分钟数-开盘离0:00的分钟数-中场休息的分钟数
=(15*60 12) – (9*60 30) – (60 30) = (912)-(570)-(90)=252(分)
用公式写法则为--早上的开盘分钟数
补充:整个公式写法如下:
已开盘分钟数:if(hour<12,(HOUR*60 MINUTE)-570,( HOUR*60 MINUTE)-660);{if的写法,以后会提到}

加载中…