欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 关于时间的合法性

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3382人关注过本帖树形打印复制链接

主题:关于时间的合法性

帅哥哟,离线,有人找我吗?
wukong_32
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:88 积分:150 威望:0 精华:0 注册:2013/5/15 11:29:34
关于时间的合法性  发帖心情 Post By: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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2015/6/4 9:56:55 [只看该作者]

这个主要是你盘后又重新连接行情服务器导致的,重连后会重新初始化报价上的时间

 回到顶部
帅哥哟,离线,有人找我吗?
wukong_32
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:88 积分:150 威望:0 精华:0 注册:2013/5/15 11:29:34
  发帖心情 Post By:2015/6/4 13:40:03 [只看该作者]

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

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
admin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2015/6/4 14:38:40 [只看该作者]

使用MARKET对象,里面有相对应的市场时间的配置设置

 回到顶部
帅哥哟,离线,有人找我吗?
wukong_32
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:88 积分:150 威望:0 精华:0 注册:2013/5/15 11:29:34
  发帖心情 Post By:2015/6/5 13:14:54 [只看该作者]

不好意思,我是新手;

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

 

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

 

谢谢!


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2015/6/5 13:25:13 [只看该作者]

不清楚你的描述,以及不清楚你的需求


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
wukong_32
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:88 积分:150 威望:0 精华:0 注册:2013/5/15 11:29:34
  发帖心情 Post By: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编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2015/6/6 19:54:42 [只看该作者]

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

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



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
wukong_32
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:88 积分:150 威望:0 精华:0 注册:2013/5/15 11:29:34
  发帖心情 Post By:2015/6/7 19:33:35 [只看该作者]

好的,谢谢哈!

 


 回到顶部