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

通过这样的方式可以拿到所有委托数据:

orders = main_engine.get_all_orders()

想在no_ui中获取到所有委托数据orders,但是具体不知道引入那些包? 具体如何才能拿到委托数据?方便具体指导一下吗?万分感激万分感激万分感激万分感激

老师您好,把所有OMS业务数据(非行情)例如成交、委托订单转入到数据库database,然后通过database_manager实现查询历史成交、历史委托,利用保存的成交订单与借鉴vnpy已有的回测分析生成一个实盘交易绩效分析报表,不然仅仅通过log分析成交绩效会非常繁琐,vnpy_portfoliomanager又无法对外盘或者历史实盘成交订单进行绩效分析,您的这个功能好实用好实在啊,可以在GitHub中开一个分支下载不? 或者开一个帖子详细讲讲具体怎么实现的嘛,把好东西大家一起分享,把温暖传递下去

description

老师您好,我现使用的也是vnpy2.6版本,按照您的提示操作了,如图所示,CTA回测页面显示完全跟您的一致,但是就是没有结果输出,您说的调用tradeResultDict = self.calculateBacktestingResult(),然后修改statistics这个DICT成你想要的输出,可以把您的backtesting的calculate_statistics代码分享一下吗?我的CTA回测没显示,应该就是这段代码没弄好,小白一个,望回复,万分感激

description

运行no_ui时,使用sleep阻塞主线程,更重要是因为如果其中有一个CTA初始化失败报错,那么主线程就不会进入下一步,卡在while循环了,或者如果CTA策略需要从数据源实时下载数据延迟,或者CTA策略有上百个时候,还没有等全部初始话完成,就启动了也会报错,望指导。

description

description

如上图所示,vnpy2.6版本重新安装后无委托号、来源、代码显示,有什么办法解决吗?

xiaohe wrote:

ranjianlin wrote:

description

如图所示,30分钟周期,实盘中因网络断开原因导致CTA策略委托状态一直处于“提交中”,有办法网络恢复后,重新发送之前一直处于状态“提交中”的委托订单吗?而不必等待下一个30分钟k线推送过来后重新发送新的委托订单

这个要明确一下提交中是委托已经发到tws只是因为网络断开没收到后续委托更新还是ib_gateway发出委托,tws没有收到就断开了

经排查,发现是ib_gateway发出委托,tws没有收到就断开了,然后一直状态显示提交中

MTF wrote:

这个状态是网络丢包了,用的是CTP接口吗?
使用的是盈透api,有什么办法解决这个问题吗?

description

如图所示,30分钟周期,实盘中因网络断开原因导致CTA策略委托状态一直处于“提交中”,有办法网络恢复后,重新发送之前一直处于状态“提交中”的委托订单吗?而不必等待下一个30分钟k线推送过来后重新发送新的委托订单

老师好,咨询一下,如何在关闭软件时,自动保存vnpy主界面mainwindow中委托订单的数据到csv,复盘参照log感觉不太直观,望指导一下,水平不高,感谢。

MTF wrote:

策略引擎只能维护当前进程中策略发出的委托编号映射关系,重启后关系就丢失了,因此cancel_all也无法撤单(cancel_all是指撤销策略自己发出的全部委托)

老师您好,针对这种情况,有办法通过策略来取消重启之前发出的委托吗?望指点一下,万分感激

如下图所示,vnpy3.5和vnpy2.6重启后,在on_bar下面的self.cancel_all()无法撤销vnpy在重启之前发往盈透的停止单,但是在主界面委托窗口,还是可以通过双击撤销之前发到盈透的停止单,这是什么原因导致的呢?有什么办法解决呢?

description

帖子https://www.vnpy.com/forum/topic/7891-ctace-lue-ke-cheng-zhong-yu-2-6-0ban-ben-bu-yi-zhi-de-di-fang?page=1#pid28997

课时8-K线的自定义合成
问题:
2.6.0版本对部分源代码进行了重构,其中就包括了该课程中的BarGenerator,所以课程具体的源代码与课程中展示的不完全一致。

解决方案:
2.6.0版本对BarGenerator进行了重构,对于update_tick函数做了一些改进,同时对于update_bar函数更新分钟数据和小时数据的逻辑分离成了两个独立的函数,分别为update_bar_minute_window函数和update_bar_hour_window函数,虽然与课程中展示的不完全一致,但是功能都是一致的。因此如果大家想要按照课程中所展示的代码自定义一个可以生成类似7分钟这种分钟数据,应该对update_bar_minute_window函数进行复制后再做修改。可以尝试修改如下:

def update_bar_minute_window(self, bar: BarData) -> None:
""""""

    # If not inited, create window bar object
    if not self.window_bar:
        dt = bar.datetime.replace(second=0, microsecond=0)
        self.window_bar = BarData(
            symbol=bar.symbol,
            exchange=bar.exchange,
            datetime=dt,
            gateway_name=bar.gateway_name,
            open_price=bar.open_price,
            high_price=bar.high_price,
            low_price=bar.low_price
        )
    # Otherwise, update high/low price into window bar
    else:
        self.window_bar.high_price = max(
            self.window_bar.high_price,
            bar.high_price
        )
        self.window_bar.low_price = min(
            self.window_bar.low_price,
            bar.low_price
        )

    # Update close price/volume/turnover into window bar
    self.window_bar.close_price = bar.close_price
    self.window_bar.volume += bar.volume
    self.window_bar.turnover += bar.turnover
    self.window_bar.open_interest = bar.open_interest

    # Check if window bar completed
    if self.window_bar.datetime.minute != bar.datetime.minute:
        self.interval_count += 1
        if not (bar.datetime.minute + 1) % self.window:
            self.on_window_bar(self.window_bar)
            self.window_bar = None
            self.interval_count = 0



description

使用vnpy3.5版本,发现《CTA策略》课程中与2.6.0版本的代码自定义k线合成45分钟k线有误,如上图所示,自定义45分钟,第一根为45分钟的k线,后面的就变成了每个小时的45分钟,第一根为45分钟的k线,第二根不是应该30分钟时出现吗?

MTF wrote:

具体是哪个海龟策略的代码啊?

vnpy3.5版本自带的海龟策略示例

咨询一下vnpy3.5版本的海龟策略怎么优化那么慢呢?其他策略一般3个小时左右就优化完了,这个自带的海龟策略很少几个参数优化了一天一夜?

vnpy发出stop停止单到盈透服务端后,重启了vnpy,如何才能获取到之前发出的停止单是否已经成交?如果未成交如何取消之前发出的停止单?

self.cancel_all()能取消掉已经发到盈透服务端的停止单吗?如果不能取消,怎么操作才可以取消掉已经发往盈透服务端的停止单呢?

MTF wrote:

底层用的接口库有所变化,看你这里的日志信息,在【本地缓存合约信息加载成功】这条输出前,就调用了加载历史数据的逻辑,可能这个是出错的原因

打开VeighNa Station,连接盈透IB接口,进入CTA策略,点击初始化,然后就会出现这个报错,每次点击初始化后,都会有这个报错,提示IB TWS连接断开,然后又自动重新连接IB TWS连接成功,之前的vnpy2.1版本不会有这种报错的,官方可以排查一下吗?万分感激

经过反复测试,vnpy3.5版本的ib_gateway,每次在策略初始化时都会显示IB TWS连接断开,老师帮忙排查一下这个版本的ib_gateway报错的原因哈,万分感激,接口的稳定性比任何其他功能都重要。

之前vnpy2.1的时候一直正常,策略初始化后不会有图片的报错,现在升级vnpy3.5版本后,每次连接成功,策略初始化完成后,就会返回如下图的报错,望修复一下此BUG

description

xiaohe wrote:

应该是load_bar_data的时候内存爆了

如何解决好了?这是64核CPU,128GB内存的电脑,不至于啊,以前单进程遗传除了慢,也很少见报错

description

description

description
VNPY3.5版本遗传算法多进程优化,总是报错,使用的是阿里云的服务器,有什么好的解决办法吗

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

沪公网安备 31011502017034号

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