金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2917|回复: 11

这个为什么报错?

[复制链接]

3976

主题

4045

帖子

4070

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2023-3-3 09:05 | 显示全部楼层 |阅读模式
请教:这个为什么报错?
截图202303030905366408.png
截图202303030905318757.png
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-3-3 14:30 | 显示全部楼层
单独这行代码应该是不会导致你这个报错的。建议提供更多的问题细节以及具体运行的代码。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2023-3-3
曾用名:
发表于 2023-3-3 16:00 | 显示全部楼层
完整代码在下面,请查看

def init(context):
    # 在context中保存全局变量
    context.s1 = context.run_info.base_book_id

    print(f'context.universe:{context.universe}')
    print(f'context.s1:{context.s1}')

    print("策略启动")  # 调试打印输出

    # 设置计时器
    settimer(volume_check, 10000)

def volume_check(context):
    print('enter volume_check')
    BUY_VOL = 22
    SELL_VOL = 23
    # 获得监控的所有品种的内外盘信息
    cur_time = time.asctime(time.localtime(time.time()))
    for symbol in context.universe:
        buy_vol = get_dynainf(symbol, BUY_VOL)
        print(cur_time, symbol, 'buy_vol', buy_vol)
        sell_vol = get_dynainf(symbol, SELL_VOL)
        print(cur_time, symbol, 'sell_vol', sell_vol)
    print('exit volume_check')
回复

使用道具 举报

0

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2023-3-3
曾用名:
发表于 2023-3-3 16:01 | 显示全部楼层
技术009 发表于 2023-3-3 14:30
单独这行代码应该是不会导致你这个报错的。建议提供更多的问题细节以及具体运行的代码。

代码已经贴了,请帮忙查看一下,谢谢
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-3-3 16:56 | 显示全部楼层
是在什么品种上触发的这个报错?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

19

主题

1万

帖子

1万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
FireScript
发表于 2023-3-3 17:10 | 显示全部楼层
就目前你贴的代码部分,我本地测试了下是没有报错的。是否还有其他在运行的代码?另外你的合约池是期货品种还是股票?
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2023-3-3
曾用名:
发表于 2023-3-3 20:14 | 显示全部楼层
技术009 发表于 2023-3-3 17:10
就目前你贴的代码部分,我本地测试了下是没有报错的。是否还有其他在运行的代码?另外你的合约池是期货品种 ...

1 没有别的代码
2. 是期货
3.品种是豆一连续和豆二连续
回复

使用道具 举报

0

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2023-3-3
曾用名:
发表于 2023-3-3 21:44 | 显示全部楼层
技术009 发表于 2023-3-3 16:56
是在什么品种上触发的这个报错?

直接用官网的示例
a = get_dynainf('SQRB00',22)
print(cur_time,a)

也不行

会不会跟账户权限有关系?
回复

使用道具 举报

30

主题

7075

帖子

7085

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2023-3-6 10:13 | 显示全部楼层
你这个cur_time是什么呢
建议把出错代码发下
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

0

主题

10

帖子

10

积分

Rank: 1

等级: 新手上路

注册:
2023-3-3
曾用名:
发表于 2023-3-6 10:31 | 显示全部楼层
# -*- coding: utf-8 -*- #

# -------------------------------------------------------------------------------
# @File    : money_boy.py
# @Author  :
# @Time    : 2023/3/1 19:52
# @Desc    :
# -------------------------------------------------------------------------------

# 本Python代码主要用于策略交易
# 可以自己import我们平台支持的第三方python模块,比如pandas、numpy等。
import time

from PythonApi import *
import datetime


#  参数定义区,这里定义的参数可以直接在context对象中获取。--(选择实现)
# def parameter():
#    input_par("myvalues1",5,1,20,1)
#    input_par("myvalues2",10,1,20,1)


#  在这个方法中编写任何的初始化逻辑。context对象将会在你的算法策略的任何方法之间做传递。--(必须实现)
def init(context):
    # 在context中保存全局变量
    context.s1 = context.run_info.base_book_id

    print(f'context.universe:{context.universe}')
    print(f'context.s1:{context.s1}')

    print("策略启动")  # 调试打印输出

    # 设置计时器
    settimer(volume_check, 10000)


def volume_check(context):   
    cur_time = time.asctime(time.localtime(time.time()))
    a = get_dynainf('SQRB00',22)
    print(cur_time,a)
   
   
# before_trading此函数会在每天基准合约的策略交易开始前被调用,当天只会被调用一次。--(选择实现)
def before_trading(context):
    pass


# 你选择的品种的数据更新将会触发此段逻辑,例如日或分钟历史数据切片或者是实时数据切片更新。--(必须实现)
def handle_bar(context):
    # 开始编写你的主要的算法逻辑。

    # 使用buy_open、sell_close等方法下单
    # 下单示例:
    # buy_open(context.s1, "Market", volume = 100)    #  市价开多
    # buy_open(context.s1, "Limit", 25.45, 100)       #  限价开多
    pass


# after_trading函数会在每天交易结束后被调用,当天只会被调用一次。 --(选择实现)
def after_trading(context):
    pass

# order_status当委托下单,成交,撤单等与下单有关的动作时,该方法就会被调用。---(选择实现)
# def order_status(context,order):
#    pass

# order_action当查询交易接口信息时返回的通知---(选择实现)
# def order_action(context,type, account, datas)
#       pass

# exit函数会在测评结束或者停止策略运行时会被调用。---(选择实现)
# def exit(context):
#    pass
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-16 19:42 , Processed in 0.294741 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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