呵呵,两个错误:
1、rb888是米筐构造的一个前复权的螺纹期货合约,实际是不存在的,所以无法获得它的合约信息,因此无法获取它的交易时间段信息。而我这个RBreaker策略是必须使用交易时间段信息,所以出错!
2、你的K线周期设置为d,那么没有分钟数据,每次只有一个完整的日K先数据,还谈什么日内的上下突破?下载的数据必须为1m 。
换成rb2105.SHFE,K线周期设置为1m,把开始和结束日期改短些,再试试。
呵呵,两个错误:
1、rb888是米筐构造的一个前复权的螺纹期货合约,实际是不存在的,所以无法获得它的合约信息,因此无法获取它的交易时间段信息。而我这个RBreaker策略是必须使用交易时间段信息,所以出错!
2、你的K线周期设置为d,那么没有分钟数据,每次只有一个完整的日K先数据,还谈什么日内的上下突破?下载的数据必须为1m 。
换成rb2105.SHFE,K线周期设置为1m,把开始和结束日期改短些,再试试。
谢谢大神,问题解决了,另外发现一个BUG,if bar.datetime< self.exit_time: 应该改为if bar.datetime.time() < self.exit_time:
底层报错了,请在cmd中用python -m vnstation启动,看看报错信息吧
self.buy_break = self.buy_setup + self.break_coef * (self.sell_setup - self.buy_setup) # 突破买入价
self.sell_break = self.sell_setup - self.break_coef * (self.sell_setup - self.buy_setup) # 突破卖出价
这里公式都是错的, 回测结果有意义?
duke wrote:
谢谢大神,问题解决了,另外发现一个BUG,if bar.datetime< self.exit_time: 应该改为if bar.datetime.time() < self.exit_time:
你的修改是错误的,bar.datetime.time()的类型是time类型,self.exit_time的类型也是datetime。
大佬真是高产啊, 想问一下, 为什么支持夜盘要花这么大功夫啊, 是为了24小时无人值守交易吗? 按我的理解, 每个新的交易日是从晚上9:00到第二天的下午3点, 如果手动在每天下午3点后关闭vnpy, 然后晚上9点的时候重新启动vnpy, 启动的时候手动初始化指定new day, 和today 就可以了
守望长城2020-6-11-艾瑞巴蒂 wrote:
大佬真是高产啊, 想问一下, 为什么支持夜盘要花这么大功夫啊, 是为了24小时无人值守交易吗? 按我的理解, 每个新的交易日是从晚上9:00到第二天的下午3点, 如果手动在每天下午3点后关闭vnpy, 然后晚上9点的时候重新启动vnpy, 启动的时候手动初始化指定new day, 和today 就可以了
老师你好,如何手动初始化指定new day, 和today,方便说一下吗 ?
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_ctabacktester\engine.py", line 177, in run_backtesting
engine.add_strategy(
File "C:\veighna_studio\lib\site-packages\vnpy_ctastrategy\backtesting.py", line 144, in add_strategy
self.strategy = strategy_class(
File "C:\Users\78405\strategies\RBreakerStrategy.py", line 63, in init
self.trade_hour = TradeHours(symbol)
File "C:\Users\78405\Desktop\vnpy-3.6.0\vnpy\usertools\trade_hour.py", line 46, in init
self.init()
File "C:\Users\78405\Desktop\vnpy-3.6.0\vnpy\usertools\trade_hour.py", line 52, in init
self.listed_date = get_listed_date(self.symbol)
File "C:\Users\78405\Desktop\vnpy-3.6.0\vnpy\usertools\trade_hour.py", line 24, in get_listed_date
info = rq.instruments(symbol)
File "C:\veighna_studio\lib\site-packages\rqdatac\decorators.py", line 150, in wrap
return func(args, kwargs)
File "C:\veighna_studio\lib\site-packages\rqdatac\services\basic.py", line 1411, in instruments
all_dict = _all_instruments_dict(market)
File "C:\veighna_studio\lib\site-packages\rqdatac\decorators.py", line 129, in wrapper
value = user_function(*args, kwargs)
File "C:\veighna_studio\lib\site-packages\rqdatac\services\basic.py", line 1245, in _all_instruments_dict
ins = _all_cached_instruments_list(market)
File "C:\veighna_studio\lib\site-packages\rqdatac\decorators.py", line 129, in wrapper
value = user_function(args, **kwargs)
File "C:\veighna_studio\lib\site-packages\rqdatac\services\basic.py", line 1240, in _all_cached_instruments_list
return _all_instruments_list(market)
File "C:\veighna_studio\lib\site-packages\rqdatac\services\basic.py", line 1217, in _all_instruments_list
ins = [Instrument(i) for i in get_client().execute("all_instruments", market=market)]
File "C:\veighna_studio\lib\site-packages\rqdatac\decorators.py", line 67, in wrap
return func(args, kwargs)
File "C:\veighna_studio\lib\site-packages\rqdatac\connection_pool.py", line 26, in execute
with self._get_connection() as conn:
File "C:\veighna_studio\lib\contextlib.py", line 135, in enter
return next(self.gen)
File "C:\veighna_studio\lib\site-packages\rqdatac\connection_pool.py", line 37, in _get_connection
conn = self._ensure_connection()
File "C:\veighna_studio\lib\site-packages\rqdatac\connection_pool.py", line 58, in _ensure_connection
return self._new_connection()
File "C:\veighna_studio\lib\site-packages\rqdatac\decorators.py", line 67, in wrap
return func(*args, kwargs)
File "C:\veighna_studio\lib\site-packages\rqdatac\connection_pool.py", line 64, in _new_connection
return Connection(s, self._auth)
File "rqdatac\connection.py", line 56, in rqdatac.connection.Connection.init
File "rqdatac\connection.py", line 99, in rqdatac.connection.Connection._do_auth
File "rqdatac\connection.py", line 89, in rqdatac.connection.Connection._read_one_packet
rqdatac.share.errors.AuthenticationFailed: Authentication failed.