金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
楼主: 100021030

python逻辑相关问题

[复制链接]

7

主题

100

帖子

100

积分

Rank: 2

等级: 标准版

注册:
2024-11-26
曾用名:
 楼主| 发表于 2025-1-7 11:29 | 显示全部楼层
我在回测过程中碰到这样一个问题,回测11月1日-11月30日交易。
本意是想取大盘当天每个两分钟数据。每天都只取当天开盘,到当天实时得数据
    now_morning_opentime = '20'+context.now.strftime("%y%m%d")+'093000'
    sz_1m = history_bars_date('sh000001',now_morning_opentime, context.now, '2m', 'datetime', True, True, True)
    print(now_morning_opentime)
    print(context.now)
    print(len(sz_1m))
用上面代码写完了后测试发现,测到第二天还会取第一天数据
now_morning_opentime代码打出来没问题,第二天是第二天时间
但是长度不对,一直在增加
求教如何调整
截图202501071129236811.png
截图202501071129474260.png
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-1-7 14:23 | 显示全部楼层
history_bars_date 在回测里就是这样的。

回测里如果要只获取当前交易日的数据,需要从history_bars_date获取的结果中进行截取才行。

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

7

主题

100

帖子

100

积分

Rank: 2

等级: 标准版

注册:
2024-11-26
曾用名:
 楼主| 发表于 2025-1-7 14:46 | 显示全部楼层
如果跑测试实盘,是不是就没回测这个问题了,按照我前面那么写就行
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-1-7 15:38 | 显示全部楼层
实盘没有这个问题。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

7

主题

100

帖子

100

积分

Rank: 2

等级: 标准版

注册:
2024-11-26
曾用名:
 楼主| 发表于 2025-1-10 10:09 | 显示全部楼层
使用商品回测
print(context.now.strftime("%y/%m/%d/%H%M%S"))  
打印出来,都是金字塔设定的时间
10:07:39 > 24/11/01/010300
10:07:40 > 24/11/01/010600
10:07:40 > 24/11/01/010900
10:07:40 > 24/11/01/011200
10:07:40 > 24/11/01/011500
10:07:40 > 24/11/01/011800
10:07:40 > 24/11/01/012100
有什么办法直接打印出来交易时间吗,
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-1-10 10:13 | 显示全部楼层
context.now就是金字塔的数据。

当前实际时间 你只能用 py内置的time模块去输出了。


import time

# 格式化成2016-03-20 11:45:39形式
print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

7

主题

100

帖子

100

积分

Rank: 2

等级: 标准版

注册:
2024-11-26
曾用名:
 楼主| 发表于 2025-1-13 14:06 | 显示全部楼层
使用回测中,使用下面代码取交易数据。
如果开始时间周一或者周二,只能取出来116条,
如果开始时间是周三、周四、周五,才刚好是160条
    bars_2m = history_bars(item,160, '3m', ['open', 'close', 'volume', 'open_interest'], True, True,True)
    print(len(bars_2m))   
这是为啥啊
回复

使用道具 举报

7

主题

100

帖子

100

积分

Rank: 2

等级: 标准版

注册:
2024-11-26
曾用名:
 楼主| 发表于 2025-1-13 14:48 | 显示全部楼层
而且取30s数据,偏差会更大,特别奇葩,
回复

使用道具 举报

37

主题

9878

帖子

5万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2025-1-13 15:10 | 显示全部楼层
你用的应该是北京时区。可以换成金字塔时区后再使用。后面会考虑完善下北京时区下的交易日判定
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-1-13 15:16 | 显示全部楼层
本帖最后由 技术009 于 2025-1-13 15:26 编辑

你看下你的时区是金字塔时区还是北京时区。如果是北京时区,那要切换到金字塔时区看下。

要么就是单独纯数据,手工打开K线图拉下数据再试下。

这是我本地测试的,3分钟的也测试了,都在正常:
截图202501131514512649.png

金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-5-15 08:31 , Processed in 0.135903 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表