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

在CTA策略中,我要在5分钟的bar上引用15分钟的数据,但遇到9:30、45、10:00等时点,需要15分钟也更新完数据在引用,否则引用15分钟数据就是上一根Bar的,但是在回溯程序的回放中发现,程序中发现5分钟都走到9:50了,15分钟9:45那一根Bar才打出来,也就导致9:45分我计算指标时,应用的15分钟的数据是9:30的,请问如何解决这个问题,才能让我在9:45的5分钟bar中引用9:45分的15分钟数据?
time=2015-06-25 09:40:00,op=9991.0,close=9973.0 ,minute=5
time=2015-06-25 09:45:00,op=9975.8,close=9903.2 ,minute=5
time=2015-06-25 09:50:00,op=9905.0,close=9857.8 ,minute=5
time=2015-06-25 09:45:00,close=9841.0 ,minute=15

BarGenerator下的update_bar函数如下,举个例子,我要形成1个小时的bar,以股指期货IC为例,中午是11:29收盘,下午是13:00开盘,形成的60分钟bar,从11:00开始,下一个bar是从14:00开始,中间缺失了13:00这根Bar。

def update_bar(self, bar: BarData):
    """
    Update 1 minute bar into generator
    """
    if not self.xmin_bar:
        self.xmin_bar = BarData(
            symbol=bar.symbol,
            exchange=bar.exchange,
            datetime=bar.datetime,
            gateway_name=bar.gateway_name,
            open_price=bar.open_price,
            high_price=bar.high_price,
            low_price=bar.low_price
        )
    else:
        self.xmin_bar.high_price = max(
            self.xmin_bar.high_price, bar.high_price)
        self.xmin_bar.low_price = min(
            self.xmin_bar.low_price, bar.low_price)

    self.xmin_bar.close_price = bar.close_price
    self.xmin_bar.volume += int(bar.volume)

    if not (bar.datetime.minute + 1) % self.xmin:
        self.xmin_bar.datetime = self.xmin_bar.datetime.replace(
            second=0, microsecond=0
        )
        self.on_xmin_bar(self.xmin_bar)

        self.xmin_bar = None

是否这样修改可以?
。。。
if not (bar.datetime.minute + 1) % self.xmin or bar.datetime.hour != self.xmin_bar.datetiem.hour:
。。。

同标题,登录后,CTP交易连接成功、行情服务器连接成功、交易登录成功、行情服务器登录成功、结算信息确认成功。但就是不显示资金账号信息,也没有持仓信息。提示错过如下:
通过Pro登录没问题,
Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Users\jacky\VNConda\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:\Users\jacky\VNConda\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "C:\Users\jacky\VNConda\lib\site-packages\vnpy\event\engine.py", line 60, in _run
self._process(event)
File "C:\Users\jacky\VNConda\lib\site-packages\vnpy\event\engine.py", line 73, in _process
[handler(event) for handler in self._handlers[event.type]]
File "C:\Users\jacky\VNConda\lib\site-packages\vnpy\event\engine.py", line 73, in <listcomp>
[handler(event) for handler in self._handlers[event.type]]
AttributeError: 'LogMonitor' does not have a signal with the signature signal(PyQt_PyObject)

但通过PRO登录没有该问题,然后点击功能选项中的CTA策略,提示如下错误:
Traceback (most recent call last):
File "C:\Users\jacky\VNConda\lib\site-packages\vnpy\trader\ui\mainwindow.py", line 178, in connect
dialog = self.connect_dialogs.get(gateway_name, None)
AttributeError: 'MainWindow' object has no attribute 'connect_dialogs'

RQDATA连接成功,点击下载数据,开始下载,等了一会出现闪退,然后想继续打开其他任何模块(回撤、策略等),出现“ 'mainwindow' object has no attribute 'widgets' ”错误报告,请帮忙看看是怎么回事,谢谢。

原来的策略买入了1手IC1905,第二天重新启动VNPY进入,点击策初始化、策略启动后,POS显示为0,导致了策略重新开了一手新的仓位。这个怎么处理呢,如果每天都重新启动,岂不是原来的仓位和重新启动的策略之间没有关联? 要是遇到不小新机器重启等情况,感觉悲剧了。有劳老师回答,谢谢!

模拟跑量化程序,策略开的单子,用交易界面无法手动平仓,状态是“拒单”,如何处理呢? 如何才能平仓呀?

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

沪公网安备 31011502017034号

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