StopOrder(vt_symbol='pp2309.DCE', direction=<Direction.LONG: '多'>, offset=<Offset.CLOSE: '平'>, price=7429.0, volume=1.0, stop_orderid='STOP.1', strategy_name='5', datetime=datetime.datetime(2023, 8, 7, 11, 8, 2, 204781, tzinfo=zoneinfo.ZoneInfo(key='Asia/Shanghai')), lock=False, net=False, vt_orderids=[], status=<StopOrderStatus.WAITING: '等待中'>)
停止单格式如上所示,保存到json时报错如下所示,咨询一下有什么好的方法把停止单保存到字典,开盘后再发出来吗?
Traceback (most recent call last):
File "C:\veighna_studio\lib\site-packages\vnpy_ctastrategy\engine.py", line 887, in stop_all_strategies
self.stop_strategy(strategy_name)
File "C:\veighna_studio\lib\site-packages\vnpy_ctastrategy\engine.py", line 738, in stop_strategy
self.sync_strategy_data(strategy)
File "C:\veighna_studio\lib\site-packages\vnpy_ctastrategy\engine.py", line 842, in sync_strategy_data
save_json(self.data_filename, self.strategy_data)
File "C:\Users\784050800_1623449582\Desktop\vnpy-3.7.0\vnpy\trader\utility.py", line 118, in save_json
json.dump(
File "C:\veighna_studio\lib\json\__init__.py", line 179, in dump
for chunk in iterable:
File "C:\veighna_studio\lib\json\encoder.py", line 431, in _iterencode
yield from _iterencode_dict(o, _current_indent_level)
File "C:\veighna_studio\lib\json\encoder.py", line 405, in _iterencode_dict
yield from chunks
File "C:\veighna_studio\lib\json\encoder.py", line 405, in _iterencode_dict
yield from chunks
File "C:\veighna_studio\lib\json\encoder.py", line 325, in _iterencode_list
yield from chunks
File "C:\veighna_studio\lib\json\encoder.py", line 438, in _iterencode
o = _default(o)
File "C:\veighna_studio\lib\json\encoder.py", line 179, in default
raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type StopOrder is not JSON serializable
if not (bar.datetime.minute + 1) % self.window:
self.on_window_bar(self.window_bar)
self.window_bar = None
vnpy3.7版本使用dolphindb录制1分钟k线数据的报错代码如下所示:
Traceback (most recent call last): File "C:\veighna_studio\lib\site-packages\vnpy_datarecorder\ui\widget.py", line 157, in process_exception_event raise exc_info[1].with_traceback(exc_info[2]) File "C:\veighna_studio\lib\site-packages\vnpy_datarecorder\engine.py", line 117, in run self.database.save_bar_data(data, stream=True) File "C:\veighna_studio\lib\site-packages\vnpy_dolphindb\dolphindb_database.py", line 94, in save_bar_data overview_table = self.session.loadTable(tableName="baroverview", dbPath=self.db_path) File "C:\veighna_studio\lib\site-packages\dolphindb\session.py", line 758, in loadTable return Table(data=tbName, s=self, isMaterialized=True) File "C:\veighna_studio\lib\site-packages\dolphindb\table.py", line 157, in __init__ self._init_schema() File "C:\veighna_studio\lib\site-packages\dolphindb\table.py", line 339, in _init_schema schema = self.__session.run("schema(%s)" % self.__tableName) # type: dict File "C:\veighna_studio\lib\site-packages\dolphindb\session.py", line 453, in run return self.cpp.run(script, *args, **kwargs) RuntimeError: <Exception> in run: Received invalid header: _
1.如下图所示,使用ctp录制数据,盘前7:37这根k线是校验数据吗?我一般是8:45启动客户端,应该这是8:45之后收到的。 2.早盘8:59这个k线是集合竞价产生的1分钟k线吗? 一般集合竞价这根1分钟k线如何处置呢? 是直接抛弃还是合并进9点钟的1分钟k线里面?
如图所示,vnpy3.7使用市价单开仓总是被撤销,使用限价单就可以开仓,郑商所和大商所好像支持市价单,原因是?
C:\Users\Administrator\Desktop\vnpy-3.7.0>python run.py
Traceback (most recent call last):
File "C:\Users\Administrator\Desktop\vnpy-3.7.0\run.py", line 101, in <module>
main()
File "C:\Users\Administrator\Desktop\vnpy-3.7.0\run.py", line 76, in main
main_engine.add_app(CtaStrategyApp)
File "C:\Users\Administrator\Desktop\vnpy-3.7.0\vnpy\trader\engine.py", line 102, in add_app
engine: BaseEngine = self.add_engine(app.engine_class)
File "C:\Users\Administrator\Desktop\vnpy-3.7.0\vnpy\trader\engine.py", line 73, in add_engine
engine: BaseEngine = engine_class(self, self.event_engine)
File "C:\veighna_studio\lib\site-packages\vnpy_ctastrategy\engine.py", line 97, in __init__
self.database: BaseDatabase = get_database()
File "C:\Users\Administrator\Desktop\vnpy-3.7.0\vnpy\trader\database.py", line 158, in get_database
database = module.Database()
File "C:\veighna_studio\lib\site-packages\vnpy_dolphindb\dolphindb_database.py", line 47, in __init__
self.session.run(CREATE_DATABASE_SCRIPT)
File "C:\veighna_studio\lib\site-packages\dolphindb\session.py", line 453, in run
return self.cpp.run(script, *args, **kwargs)
RuntimeError: <Exception> in run: Server response: 'db = database(dataPath, VALUE, 2000.01M .. 2030.12M, , "TSDB") => Usage: database(directory, [partitionType], [partitionScheme], [locations], [engine='OLAP'], [atomic='TRANS']).engine must be 'OLAP'.' script: '
dataPath = "dfs://vnpy"
db = database(dataPath, VALUE, 2000.01M..2030.12M, engine=`TSDB)
vnpy同一品种涨跌幅与文华财经、通达信、博易大师不一样,具体是什么原因造成的呢?