时间函数
 
 
BARPOS 取K线的位置
MONTH 取月份
CLOSEMINUTE 距收盘前时间 NEXTDELIVERYDAY 最近交割日期函数
DATE 取得某周期的日期数 NOW_TIME 取本地时间
DAY 取得某周期的日数 PERIOD 自动读取当前技术图表周期
HOUR 小时 TIME 取K线的时间
LONG_TIME 模组最后一次多头成交的时间 WEEKDAY 取得星期数
SHORT_TIME 模组最后一次空头成交的时间 YEAR 年份
MINUTE 分钟  
 
 

 
 
BARPOS
取K线的位置
返回从第一根K线开始到当前的周期数。
注:
1:BARPOS返回本地已有的K线根数,从本机上存在的数据开始算起。
2:本机已有的第一根K线上返回值为1。
例1:LLV(L,BARPOS);//求本地已有数据的最小值。
例2:IFELSE(BARPOS=1,H,0);//如果当前K线是本机已有的第一根K线取最高值,否则取0。
CLOSEMINUTE
距收盘前时间
返回距离收盘前的分钟数。
注:
1:该函数返回分钟数,不支持小数。
2:该函数包含小结和午休的时间,以商品期货为例,当天第一根K线CLOSEMINUTE返回为360。
3:CLOSEMINUTE适合应用于日线以下的周期,在日线上加载此函数,每根K线的返回值都为1。
4:CLOSEMINUTE返回的是交易所的时间,不是本机的时间。
5:CLOSEMINUTE支持上海夜盘使用,例如:沪金指数1分钟21:00开盘当根K线CLOSEMINUTE返回为1080.距离收盘的时间仍然以15:00为基准计算(即使中间遇到正常的周六周日休息,仍然返回值为1080,不计算周六周日的时间)
例1:
CLOSEMINUTE<=1,CLOSEOUT;//收盘前一分钟,清仓。
例2:
NN:BARSLAST(CLOSEMINUTE=120)+1;
OO:VALUEWHEN(DATE<>REF(DATE,1),O);
AA:COUNT(H>OO,NN)=3;//统计从下午13:00开始,相对于当天的开盘价OO,创新高的次数为3次。
CDATE
取得某周期的日期数
返回某周期的日期数。
注:
1:DATE的取值范围为700101-331231(即1970年1月1日—2033年12月31日)。
2:DATE返回六位数字,YYMMDD,
3:DATE支持上海夜盘的使用,例如:2013年7月8日 21:00夜盘开盘,DATE返回值即为130709,返回的为收盘时对应的日期 ,即数据所属的交易的日期(周五周六晚上的数据返回的日期为下周一的日期)
例1:
BARSLAST(DATE<>REF(DATE,1))+1;//当天开盘以来共有多少根K线。
例2:
AA:DATE=130507&&TIME=1037;
HH:VALUEWHEN(AA=1,H);// 取201305071037分钟位置,同时取201305071037分钟k线位置最高价
DAY
取得某周期的日数
返回某一周期的日数。
注:
DAY取值范围为1-31。
例1:
DAY=3&&TIME=0915,BK;//当日起为3日,时间为9点15分时,买开。
例2:
N:BARSLAST(DATE<>REF(DATE,1))+1;
CC:IFELSE(DAY=1,VALUEWHEN(N=1,O),0);//当日期为1时,取开盘价,否则取值为0.
HOUR
小时
返回某周期的小时数。
注:
HOUR的取值范围为0—23
例1:
DRAWTRENDLINE(HOUR=9,H,HOUR=15,H,COLORGREEN);//连接9点到下午3点的最高点画一条绿色的趋势线。
例2:
HOUR=10;//在10:00的K线上返回值为1,其余K线上返回值为0。
LONG_TIME
模组最后一次多头成交的时间
取模组最后一次多头成交的时间。
注:
1:返回的为本机时间。
2:该函数不支持效果测试,只能用于模组运行。
3:LONG_TIME返回的数值为六位数,即HHMMSS的形式。
例:
LONG_TIME>110000;//表示最后一次买开成交时间在11点之后
SHORT_TIME
模组最后一次空头成交的时间
取模组最后一次空头成交的时间。
注:
1:返回的为本机时间。
2:该函数不支持效果测试,只能用于模组运行。
3:SHORT_TIME返回的数值为六位数,即HHMMSS的形式。
例:
SHORT_TIME>110000;//表示最后一次空头成交时间在11点之后
MINUTE
分钟
返回某个周期的分钟数。
注:
1:MINUTE的取值范围为0—59
2:该函数只能加载在分钟周期上,返回当根K线开始的分钟数。
例1:
MINUTE=0;//在整点时刻的分钟K线上返回值为1,其余K线返回这为0。
例2:
TIME>1400&&MINUTE=50,SP;//在14:50的时候卖平仓。
MONTH
取月份
取得当前周期的月数(1-12)。
NEXTDELIVERYDAY
最近交割日期函数
返回当前品种往后最近的交割日期。
注:
1:该函数只能加载在日周期及日周期以下的周期上,在日周期以上的周期该函数返回值为0.
2:该函数应加载在可交易合约上,在夜盘仿真合约上返回值为0,在主力合约上把主力切换时间默认为交割时间来进行计算。
例1:
当NEXTDELIVERYDAY加载在沪铜1309上时,返回值为130923.
例2:
DATE=NEXTDELIVERYDAY&&CLOSEMINUTE=5,CLOSEOUT;//距交割日收盘前五分钟时清仓。
NOW_TIME 取本地时间 取本地时间。
注:
1:返回的是本机时间。
2:该函数不支持效果测试,只能用于模组运行。
3:NOW_TIME函数返回六位数,即HHMMSS的形式。
例:
NOW_TIME>=150815,CLOSEOUT;//本机时间大于15点8分15秒,清仓。
PERIOD
自动读取当前技术图表周期
返回当前技术分析图表的周期。
注:
1:该函数暂不支持自定义周期。
2:该函数在秒周期上返回值为0.
3:返回数字为1—11分别表示,1分钟,3分钟,5分钟,10分钟,15分钟,30分钟,1小时,1天,1周,1月,1年。
例:
N:=BARSLAST(DATE<>REF(DATE,1))+1;
OO:VALUEWHEN(N=1,O);
IFELSE(PERIOD=1,OO,NULL);//取当天一分钟周期的开盘价。
TIME
取K线的时间
取K线时间。
注:
1:该函数在盘中实时返回,在K线走完后返回K线的起始时间。
2:该函数返回的是交易所数据接收时间,也就是交易所时间。
3:TIME函数在秒周期使用时返回六位数的形式,即:HHMMSS,在其他周期上显示为四位数的形式,即:HHMM.
4:TIME函数只能加载在日周期以下的周期中,在日周期及日周期以上的周期中该函数返回值始终未1500。
5:使用TIME函数进行尾盘平仓的操作需要注意
(1)尾盘平仓设置的时间建议设置为K线返回值中实际可以取到的时间(如:螺纹指数 5分钟周期 最后一根K线返回时间为1455,如果尾盘平仓设置为TIME>=1458,CLOSEOUT;则效果测试中不能出现尾盘平仓的信号)
(2)使用TIME函数作为尾盘平仓的条件的,建议开仓条件也要做相应的时间限制(如设置尾盘平仓条件为TIME>=1458,CLOSEOUT;则相应的开仓条件中需要添加条件TIME<1458;避免平仓后再次开仓的情况)
例1:
C>O&&TIME<1450,BK;
C<O&&TIME<1450,SK;
TIME>=1450,SP;
TIME>=1450,BP;
AUTOFILTER;
//在14:50后平仓。
例2:
ISLASTSK=0&&C>O&&TIME>=0915,SK;
WEEKDAY
取得星期数
取得星期数。
注:
1:WEEKDAY的取值范围是0—6。
2:该函数在周周期上显示的值始终为5,在月周期上返回K线结束当天的星期数。
例1:
N:=BARSLAST(MONTH<>REF(MONTH,1))+1;
COUNT(WEEKDAY=5,N)=3&&TIME>=1450,BP;
COUNT(WEEKDAY=5,N)=3&&TIME>=1450,SP;
AUTOFILTER;//每个月交割日尾盘自动平仓。
例2:
C>VALUEWHEN(WEEKDAY<REF(WEEKDAY,1),O)+10,BK;
AUTOFILTER;
YEAR
年份
取得年份。
注:
YEAR的取值范围为1970—2033。
例1:
N:=BARSLAST(YEAR<>REF(YEAR,1))+1;
HH:=REF(HHV(H,N),N);
LL:=REF(LLV(L,N),N);
OO:=REF(VALUEWHEN(N=1,O),N);
CC:=REF(C,N);//取上一年的最高价,最低价,开盘价,收盘价。
例2:
NN:=IFELSE(YEAR>=2000 AND MONTH>=1,0,1);