金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 50|回复: 7

python里print出来的结果在哪里看呢

[复制链接]

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2025-6-3
曾用名:
发表于 2025-6-3 23:22 | 显示全部楼层 |阅读模式
刚使用python试图编个简单的代码。但是报错,自己试图debug,但是找不到terminal窗口来看print的内容。想求助老鸟看看,金字塔里python编程在哪看print的内容,如何debug?
我自己写的代码如下:
import numpy as np

def init(context):
    # cash_limit的属性是根据用户需求自己定义的,你可以定义无限多种自己随后需要的属性
    context.cash_limit = 5000   

def handle_bar(context):
    now_date=context.now
    bar_len=3
    previous_date=get_previous_trading_date(now_date,bar_len)
    print(now_date)
    print(previous_date)
    bar_min=history_bars_date('SZ000001', previous_date, now_date, '1d', 'low')
    bar_max=history_bars_date('SZ000001', previous_date, now_date, '1d', 'high')
    if bar_min[1] == np.min(bar_min):
        buy_open("SZ000001", "Market", 0 , 100,serial_id = 1)
    if bar_max[1] == np.max(bar_max):
        sell_close("SZ000001", "Market", 0 , 100,serial_id = 2)

def before_trading(context):
    #获取平安银行EPS财务字段数据
    dataval = fin_indicator('SZ000001', 'EPS', 1, 0, 0)
    #将查询到的财务数据保存到context对象中
    context.eps = dataval

def order_status(context, order):
    #判断柜台回报信息,是否为全部成交。
    if order.status=='filled':
        print('全部成交')



点击回测,点击开始测试后,报错为:
执行Python脚本时遇到执行错误。类型:IndexError行:15描述: index 1 is out of bounds for axis 0 with size 1是否打开代码编辑窗口?

回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-6-4 08:43 | 显示全部楼层
没获取到数据,对空列表操作索引导致的报错。
先去工具-数据管理 这里进行数据下载。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2025-6-3
曾用名:
 楼主| 发表于 2025-6-4 23:24 | 显示全部楼层
技术009 发表于 2025-6-4 08:43
没获取到数据,对空列表操作索引导致的报错。
先去工具-数据管理 这里进行数据下载。

感谢回复!!!是 工具-数据管理-数据管理器吗? 这个我打开后点确定,没反应
如果是 工具-数据补充,我是如图补充的,补完以后还是会报这个错
数据管理器.png
工具-数据管理.png
工具-数据补充.png
回复

使用道具 举报

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2025-6-3
曾用名:
 楼主| 发表于 2025-6-4 23:26 | 显示全部楼层
技术009 发表于 2025-6-4 08:43
没获取到数据,对空列表操作索引导致的报错。
先去工具-数据管理 这里进行数据下载。

这是我的回测设置
回测设置.png
回复

使用道具 举报

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2025-6-3
曾用名:
 楼主| 发表于 2025-6-4 23:28 | 显示全部楼层
技术009 发表于 2025-6-4 08:43
没获取到数据,对空列表操作索引导致的报错。
先去工具-数据管理 这里进行数据下载。

我是游客登陆的免费版,这个有关系吗
回复

使用道具 举报

21

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2025-6-5 08:57 | 显示全部楼层
你要确保你补充到了数据。你一次性补25年的日线,你未必能补充到。

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

使用道具 举报

1

主题

7

帖子

7

积分

Rank: 1

等级: 新手上路

注册:
2025-6-3
曾用名:
 楼主| 发表于 2025-6-6 08:04 | 显示全部楼层
技术009 发表于 2025-6-5 08:57
你要确保你补充到了数据。你一次性补25年的日线,你未必能补充到。

建议补充时候看下提示信息。

这次我补的时间比较短,回测的也短,但还是会报同样的错。麻烦再帮我看看,谢谢
回测时长.png
补充2.png
补充1.png
回复

使用道具 举报

37

主题

9972

帖子

6万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
wenarm
发表于 2025-6-6 08:47 | 显示全部楼层
你这个问题是因为回测时段是严格限制的。在回测中一根k位置get_previous_trading_date,无法取值到时段之外的交易日数据。
此时只有一个有效数据。造成 bar_min[1]的取值越界报错。

    previous_date=get_previous_trading_date(now_date,bar_len)
    bar_min=history_bars_date('SZ000001', previous_date, now_date, '1d', 'low')
    if bar_min[1] == np.min(bar_min):
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-7 04:24 , Processed in 0.178439 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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