VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 7
声望: 0

使用脚本获取tick数据为什么只能获取几分钟的呢?之后就没有了,是什么地方出错了吗

from vnpy.app.data_recorder.engine import RecorderEngine
from vnpy.app.script_trader import init_cli_trading
from vnpy.gateway.ctp import CtpGateway
from vnpy.event import Event, EventEngine
from vnpy.trader.engine import BaseEngine, MainEngine
from threading import Thread
from queue import Queue, Empty
from copy import copy
from vnpy.trader.object import (
    SubscribeRequest,
    TickData,
    BarData,
    ContractData
)
from vnpy.trader.event import EVENT_TICK, EVENT_CONTRACT
from vnpy.trader.utility import load_json, save_json, BarGenerator
from vnpy.trader.database import database_manager
import time
import json
# 事件引擎
event_engine=EventEngine()
# 主要引擎
main_engine=MainEngine(event_engine)
# 添加引擎
main_engine.init_engines()
#加载ctp接口
main_engine.add_gateway(CtpGateway)
# 连接CTP
setting = {
    "用户名": "xxx",
    "密码": "xxx",
    "经纪商代码": "9999",
    "交易服务器":"180.168.146.187:10101",
    "行情服务器":"180.168.146.187:10111",
    "产品名称":"simnow_client_test",
    "授权编码":"0000000000000000",
    "产品信息": ""
}
main_engine.connect(setting,'CTP')
APP_NAME = "DataRecorder"

EVENT_RECORDER_LOG = "eRecorderLog"
EVENT_RECORDER_UPDATE = "eRecorderUpdate"
time.sleep(3)
contract_list=main_engine.get_all_contracts()
print(contract_list[1])
for contract in contract_list:
    req = SubscribeRequest(
            symbol=contract.symbol,
            exchange=contract.exchange
        )
    main_engine.subscribe(req, contract.gateway_name)
recorder=RecorderEngine(main_engine,event_engine)
while True:
    now_time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
    time.sleep(1)
    if now_time[-2:]=='00':
        print(now_time)

在20分之后,明显也还在运行着这个脚本,但是,就是不在获取数据了,好奇怪。哪位大神知道为什么吗?求指点

description

description

Administrator
avatar
加入于:
帖子: 4502
声望: 321

DataRecorder请使用独立的Python进程模式运行,不要用Jupyter中的ipython模式

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】