加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

指标公式教学(二)

(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的写法,以后会提到}

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有