如题,急,急,急!
谢谢,正在打印看呢。。。
海龟的逻辑是:平仓的时候,所有仓位全平,此时self.pos ==0,下一根bar传入的时候,on_bar会自动设置self.long_stop=0,self.short_stop=0。应该是不影响计算结果的
turtle_strategy和backtestingEngine的参数设置相同情况下:
1、首先发现总交易日不同;
2、发现daily_df不同;
各位高手有没有发现相同的问题,如果用的是同一代码,结果应该相同的啊。
kingmo888 wrote:
根据字面意思,
文件d:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\backtesting.py种的函数update_daily_close中发生错误,具体错误原因是:
代码理论上认为 self.datetime是一个datetime格式,因此会具有date方法。
但实际上 self.datetime是个字符串,不存在这个date()方法,所以报错了。检查一下vnpy版本、检查一下自己改了什么东西。要么就是加载数据时候,时间字符串未能转换为datetime格式。只能分析到这一步,具体还需要你自己去溯源
谢谢,问题已经解决了,我用的数据库是自己编代码写进去的,可能datetime字段加载的时候未能转换为datetime格式,删了数据库,重新在客户端下载数据就好了。
米筐下载的1m级别数据,
原来两个地方有database.db:
1:c:\users\admin.vntrader\database.db 已经删除了。
2:D:\vnstudio\Lib\site-packages\vnpy\app\ctastrategy\backtesting\database.db也已经删除了。
11:42:08 历史数据加载完成,数据量:78089
11:42:08 策略初始化完成
11:42:08 开始回放历史数据
11:42:13 触发异常,回测终止
11:42:13 Traceback (most recent call last):
File "d:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\backtesting.py", line 304, in run_backtesting
func(data)
File "d:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\backtesting.py", line 752, in new_bar
self.update_daily_close(bar.close_price)
File "d:\vnstudio\lib\site-packages\vnpy\app\cta_strategy\backtesting.py", line 735, in update_daily_close
d = self.datetime.date()
AttributeError: 'str' object has no attribute 'date'
11:42:13 开始计算逐日盯市盈亏
你好,怎么解决的啊?我也遇到这个问题了