def __push_bar_open_event(self, symbol, bar_type): e_type = EVENT_BAR_OPEN % (symbol, bar_type) e = Event(type_=e_type) e.dict_ = {'symbol': symbol, 'bar_type': bar_type} self.event_engine.put(e) self.logger.info('💙 💙 💙 pushing bar_open_event__%s__%s__, bar is %s' % (symbol, bar_type, self.bar[symbol][bar_type]))
def writeCtaLog(self, content): """快速发出CTA模块日志事件""" log = VtLogData() log.logContent = content log.gatewayName = 'CTA_STRATEGY' event = Event(type_=EVENT_CTA_LOG) event.dict_['data'] = log self.eventEngine.put(event)
def __push_signal_event(self): e = Event(type_=EVENT_SIGNAL) e.dict_ = { 'identifier': self.identifier, 'symbol': self.symbol, 'target_position': self.target_position } self.event_engine.put(e) print( '🎲 🎲 🎲 🎲 pushing signal event 🎲 🎲 🎲 🎲 strategy target_position is %s' % self.target_position)
def putStrategyEvent(self, name): """触发策略状态变化事件(通常用于通知GUI更新)""" strategy = self.strategyDict[name] d = {k: strategy.__getattribute__(k) for k in strategy.varList} event = Event(EVENT_CTA_STRATEGY + name) event.dict_['data'] = d self.eventEngine.put(event) d2 = {k: str(v) for k, v in d.items()} d2['name'] = name event2 = Event(EVENT_CTA_STRATEGY) event2.dict_['data'] = d2 self.eventEngine.put(event2)
def __push_target_position_event(self): e = Event(type_=EVENT_TARGET_POSITION) e.dict_ = self.target_position self.event_engine.put(e) print('🌈 🌈 🌈 push target_position_event 🌈 🌈 🌈 %s' % e)
def __push_orderbook_event(self, symbol): e = Event(type_=EVENT_ORDERBOOK % symbol) e.dict_ = {'symbol': symbol} self.event_engine.put(e)
def __push_tick_event(self, symbol): e = Event(type_=EVENT_TICK % symbol) e.dict_ = {'symbol': symbol} self.event_engine.put(e)