vn.py官网
开源量化社区
Member
avatar
加入于:
帖子: 15
声望: 0

vnpy社区新人,一个弱弱的问题。
课程和demo中展示的,很多都是tick或bar生成时驱动交易信号的判断和触发。请问直接用系统时间驱动,是否可行?

简单使用时间驱动,如在某个特定时点(有可能是在开盘前,所以没有quotes中的时间戳,不能用tick驱动)提前下单,等待成交。

这样虽然在后向测试中可能会出问题,但实盘交易时可以更方便。

为了减少尝试成本,请了解的大神告知,谢谢!

Member
avatar
加入于:
帖子: 2364
声望: 148

不清楚具体策略逻辑了,可以自己用虚拟账户试试看

Member
avatar
加入于:
帖子: 15
声望: 0

参照tick驱动,注册了 self.event_engine.register(EVENT_TIME,self.process_systime_event) # test
在仿照以下程序时,遇到问题:
def process_tick_event(self, event: Event):
""""""
tick = event.data

    strategies = self.symbol_strategy_map[tick.vt_symbol]
    if not strategies:
        return

    self.check_stop_order(tick)

    for strategy in strategies:
        if strategy.inited:
            self.call_strategy_func(strategy, strategy.on_tick, tick)

tick驱动时,传进来的数据有vt_symbol,可据此判断所有strategies中执行。 但时间事件中,无合约,怎么让它在所有策略中执行呢

def process_systime_event(self, event: Event):
""""""
systime = event.data

    strategies = self.symbol_strategy_map[tick.vt_symbol]   ?????
    if not strategies:
        return

    for strategy in strategies:
        if strategy.inited:
            self.call_strategy_func(strategy, strategy.on_time, tick)
© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号