以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  高级功能研发区  (http://222.73.7.161/bbs/list.asp?boardid=5)
----  关于时间的合法性  (http://222.73.7.161/bbs/dispbbs.asp?boardid=5&id=79362)

--  作者:wukong_32
--  发布时间:2015/6/4 0:38:38
--  关于时间的合法性

之前在收盘时后,使用如下语句,都能得出当前时间是“151500”;

但是在某些时候,收盘时候,显示出时间是:“152900”;

昨天(20150603)就是这种情况,请问,为何会出现"152900"的时间?

右键“数据”中,数据都正常的;

谢谢!

 

代码如下:

(将金字塔时间转换成yyyymmdd hhmmss)

 

 

SET market_time_now=marketdata.GetReportData("IF00","ZJ")


v_market_date_now=DatePart("yyyy",market_time_now.date)&String(2 - Len(DatePart("m",market_time_now.date)), "0") & DatePart("m",market_time_now.date)&String(2 - Len(DatePart("d",market_time_now.date)), "0") & DatePart("d",market_time_now.date)


v_market_hour_min_now=String(2 - Len(DatePart("h",market_time_now.date)), "0")&DatePart("h",market_time_now.date)&String(2 - Len(DatePart("n",market_time_now.date)), "0") & DatePart("n",market_time_now.date)&"00"
    


--  作者:admin
--  发布时间:2015/6/4 9:56:55
--  
这个主要是你盘后又重新连接行情服务器导致的,重连后会重新初始化报价上的时间
--  作者:wukong_32
--  发布时间:2015/6/4 13:40:03
--  

重新初始化,为啥要重启一个152900这么一个很奇怪的数字?

而且这个时间并不是if00应该有的时间。

另外,请问如何才能确保收盘的k线时间是151500,因为我有一个循环,如果时间非法的话,会有问题。谢谢!


--  作者:admin
--  发布时间:2015/6/4 14:38:40
--  
使用MARKET对象,里面有相对应的市场时间的配置设置
--  作者:wukong_32
--  发布时间:2015/6/5 13:14:54
--  

不好意思,我是新手;

是否是让我使用Market对象中的,openseconds秒数来计算当前的实际交易时间?

 

另外,我在“交易时间设置”全局里面,看到开盘时间和收盘时间和IF的实际时间是一致的,没有问题;

 

谢谢!


--  作者:王锋
--  发布时间:2015/6/5 13:25:13
--  
不清楚你的描述,以及不清楚你的需求
--  作者:wukong_32
--  发布时间:2015/6/5 13:38:00
--  

王总,我重新叙述一下:

 

1、需求:想要获取IF市场当前的交易时间;比如,在9:15:21时,获取091500(不要后面秒); 收盘后,就显示最后的时间151500;

2、之前的做法,使用marketdata.GetReportData,代码如下:

SET market_time_now=marketdata.GetReportData("IF00","ZJ")


v_market_hour_min_now=String(2 - Len(DatePart("h",market_time_now.date)), "0")&DatePart("h",market_time_now.date)&String(2 - Len(DatePart("n",market_time_now.date)), "0") & DatePart("n",market_time_now.date)&"00"

3、问题是:某些交易日,收盘后,或者次日开盘前,上述代码得到的v_market_hour_min_now:是"152900"

 

谢谢啦!

[此贴子已经被作者于2015/6/5 13:38:40编辑过]

--  作者:王锋
--  发布时间:2015/6/6 19:54:42
--  

Set MarketInfo = marketdata.GetMarketInfo("AG","SY") \'取上期夜盘市场市场信息

你可以试试 MarketInfo.TimeSectStart(0) 和 MarketInfo.TimeSectEnd(TimeSectCount-1) 这2个函数,将你取到的交易时段时间做一下过滤,大于和小于开盘收盘时间的进行整理


--  作者:wukong_32
--  发布时间:2015/6/7 19:33:35
--  

好的,谢谢哈!