For code/output blocks: Use ``` (aka backtick or grave accent) in a single line before and after the block. See:

AttributeError: module 'oandapy' has no attribute 'OandaError'

  • when run the 'backtrader' example, it shows the error,
    do anyone have the solution to it?

    python code:

    from datetime import datetime
    import backtrader as bt
    # Create a subclass of Strategy to define the indicators and logic
    class SmaCross(bt.Strategy):
        # list of parameters which are configurable for the strategy
        params = dict(
            pfast=10,  # period for the fast moving average
            pslow=30   # period for the slow moving average
        def __init__(self):
            sma1 = bt.ind.SMA(period=self.p.pfast)  # fast moving average
            sma2 = bt.ind.SMA(period=self.p.pslow)  # slow moving average
            self.crossover = bt.ind.CrossOver(sma1, sma2)  # crossover signal
        def next(self):
            if not self.position:  # not in the market
                if self.crossover > 0:  # if fast crosses slow to the upside
            # enter long
            elif self.crossover < 0:  # in the market & cross to the downside
                self.close()  # close long position
    cerebro = bt.Cerebro()  # create a "Cerebro" engine instance
    # Create a data feed
    data = bt.feeds.YahooFinanceData(dataname='MSFT',
                                     fromdate=datetime(2011, 1, 1),
                                     todate=datetime(2012, 12, 31))
    cerebro.adddata(data)  # Add the data feed
    cerebro.addstrategy(SmaCross)  # Add the trading strategy  # run it all
    cerebro.plot()  # and plot it with a single command

    it shows error:

    Python 3.7.6 (tags/v3.7.6:43364a7ae0, Dec 19 2019, 00:42:30) [MSC v.1916 64 bit (AMD64)]
    Type "copyright", "credits" or "license" for more information.

    IPython 7.10.2 -- An enhanced Interactive Python.

    runfile('D:/Python Project/MT5/', wdir='D:/Python Project/MT5')
    Traceback (most recent call last):

    File "D:\Python Project\MT5\", line 9, in <module>
    import backtrader as bt

    File "d:\winpython\python-3.7.6.amd64\lib\site-packages\", line 62, in <module>
    from .cerebro import *

    File "d:\winpython\python-3.7.6.amd64\lib\site-packages\backtrader\", line 35, in <module>
    from .brokers import BackBroker

    File "d:\winpython\python-3.7.6.amd64\lib\site-packages\backtrader\", line 35, in <module>
    from .vcbroker import VCBroker

    File "d:\winpython\python-3.7.6.amd64\lib\site-packages\backtrader\brokers\", line 35, in <module>
    from backtrader.stores import vcstore

    File "d:\winpython\python-3.7.6.amd64\lib\site-packages\backtrader\", line 38, in <module>
    from .oandastore import OandaStore

    File "d:\winpython\python-3.7.6.amd64\lib\site-packages\backtrader\stores\", line 41, in <module>
    class OandaRequestError(oandapy.OandaError):

    AttributeError: module 'oandapy' has no attribute 'OandaError'

    anyone can help this?? Many thanks.


  • Please take a look at the following post:

    Could it be relevant ?

  • :), Many thanks. It indeed solved the issue!!

Log in to reply