以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  为什么用history_bars_date取不到夜盘的数据啊?  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=172130)

--  作者:nagar
--  发布时间:2019/9/20 22:11:57
--  为什么用history_bars_date取不到夜盘的数据啊?

为什么用history_bars_date取不到夜盘的数据啊??? 白天都正常的。现在只能得到白天的数据。
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20190920220707.png
图片点击可在新窗口打开查看

代码:
    dt1 = datetime.now()
    context.zeropoint_time = datetime.strptime(\'20190823211500\',\'%Y%m%d%H%M%S\')
    stardate = context.zeropoint_time - timedelta(days = 1)
    enddate = dt1 + timedelta(days = 1)
    myrec=history_bars_date(context.s1,stardate,enddate,context.run_info.frequency,fields=[\'datetime\',\'open\',\'close\'],include_now=True)  
    print(\'end date is %s\',enddate)
    rec_count = len(myrec)
    print(\'recorders len is %d\',rec_count)
    dt1,pr1,pr2 = myrec[rec_count-2][0], myrec[rec_count-2][1],myrec[rec_count-2][2]
    print("pre datetime is %d, open is %f close is %f.",dt1,pr1,pr2)
    dt1,pr1,pr2 = myrec[rec_count-1][0],  myrec[rec_count-1][1],myrec[rec_count-1][2]
    print("last datetime is %d, open is %f close is %f.",dt1,pr1,pr2)

消息窗口输出是:

22:02:10 > end date is 2019-09-21 22:02:10.007407
22:02:10 > recorders len is 452
22:02:10 > pre datetime is 20190920144500, open is 3389.000000 close is 3385.000000.
22:02:10 > last datetime is 20190920150000, open is 3385.000000 close is 3388.000000.


--  作者:yukizzc
--  发布时间:2019/9/23 10:36:32
--  
金字塔商品期货的时间是+4小时的,周五晚上的夜盘行情是算到23号凌晨一点开始的
你enddate写成21号自然没有取到。这种节假日你+1天是不够的

--  作者:nagar
--  发布时间:2019/9/23 14:56:08
--  
哦,忘了周末加啦,太谢谢啦。