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

试试看,谢谢了

嗯,导入以后,怎么使用,有没有参考的链接学习一下?
需要改写代码吧?

如题,因为有长期订购的其他数据来源,所以没必要使用米筐数据
订购了CTA课程,学习中发现回测等,都是基于米筐数据,那么,从其他地方来的数据,应该怎样使用,也即如果不加载米筐数据服务的话,怎么样实盘策略和回测呢?
有没有相关教程?

对的,谢谢!

看第五行,应该是函数的表达方式吧

没人能点拨一二吗?

在class MainEngine:中有如下函数,但是无论是当前文件还是import里都找不到engine_class()
pycharm显示也是画了红线的,但为什么实际上可行呢?这个函数在哪里呢?
如果说是指向了传过来的实例对象中的函数,那么好像也要表示成engine_class . engine_class()这类格式吧?
水平菜,琢磨了多日,也查不出所以然,恳请大神教导,谢谢


> def add_engine(self, engin_class: Any) -> "BaseEngine":
>         """
>         Add function engine.
>         """
>         engine = engine_class(self, self.event_engine)
>         self.engines[engine.engine_name] = engine
>         return engine

还是不要改原有的文件,以扩展的思路,做新的文件和上层应用,来完成功能,应该比这种思路要好吧?
一种是内置的改,一直是外挂的方式,我选择外挂解决
这种做法,容易搞乱,同时,不便于维护
个人意见,仅供参考

可能是api版本不对,期货公司说,需要V6.5.1

用Python的交易员 wrote:

这么尝试下:

  1. 移除全部应用模块
  2. 移除全部接口,只保留CTP接口
  3. 订阅IF2105的行情,交易所选CFFEX,接口选CTP
  4. 如果还是不行应该就是期货公司问题了

按您说的做了,还是不行。
请教一下,为什么说就一定是期货公司的问题呢?

没有办法了吗?哭死

换了一台从来没有装过VNPY,python等一切编程有关软件的电脑,采用一键安装的方式,安装了vnstation,结果还是一样的,正常登录,但是就是没有行情,也不报错。看来不是个例啊

(base) D:\vnpy-master>python run.py
2021-04-28 22:56:24,023 INFO: 交易服务器连接成功
2021-04-28 22:56:24,414 INFO: 交易服务器授权验证成功
2021-04-28 22:56:24,445 INFO: 交易服务器登录成功
2021-04-28 22:56:24,571 INFO: 结算信息确认成功
2021-04-28 22:56:28,698 INFO: 合约信息查询成功

没有信息了,实际上输入了ni2105 没有反应,也没有报错

run.py 打开,print放到最前面去了,还是没有任何反应,cmd没有打印出东西来,write_log日志也没有输出任何东西

  写在函数最后了,依然没有任何反应

另外,这个print的东西是应该打印显示在哪里呢?
感觉上这个def 没有被触发,否则,9楼那些if之后的write_log,不应该一个也不出现在日志里吧
。。。。。。
self.write_log(tick.bid_price_2)

        #f2.close()
    print("data,", data)
    self.gateway.on_tick(tick)

页面和昨天的截图完全相同,就不另外截屏了,求帮助

试了一下,日志输出没有任何动静

改的码是,加了self.write_log(322)#输出当前行,主要看程序有没有走到这里,另外在数据方面最后加了,self.write_log(tick.bid_price_2)
但是没有,任何输出
def onRtnDepthMarketData(self, data: dict):
"""
Callback of tick data update.
"""

    # Filter data update with no timestamp
    if not data["UpdateTime"]:
        self.write_log(322)
        return

    symbol = data["InstrumentID"]
    exchange = symbol_exchange_map.get(symbol, "")
    if not exchange:
        self.write_log(328)
        return

    timestamp = f"{self.current_date} {data['UpdateTime']}.{int(data['UpdateMillisec']/100)}"
    dt = datetime.strptime(timestamp, "%Y%m%d %H:%M:%S.%f")
    dt = CHINA_TZ.localize(dt)

    tick = TickData(
        symbol=symbol,
        exchange=exchange,
        datetime=dt,
        name=symbol_name_map[symbol],
        volume=data["Volume"],
        open_interest=data["OpenInterest"],
        last_price=adjust_price(data["LastPrice"]),
        limit_up=data["UpperLimitPrice"],
        limit_down=data["LowerLimitPrice"],
        open_price=adjust_price(data["OpenPrice"]),
        high_price=adjust_price(data["HighestPrice"]),
        low_price=adjust_price(data["LowestPrice"]),
        pre_close=adjust_price(data["PreClosePrice"]),
        bid_price_1=adjust_price(data["BidPrice1"]),
        ask_price_1=adjust_price(data["AskPrice1"]),
        bid_volume_1=data["BidVolume1"],
        ask_volume_1=data["AskVolume1"],
        gateway_name=self.gateway_name
    )

    if data["BidVolume2"] or data["AskVolume2"]:
        self.write_log(357)
        tick.bid_price_2 = adjust_price(data["BidPrice2"])
        tick.bid_price_3 = adjust_price(data["BidPrice3"])
        tick.bid_price_4 = adjust_price(data["BidPrice4"])
        tick.bid_price_5 = adjust_price(data["BidPrice5"])

        tick.ask_price_2 = adjust_price(data["AskPrice2"])
        tick.ask_price_3 = adjust_price(data["AskPrice3"])
        tick.ask_price_4 = adjust_price(data["AskPrice4"])
        tick.ask_price_5 = adjust_price(data["AskPrice5"])

        tick.bid_volume_2 = data["BidVolume2"]
        tick.bid_volume_3 = data["BidVolume3"]
        tick.bid_volume_4 = data["BidVolume4"]
        tick.bid_volume_5 = data["BidVolume5"]

        tick.ask_volume_2 = data["AskVolume2"]
        tick.ask_volume_3 = data["AskVolume3"]
        tick.ask_volume_4 = data["AskVolume4"]
        tick.ask_volume_5 = data["AskVolume5"]

        self.write_log(tick.bid_price_2)


    self.gateway.on_tick(tick)

知道了,往日志里写东西,有范例吗?框架内容还不是很熟悉,比较菜鸟。现在简单的在ctp_gateway里的onRtnDepthMarketData下生成一个文件,然后每个if 后面都往文件里写东西,等夜盘来看一下了

是实盘,谢谢

为什么,订阅行情没有反应呢?窗口里没有内容
description

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

沪公网安备 31011502017034号

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