【问题标题】:Visual Studio Code on mac using python Error "syntax error: invalid syntax" at the line 'cerebro = bt.Cerebro()'使用 python 的 Mac 上的 Visual Studio Code 错误“语法错误:无效语法”在 'cerebro = bt.Cerebro()' 行
【发布时间】:2020-11-25 06:01:12
【问题描述】:

我正在使用带有 python 的 VSCode 来使用 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()

当我使用“在终端中运行 Python 文件”运行文件时,出现错误

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

我试图寻找一个没有运气的解决方案。 我将解释器更改为使用 python3.7,安装 pylint,更新 pip。重新启动笔记本电脑,没有。帮助。

【问题讨论】:

  • 主菜单 → 查看 → 渲染空白
  • 像往常一样,问题是上一行的括号不闭合。

标签: python visual-studio-code backtrader


【解决方案1】:

在 def next() self.log() 中不匹配 ( 将 ) 添加到 self.log('Close: {}'.format(self.dataclose[0])

的末尾

【讨论】:

  • 非常感谢大家。我不敢相信我花了 2 天时间在网上搜索并浪费您的时间来解决如此简单的被忽视的错误。我很惊讶 VSCode 没有为我提供更好的错误描述。非常感谢。
  • 有时会发生这种情况...尝试查看 ide 认为错误所在的上方和下方(通常是上方)
猜你喜欢
  • 2022-11-30
  • 2019-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-28
  • 2016-08-07
  • 1970-01-01
  • 2021-08-21
相关资源
最近更新 更多