金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3482|回复: 7

请问下 执行国债隔夜委托时失败,提示以下这段话如何解决?

[复制链接]

60

主题

275

帖子

275

积分

Rank: 4

等级: 专业版

注册:
2021-10-19
曾用名:
发表于 2025-6-24 14:36 | 显示全部楼层 |阅读模式
请问下 执行国债隔夜委托时失败,提示以下这段话如何解决?
8ef07f33eae01adbbba32acf243304d.png
3148efcada156dbc16a515ef63dc396.png
812646a1f6cf523d9c40c010ad04754.png
回复

使用道具 举报

2

主题

6366

帖子

6366

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-6-24 14:43 | 显示全部楼层
你这个是本地时间有偏差吧。 导致在实际非交易时间报单了。

回复

使用道具 举报

60

主题

275

帖子

275

积分

Rank: 4

等级: 专业版

注册:
2021-10-19
曾用名:
 楼主| 发表于 2025-6-24 14:51 | 显示全部楼层
那怎么解决呢?用金字塔时间还是?
回复

使用道具 举报

2

主题

6366

帖子

6366

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-6-24 14:53 | 显示全部楼层
你这个是实盘还是模拟?
回复

使用道具 举报

60

主题

275

帖子

275

积分

Rank: 4

等级: 专业版

注册:
2021-10-19
曾用名:
 楼主| 发表于 2025-6-24 15:57 | 显示全部楼层
资深技术05 发表于 2025-6-24 14:53
你这个是实盘还是模拟?

目前模拟,准备做实盘
回复

使用道具 举报

2

主题

6366

帖子

6366

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2025-6-24 17:03 | 显示全部楼层
那你这个应该是模拟柜台时间缘故,模拟柜台时间可能会和实际行情时间 略有偏差的。等于是它柜台还没启动。你可以稍迟点启动程序就行了。比如延迟个几秒钟。
回复

使用道具 举报

60

主题

275

帖子

275

积分

Rank: 4

等级: 专业版

注册:
2021-10-19
曾用名:
 楼主| 发表于 2026-3-26 10:04 | 显示全部楼层
资深技术05 发表于 2025-6-24 17:03
那你这个应该是模拟柜台时间缘故,模拟柜台时间可能会和实际行情时间 略有偏差的。等于是它柜台还没启动。 ...

我想要延迟5秒钟后发出防止时间偏差导致的委托失败,我求助AI这样写对吗?编译可以通过,但是不知道是不是对的
import time
from datetime import datetime, timedelta

# 执行下单,并清空历史的未成交单记录        
def place_order(context):
    # 获取当前时间
    current_time = datetime.now()
   
    # 检查是否已经开盘
    if not hasattr(context, 'market_opened_time'):
        # 获取开盘时间(假设是9:30开盘)
        market_open_time = current_time.replace(hour=9, minute=30, second=0, microsecond=0)
        context.market_opened_time = market_open_time
   
    # 计算开盘后5秒的时间点
    order_execution_time = context.market_opened_time + timedelta(seconds=5)
   
    # 如果当前时间还没到开盘后5秒,则跳过执行
    if current_time < order_execution_time:
        return
   
    with open(file_name, "r") as file:
        for line in file:
            if not line.strip():
                continue
            book_id, side, position_effect, price, unfilled_quantity = line.split()
            point = round(get_dynainf(book_id, 208), 7)  # Point是最小变动价位的小数位
            if int(point) > 0:
                point = 0
            else:
                point = len(str(point).split(".")[1])
               
            function_name = side + "_" + position_effect
            # 从全局环境中直接获取到具体的函数
            function_object = getattr(sys.modules[__name__], function_name)
            try:
                function_object(book_id, "Limit",
                              price=np.around(float(price), decimals=point+1),
                              volume=int(unfilled_quantity))
            except Exception as ex:
                raise
回复

使用道具 举报

2

主题

6366

帖子

6366

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2026-3-26 10:19 | 显示全部楼层
可以。这种实际跑下,看下第一次handbar执行时间就知道是否有效。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-3 00:21 , Processed in 0.160257 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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