xiaohe wrote:
是不是没有等“合约信息查询成功”日志输出就启动组合策略模块,启动策略了?
哦哦是的,谢谢!
郭易燔 wrote:
为什么要手动订阅合约,cta策略运行不需要手动订阅合约的。
谢谢!
运行组合策略模块 在使用文档中有说明:“IB接口因为登录时无法自动获取所有的合约信息,只有在用户手动订阅行情时才能获取。因此需要在主界面上先行手动订阅合约行情,再启动模块。”
就是这个用户手动订阅行情
问题如题,因为策略涉及到所有主力合约,每次手动订阅所有品种的主力合约太繁琐了,请问是否有自动订阅的方式呢?谢谢
郭易燔 wrote:
旧版本PortfolioBarGenerator是没有interval属性的,可以尝试更新最新版的
好的谢谢!
自己写的策略,在组合策略策略模块运行时报错如下,有哪位知道如何解决吗?
wefa: 触发异常已停止
Traceback (most recent call last):
File "D:\vnpy-2.7.0\vnpy\app\portfolio_strategy\engine.py", line 331, in call_strategy_func
func(params)
File "D:\vnpy-2.7.0\vnpy\app\portfolio_strategy\strategies\trend__strategy.py", line 104, in on_tick
self.pbg.update_tick(tick)
File "D:\vnpy-2.7.0\vnpy\app\portfolio_strategy\utility.py", line 31, in update_tick
bar.datetime = bar.datetime.replace(second=0, microsecond=0)
AttributeError: 'tuple' object has no attribute 'datetime'
自己写的策略,在组合策略策略模块运行时报错如下,有哪位知道如何解决吗? 在utility的PortfolioBarGenerator类中的确没有初始化定义self.interval
wefa: 触发异常已停止
Traceback (most recent call last):
File "D:\vnpy-2.7.0\vnpy\app\portfolio_strategy\engine.py", line 331, in call_strategy_func
func(params)
File "D:\vnpy-2.7.0\vnpy\app\portfolio_strategy\strategies\trend__strategy.py", line 104, in on_tick
self.pbg.update_tick(tick)
File "D:\vnpy-2.7.0\vnpy\app\portfolio_strategy\utility.py", line 36, in update_tick
interval=self.interval,
AttributeError: 'PortfolioBarGenerator' object has no attribute 'interval'
有原 wrote:
sikei wrote:
自己写的策略,在CTA策略模块进行初始化时报错如下,有哪位知道如何解决吗
[tesdf1] 触发异常已停止
Traceback (most recent call last):
File "D:\python3.7\lib\site-packages\pandas\core\indexes\base.py", line 2646, in get_loc
return self._engine.get_loc(key)
File "pandas_libs\index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
File "pandas_libs\index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
File "pandas_libs\hashtable_class_helper.pxi", line 998, in pandas._libs.hashtable.Int64HashTable.get_item
File "pandas_libs\hashtable_class_helper.pxi", line 1005, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError: 31During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\python3.7\lib\site-packages\vnpy_ctastrategy\engine.py", line 623, in call_strategy_func
func()
File "D:\python3.7\lib\site-packages\vnpy_ctastrategy\strategies\gen_signal_strategy.py", line 129, in on_init
self.load_bar(1)
File "D:\python3.7\lib\site-packages\vnpy_ctastrategy\template.py", line 306, in load_bar
use_database
File "D:\python3.7\lib\site-packages\vnpy_ctastrategy\engine.py", line 590, in load_bar
callback(bar)
File "D:\python3.7\lib\site-packages\vnpy_ctastrategy\strategies\gen_signal_strategy.py", line 173, in on_bar
self.short(bar.close_price, abs(self.df.loc[self.grid2, 'position']))
File "D:\python3.7\lib\site-packages\pandas\core\indexing.py", line 1762, in getitem
return self._getitem_tuple(key)
File "D:\python3.7\lib\site-packages\pandas\core\indexing.py", line 1272, in _getitem_tuple
return self._getitem_lowerdim(tup)
File "D:\python3.7\lib\site-packages\pandas\core\indexing.py", line 1389, in _getitem_lowerdim
section = self._getitem_axis(key, axis=i)
File "D:\python3.7\lib\site-packages\pandas\core\indexing.py", line 1965, in _getitem_axis
return self._get_label(key, axis=axis)
File "D:\python3.7\lib\site-packages\pandas\core\indexing.py", line 625, in _get_label
return self.obj._xs(label, axis=axis)
File "D:\python3.7\lib\site-packages\pandas\core\generic.py", line 3537, in xs
loc = self.index.get_loc(key)
File "D:\python3.7\lib\site-packages\pandas\core\indexes\base.py", line 2648, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas_libs\index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
File "pandas_libs\index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
File "pandas_libs\hashtable_class_helper.pxi", line 998, in pandas._libs.hashtable.Int64HashTable.get_item
File "pandas_libs\hashtable_class_helper.pxi", line 1005, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError: 31
你是用示例策略跑回测的时候报错的嘛?还有你pandas的版本是什么?
谢谢您的回复,我是自己写的策略,在CTA策略模块跑的实盘;示例策略不会出现上述报错
pandas版本是1.0.3
自己写的策略,在CTA策略模块进行初始化时报错如下,有哪位知道如何解决吗
[tesdf1] 触发异常已停止
Traceback (most recent call last):
File "D:\python3.7\lib\site-packages\pandas\core\indexes\base.py", line 2646, in get_loc
return self._engine.get_loc(key)
File "pandas_libs\index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
File "pandas_libs\index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
File "pandas_libs\hashtable_class_helper.pxi", line 998, in pandas._libs.hashtable.Int64HashTable.get_item
File "pandas_libs\hashtable_class_helper.pxi", line 1005, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError: 31
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\python3.7\lib\site-packages\vnpy_ctastrategy\engine.py", line 623, in call_strategy_func
func()
File "D:\python3.7\lib\site-packages\vnpy_ctastrategy\strategies\gen_signal_strategy.py", line 129, in on_init
self.load_bar(1)
File "D:\python3.7\lib\site-packages\vnpy_ctastrategy\template.py", line 306, in load_bar
use_database
File "D:\python3.7\lib\site-packages\vnpy_ctastrategy\engine.py", line 590, in load_bar
callback(bar)
File "D:\python3.7\lib\site-packages\vnpy_ctastrategy\strategies\gen_signal_strategy.py", line 173, in on_bar
self.short(bar.close_price, abs(self.df.loc[self.grid2, 'position']))
File "D:\python3.7\lib\site-packages\pandas\core\indexing.py", line 1762, in getitem
return self._getitem_tuple(key)
File "D:\python3.7\lib\site-packages\pandas\core\indexing.py", line 1272, in _getitem_tuple
return self._getitem_lowerdim(tup)
File "D:\python3.7\lib\site-packages\pandas\core\indexing.py", line 1389, in _getitem_lowerdim
section = self._getitem_axis(key, axis=i)
File "D:\python3.7\lib\site-packages\pandas\core\indexing.py", line 1965, in _getitem_axis
return self._get_label(key, axis=axis)
File "D:\python3.7\lib\site-packages\pandas\core\indexing.py", line 625, in _get_label
return self.obj._xs(label, axis=axis)
File "D:\python3.7\lib\site-packages\pandas\core\generic.py", line 3537, in xs
loc = self.index.get_loc(key)
File "D:\python3.7\lib\site-packages\pandas\core\indexes\base.py", line 2648, in get_loc
return self._engine.get_loc(self._maybe_cast_indexer(key))
File "pandas_libs\index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
File "pandas_libs\index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
File "pandas_libs\hashtable_class_helper.pxi", line 998, in pandas._libs.hashtable.Int64HashTable.get_item
File "pandas_libs\hashtable_class_helper.pxi", line 1005, in pandas._libs.hashtable.Int64HashTable.get_item
KeyError: 31