我正在使用VSCode和python来做一些使用backtrader的反向测试。我刚开始学习一个教程,第一个测试代码在实例化cerebro时似乎出现了一个语法错误。代码如下:
import backtrader as bt
from datetime import datetime
class LogClass(bt.Strategy):
def __init__(self):
self.dataclose = self.datas[0].close
def log(next, txt, dt=None):
dt = dt or self.datas[0].datetime.date(0)
print(f'{dt} {txt}')
def next(self):
self.log('Close: {}'.format(self.dataclose[0])
cerebro = bt.Cerebro()
data = bt.feeds.YahooFinanceData(dataname=LogClose.params.ticker,
fromdate= LogClose.params.fromDate,
todate= LogClose.params.toDate)
cerebro.adddata(data)
cerebro.addstrategy(LogClose)
cerebro.run()当我使用'Run Python file in Terminal‘运行文件时,我得到错误
File "log.py", line 16
cerebro = bt.Cerebro()
^
SyntaxError: invalid syntax我试着寻找一个解决方案,但没有运气。我将解释器更改为使用python3.7,安装了pylint,更新了pip。重新启动了笔记本电脑,什么都没有。帮助。
发布于 2020-11-25 06:01:12
在def next()中,self.log()不匹配(在self.log的末尾添加a)(‘Close:{}'.format(self.dataclose) )
https://stackoverflow.com/questions/64994343
复制相似问题