在EA编程中,日期时间函数主要用于处理与时间相关的数据。这些函数以1970年1月1日午夜为起点,按秒计算时间值。
下面介绍常用的日期时间函数及其用法。
Day
DayOfWeek
DayOfYear
Hour
Minute
Month
Seconds
TimeCurrent
TimeDay
TimeDayOfWeek
TimeDayOfYear
TimeHour
TimeLocal
TimeMinute
TimeMonth
TimeSeconds
TimeYear
Year
int Day( )
该函数返回当前月份的日期数字,依据的是最后一次访问服务器的时间。在测试环境中,时间格式为最后设定的服务器模式。
示例:
if(Day()<5) return(0);
int DayOfWeek( )
该函数返回当前星期的数字索引,其中0代表星期天,1代表星期一,依此类推。该值基于最后已知的服务器时间。在测试中,时间格式为最后设置的服务器模式。
示例:
// 假期不工作
if(DayOfWeek()==0 || DayOfWeek()==6) return(0);
int DayOfYear( )
该函数返回当前年份中的第几天,例如1代表1月1日,365或366代表12月31日。该值基于最后访问服务器的时间。在测试中,时间格式为最后已知的服务器模式。
示例:
if(DayOfYear()==245)
return(true);
int Hour( )
该函数返回程序启动前那一刻的小时数(0到23),该值来自最后一次访问的服务器时间,且在程序执行期间保持不变。在测试中,时间格式为最后设置的服务器模式。
示例:
bool is_siesta=false;
if(Hour()==12 || Hour()<17)
is_siesta=true;
int Minute( )
该函数返回程序启动前那一刻的分钟数(0到59),该值来自最后一次访问的服务器时间,且在程序执行期间保持不变。
示例:
if(Minute()<=15)
return("first quarter");
int Month( )
该函数返回程序启动前那一刻的月份数(1到12),该值来自最后一次访问的服务器时间,且在程序执行期间保持不变。在测试中,时间格式为最后设定的服务器模式。
示例:
if(Month()<=5)
return("the first half year");
int Seconds( )
该函数返回程序启动前那一刻的秒数(0到59),该值来自最后一次访问的服务器时间,且在程序执行期间保持不变。
示例:
if(Seconds()<=15)
return(0);
datetime TimeCurrent( )
该函数返回最后一次访问的服务器时间,即最新的行情输入时间,以自1970年1月1日00:00以来的秒数表示。在测试中,时间格式为最后设定的服务器模式。
示例:
if(TimeCurrent()-OrderOpenTime()<360) return(0);
int TimeDay( datetime date)
该函数返回指定日期中的日数字(1到31)。
参数:
date - 以自1970年1月1日00:00以来的秒数表示的日期。
示例:
int day=TimeDay(D'2003.12.31');
// 天数为31
int TimeDayOfWeek( datetime date)
该函数返回指定日期对应的星期数字索引,其中0代表星期天,1到6依次代表星期一至星期六。
参数:
date - 以自1970年1月1日00:00以来的秒数表示的日期。
示例:
int weekday=TimeDayOfWeek(D'2004.11.2');
// 数字2 - 星期二
int TimeDayOfYear( datetime date)
该函数返回指定日期在年份中的序号,例如1代表1月1日,365或366代表12月31日。
参数:
date - 以自1970年1月1日00:00以来的秒数表示的日期。
示例:
int day=TimeDayOfYear(TimeCurrent());
int TimeHour( datetime time)
该函数返回指定时间的小时数。
参数:
time - 以自1970年1月1日00:00以来的秒数表示的时间。
示例:
int h=TimeHour(TimeCurrent());
datetime TimeLocal( )
该函数返回当前电脑的本地时间,以自1970年1月1日00:00以来的秒数表示。在测试中,时间格式为最后设定的服务器模式。
示例:
if(TimeLocal()-OrderOpenTime()<360) return(0);
int TimeMinute( datetime time)
该函数返回指定时间的分钟数。
参数:
time - 以自1970年1月1日00:00以来的秒数表示的时间。
示例:
int m=TimeMinute(TimeCurrent());
int TimeMonth( datetime time)
该函数返回指定时间的月份数。
参数:
time - 以自1970年1月1日00:00以来的秒数表示的时间。
示例:
int m=TimeMonth易汇外汇(TimeCurrent());
int TimeSeconds( datetime time)
该函数返回指定时间的秒数。
参数:
time - 以自1970年1月1日00:00以来的秒数表示的时间。
示例:
int m=TimeSeconds(TimeCurrent());
int TimeYear( datetime time)
该函数返回指定时间的年份,返回值范围在1970到2037之间。
参数:
time - 以自1970年1月1日00:00以来的秒数表示的时间。
示例:
int y=TimeYear(TimeCurrent());
int Year( )
该函数返回当前年份,即服务器时间中的年数字。在测试中,时间格式为最后设定的服务器模式。
示例:
// 如果时间范围在2006年1月到4月30日之间,返回。
if(Year()==2006 && Month()<5)
return(0);
资深外汇分析师
由多名资深外汇分析师组成的专业团队,拥有平均15年以上的市场分析经验,擅长技术分析和基本面分析相结合的交易策略。