VeighNa量化社区
你的开源社区量化交易平台
xiaohe's Avatar
Member
离线
4300 帖子
声望: 268

请问在主界面订阅了所需合约的行情了吗?

可以把屏幕分辨率改成1920x1080+缩放比例改成100%试试看。

这个每个接口应该都不同了,具体可以去自己需要的接口测试一下看看交易所能提供多长时间的数据了。

可以的。会有。如果害怕环境混乱的话,可以卸载掉别的python再进行安装。

可参考此帖试试

  1. 是有rqdata账户吗?
  2. 上海证券交易所在rqdata好像是XSHG
  1. 回测的trading==True在backtesting.py的run_backtesting函数里。而实盘的是engine.py里,是你在图形界面鼠标点击启动策略激活的。
  2. 实盘没有历史数据也可以运行,只是on_bar里写了if not self.am.inited: return 才没有发出交易信号。

和图形界面上找到的合约名称对比一下吧,是不是没有加交易所后缀呀

代码在vnpy.app下,图形界面勾选DataManager就好了

  1. 所以你的输出语句是什么呢?
  2. 想知道开盘时有没有接近对应品种的数据可以print试试看
  1. 不是的,你可以自己去print,on_bar一开始传数据am就在初始化了,而且大多数策略都是写了if not self.am.inited: return,这样am不初始化完是不能发出交易信号的;
  2. load_bar只是对self.Trading做了限制,完成后self.Trading才会变为True,才发的出单

我附上的安装包也下不下来吗?

试试看这样行不行

engine = init_cli_trading([CtpGateway])
engine.connect_gateway(ctp_setting, "CTP")

sleep(10)

vt_symbols = ["zn2011.SHFE"]
engine.subscribe(vt_symbols)

for vt_symbol in vt_symbols:
    contract = engine.get_contract(vt_symbol)
    msg = f"合约信息,{contract}"
    engine.write_log(msg)

# 持续运行,使用strategy_active来判断是否要退出程序
engine.strategy_active = True
while engine.strategy_active:
    # 轮询获取行情
    for vt_symbol in vt_symbols:
        tick = engine.get_tick(vt_symbol, use_df=True)
        msg = f"最新行情, {tick}"
        engine.write_log(msg)

    # 等待3秒进入下一轮
    sleep(3)

description
还是先检查一下自己的数据吧,这是我在系统自带multi_timeframe策略里on_5min_bar函数中print出来的

这个交易状态是用self.Trading=True还是什么别的条件判断的呢?

能上截图看一下吗?

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

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