金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 123|回复: 5

问题请教

[复制链接]

2

主题

5

帖子

5

积分

Rank: 1

等级: 新手上路

注册:
2025-6-19
曾用名:
发表于 2025-7-1 21:18 | 显示全部楼层 |阅读模式
问题1:我是直接点的登录,然后用申请的模拟账号做的回测,用Python写的代码已编译,并没有提示任何错误了,但是这样是不是还是做不了回测?是因为模拟账号的原因还是说因为没有申请金字塔系统的标准版或者专业版的原因?



并且我用Python范例里面的做测试也是没有回测数据,为什么?


做出来的回测如下图,没有任何数据


这是测试界面设置


问题2:
比如我做棕榈油15分钟周期,数据应该下载几分钟级别的?


问题3:
策略不能运行?因为点了启动策略之后一直没有任何提示



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号? 微信登录

x
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-7-2 08:49 | 显示全部楼层
这种大概率是没有数据,如果自己懂python会调试的话可以代码里输出下条件看下
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

5

帖子

5

积分

Rank: 1

等级: 新手上路

注册:
2025-6-19
曾用名:
 楼主| 发表于 2025-7-2 20:49 | 显示全部楼层
技术008 发表于 2025-7-2 08:49
这种大概率是没有数据,如果自己懂python会调试的话可以代码里输出下条件看下

以下是订阅数据的代码,麻烦帮忙看下有什么问题吗?

# ================ 获取K线数据 ================
    # 使用history_bars函数获取K线数据,兼容回测环境
    # 增加请求的K线数量,确保有足够数据计算均线
    min_bars_required = max(context.ma_periods) + 10
   
    # 使用更安全的数据获取方式
    try:
        data = history_bars(context.symbol, min_bars_required, context.period, ['open', 'high', 'low', 'close'], include_now=True)
    except Exception as e:
        print(f"获取K线数据失败: {e}")
        return
   
    # 检查数据是否有效
    if data is None or 'close' not in data or len(data['close']) < min_bars_required:
        return
   
    # 提取开盘价、最高价、最低价、收盘价
    try:
        closes = data['close']
        opens = data['open']
        highs = data['high']
        lows = data['low']
        
        # 获取当前K线和前一根K线的值(使用负索引避免索引问题)
        current_close = closes[-1]
        current_open = opens[-1]
        current_high = highs[-1]
        current_low = lows[-1]
        
        prev_close = closes[-2]
        prev_open = opens[-2]
        prev_high = highs[-2]
        prev_low = lows[-2]
    except (IndexError, KeyError) as e:
        print(f"访问K线数据出错: {e}")
        return
   
    # ================ 计算均线 ================
    ma_values = []
    for period in context.ma_periods:
        # 确保有足够数据计算均线
        if len(closes) >= period:
            # 计算最近period根K线的收盘价均值
            # 使用切片确保数据范围有效
            start_idx = max(0, len(closes) - period)
            period_closes = closes[start_idx:]
            ma = np.mean(period_closes)
            ma_values.append(ma)
   
    if len(ma_values) < len(context.ma_periods):
        return
   
    max_ma = max(ma_values)
    min_ma = min(ma_values)
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-7-3 09:14 | 显示全部楼层
自己代码里加print调试输出下条件分析下
写python不懂调试时肯定不行的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

2

主题

5

帖子

5

积分

Rank: 1

等级: 新手上路

注册:
2025-6-19
曾用名:
 楼主| 发表于 2025-7-3 21:42 | 显示全部楼层
请问怎么调试?
我上面提出的问题做回测什么数据都没有,所以我怀疑是不是调用数据有问题,麻烦帮忙详解看一下
回复

使用道具 举报

44

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2025-7-4 09:15 | 显示全部楼层
就是对开平部分的条件进行print看下为何条件没有满足
这个基本代码调试能力写python的不可能没有把
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-5 04:01 , Processed in 0.091458 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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