Exception in thread Thread-1 (_run):
Traceback (most recent call last):
File "C:\veighna_studio\lib\threading.py", line 1016, in _bootstrap_inner
self.run()
File "C:\veighna_studio\lib\threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "C:\veighna_studio\lib\site-packages\vnpy\event\engine.py", line 60, in _run
self._process(event)
File "C:\veighna_studio\lib\site-packages\vnpy\event\engine.py", line 73, in _process
[handler(event) for handler in self._handlers[event.type]]
File "C:\veighna_studio\lib\site-packages\vnpy\event\engine.py", line 73, in <listcomp>
[handler(event) for handler in self._handlers[event.type]]
File "C:\Users\Master.vntrader\Run\recordAll.py", line 493, in process_tick_event
bg.update_tick(copy(tick))
File "C:\veighna_studio\lib\site-packages\vnpy\trader\utility.py", line 241, in update_tick
self.on_bar(self.bar)
File "C:\veighna_studio\lib\site-packages\vnpy_datarecorder\engine.py", line 303, in record_bar
self.bars[bar.vt_symbol].append(bar)
AttributeError: 'BarData' object has no attribute 'vt_symbol'. Did you mean: 'symbol'?
其中recordAll.py中继承了RecorderEngine并重写了process_tick_event
def process_tick_event(self, event: Event) -> None:
""""""
tick: TickData = event.data
if tick.vt_symbol in self.bar_recordings:
bg: Optional[BarGenerator] = self.bar_generators.get(tick.vt_symbol, None)
if not bg:
bg = BarGenerator(self.record_bar)
self.bar_generators[tick.vt_symbol] = bg
bg.update_tick(copy(tick))
感觉class BarData中的post_init没有触发,为什么会这样呢?