下载MetaTrader 5

新手请教

要添加评论,请登录注册
MetaQuotes ID是什么?从文章中找出 答案!
uino
122
uino 2016.10.19 18:48 
datetime tm=StringToTime("2012.12.05 22:31:57"); 这代码是不是表示从2012年12月5日23时31分57秒至今经过的秒数呢?如果是,她应该是一个整数,应该也是int 定义开头的吧
datetime tm=TimeCurrent();
datetime ltm=tm-3600;
datetime ftm=tm+3600;  这一段ltm表示过去一小时的时间,ftm表示未来一小时的时间,tm应该是时间,时间减去3600和加上3600可以吗?
Changjun Wu
114
Changjun Wu 2016.10.20 15:17  
uino:
时间可以加减,不过要转换成整数型int然后再转换成时间即可
uino
122
uino 2016.10.21 17:14  
Changjun Wu:
时间可以加减,不过要转换成整数型int然后再转换成时间即可

假如要算过去某个给定时间距离现在过去了几秒,怎么写这代码呢?

能不能给一段代码我看看怎么描述呢? 

uino
122
uino 2016.10.21 17:37  
Changjun Wu:
时间可以加减,不过要转换成整数型int然后再转换成时间即可
      //历史单总数
      bool history_deal=HistorySelect(0,TimeCurrent());
      //历史交易单总数
      uint deals_total=HistoryDealsTotal();
      //最后一个交易单的ticket单号
      ulong deal_ticket=HistoryDealGetTicket(0);
      //最后一个交易单的开仓时间
      datetime deal_time=(datetime)HistoryDealGetInteger(deal_ticket,DEAL_TIME);
      //开仓时间转化为“2016.10.21.23:00:00”这种类型格式
      string  sm=TimeToString(deal_time,TIME_DATE|TIME_MINUTES);
      //开仓时间距离现在的秒数
      datetime sm01=StringToTime(sm);
      //秒数转化为long整形数据类型

      long tm=(long)(string)sm01;

 

这个代码能算出过去某个时间距离现在流逝的秒数吗?需要怎样修改 呢?

Changjun Wu
114
Changjun Wu 2016.10.21 18:31  
uino:

假如要算过去某个给定时间距离现在过去了几秒,怎么写这代码呢?

能不能给一段代码我看看怎么描述呢? 

int MyTime(string time)
{
  int time_1=int(StrToTime(time));
  int time_2=int(TimeCurrent());
  return(time_2-time_1);
}
Changjun Wu
114
Changjun Wu 2016.10.21 18:42  
uino:
      //历史单总数
      bool history_deal=HistorySelect(0,TimeCurrent());
      //历史交易单总数
      uint deals_total=HistoryDealsTotal();
      //最后一个交易单的ticket单号
      ulong deal_ticket=HistoryDealGetTicket(0);
      //最后一个交易单的开仓时间
      datetime deal_time=(datetime)HistoryDealGetInteger(deal_ticket,DEAL_TIME);
      //开仓时间转化为“2016.10.21.23:00:00”这种类型格式
      string  sm=TimeToString(deal_time,TIME_DATE|TIME_MINUTES);
      //开仓时间距离现在的秒数
      datetime sm01=StringToTime(sm);
      //秒数转化为long整形数据类型

      long tm=(long)(string)sm01;

 

这个代码能算出过去某个时间距离现在流逝的秒数吗?需要怎样修改 呢?

直接把过去时间写到这个函数里,返回的就是过去到现在流水的时间秒数,格式“2016.10.21.00:00:00”

 

int MyTime(string time)
{
  int time_1=int(StrToTime(time));
  int time_2=int(TimeCurrent());
  return(time_2-time_1);
}

uino
122
uino 2016.10.22 17:06  
Changjun Wu:
int MyTime(string time)
{
  int time_1=int(StrToTime(time));
  int time_2=int(TimeCurrent());
  return(time_2-time_1);
}

int time_1=int(StrToTime(time)); 这一句多了个“StrToTime"

 int time_2=int(TimeCurrent()); 这一句没有,可以相减吗

uino
122
uino 2016.10.22 17:08  
Changjun Wu:

直接把过去时间写到这个函数里,返回的就是过去到现在流水的时间秒数,格式“2016.10.21.00:00:00”

 

int MyTime(string time)
{
  int time_1=int(StrToTime(time));
  int time_2=int(TimeCurrent());
  return(time_2-time_1);
}

将时间转换为数字。加减时间

要将某格式化的日期(字符串)转换为数字(自时间戳记开始起流逝的秒数),则要利用 StringToTime() 函数:

datetime tm=StringToTime("2012.12.05 22:31:57");
//--- output result
Alert((string)(long)tm);

作为上述代码的结果,以秒计算的输出时间将是 "1354746717",与下述日期对应 "2012.12.05 22:31:57"。

上面这一段代码跟说明有什么问题没呢? 是正确的吗?

Changjun Wu
114
Changjun Wu 2016.10.24 09:51  
uino:

将时间转换为数字。加减时间

要将某格式化的日期(字符串)转换为数字(自时间戳记开始起流逝的秒数),则要利用 StringToTime() 函数:

作为上述代码的结果,以秒计算的输出时间将是 "1354746717",与下述日期对应 "2012.12.05 22:31:57"。

上面这一段代码跟说明有什么问题没呢? 是正确的吗?

你上面的结果是错的,试试这个

 int MyTime(string time)

{

  int time_1=int(StrToTime(time));  //StrToTime()去掉不行

  int time_2=int(TimeCurrent());

  return(time_2-time_1);

}

Alert(MyTime("2016.08.12"));  //这个得到的是对应时间到现在的秒数

Changjun Wu
114
Changjun Wu 2016.10.24 09:59  
uino:

将时间转换为数字。加减时间

要将某格式化的日期(字符串)转换为数字(自时间戳记开始起流逝的秒数),则要利用 StringToTime() 函数:

作为上述代码的结果,以秒计算的输出时间将是 "1354746717",与下述日期对应 "2012.12.05 22:31:57"。

上面这一段代码跟说明有什么问题没呢? 是正确的吗?

你这个是 2012.12.05 22:31:57以前进过的秒数
uino
122
uino 2016.10.24 19:04  
Changjun Wu:
你这个是 2012.12.05 22:31:57以前进过的秒数
   int MyTime(string time)
     {
      bool     history_deal=HistorySelect(0,TimeCurrent());
      uint     deals_total=HistoryDealsTotal();
      ulong    deal_ticket=HistoryDealGetTicket(0);
      datetime deal_time=(datetime)HistoryDealGetInteger(deal_ticket,DEAL_TIME);
      int      time_1=int(StringToTime(deal_time));
      int      time_2=int(TimeCurrent());
      int      tm=time_2-time_1;
      return(time_2-time_1);

     }

这个函数是要求最后一个交易单距离现在的秒数,这样写是正确的吗? 

12
要添加评论,请登录注册