675 浏览
0

while True:
    api.wait_update()
     # 将时间转换为当天的时间,只保留时分秒信息
    quote_time = datetime.datetime.strptime(quote.datetime, "%Y-%m-%d %H:%M:%S.%f").time()
       # 判断当前时间是否在可交易时间段内
    def is_within_trading_time(quote_time, trading_time):
        # 判断是否在白天交易时间段内
        for period in trading_time['day']:
            start_time = datetime.datetime.strptime(period[0], "%H:%M:%S").time()
            end_time = datetime.datetime.strptime(period[1], "%H:%M:%S").time()
            quote_time = datetime.datetime.strptime(quote.datetime, "%Y-%m-%d %H:%M:%S.%f").time()
            if start_time <= quote_time <= end_time:
                return True
         # 判断是否在夜间交易时间段内
        for period in trading_time['night']:
            start_time = datetime.datetime.strptime(period[0], "%H:%M:%S").time()
            end_time = datetime.datetime.strptime(period[1], "%H:%M:%S").time()
            quote_time = datetime.datetime.strptime(quote.datetime, "%Y-%m-%d %H:%M:%S.%f").time()
            if start_time <= quote_time <= end_time:
                return True
         return False
      # 判断 quote_time 是否在交易时间段内
    if is_within_trading_time(quote_time, trading_time):
        # 以下是策略主体代码

这是我的代码,每次都是在夜盘开始前,程序显示:

2024-07-31 20:15:01 – WARNING – 通知 980290: 与 ws://101.226.247.90:37480/trade 的网络连接断开,请检查客户端及网络是否正常
2024-07-31 20:15:01 – WARNING – 通知 980290: 开始与 ws://101.226.247.90:37480/trade 的重新建立网络连接
2024-07-31 20:15:02 – WARNING – 通知 980290: 与 ws://101.226.247.90:37480/trade 的网络连接断开,请检查客户端及网络是否正常
2024-07-31 20:15:21 – WARNING – 通知 980290: 开始与 ws://101.226.247.90:37480/trade 的重新建立网络连接
2024-07-31 20:15:25 – INFO – 通知 980290: 登录成功
2024-07-31 20:15:25 – INFO – 通知 980290: 已经连接到交易前置
2024-07-31 20:15:25 – WARNING – 通知 980290: 与 ws://101.226.247.90:37480/trade 的网络连接已恢复

然后程序就没反应了,请教一下这是什么原因。

许 公子 已回答的问题 2024年8月13日
0

我在模拟盘时,15:05过后电脑设置自动睡眠,20:50后人工唤醒,模拟盘得以跨交易日继续。

许 公子 已回答的问题 2024年8月13日
0

首先我们会建议每天跨交易日重启一次,期货公司有时候也会盘后重启或者关闭交易服务器的

李思恒 已回答的问题 2024年8月2日