mac上的Visual Studio代码在“cerbiro=bt.cerbiro()”行中使用python错误“语法错误:无效语法”

2024-09-24 10:19:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用带python的VSCode使用backtrader进行一些回溯测试。我刚开始学习一个教程,第一个测试代码在实例化Cerbero时似乎出现了语法错误。代码如下:

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()

当我使用“runpythonfileinterminal”运行文件时,我得到了一个错误

File "log.py", line 16
cerebro = bt.Cerebro()
      ^
SyntaxError: invalid syntax

我试图寻找一个解决办法,但运气不好。 我将解释器改为使用python3.7,安装了pylint,更新了pip。重启笔记本电脑,什么都没有。救命啊


Tags: importselftxtlogdatetimedefdtparams