Navigation

    Backtrader Community

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    For code/output blocks: Use ``` (aka backtick or grave accent) in a single line before and after the block. See: http://commonmark.org/help/

    IndexError: deque index out of range

    General Code/Help
    2
    2
    2953
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Y
      you last edited by backtrader

      I was running sample program ibtest.py with these parameters and got
      a 'Index Error: deque index out of range' error after received ~1100 ticks and ~180 ticks for the two data feed.... this error can be re-produced very often but not every time... wonder if anyone has seen this before...

      >> python ibtest.py --port 4001 --data0 AUD.USD-CASH-IDEALPRO --timeframe Seconds --compression 10 --data1 AUD.USD-CASH-IDEALPRO --timeframe1 Seconds --compression1 60 --replay --usestore --trade --notifyall --debug
      
      :~/dev/t1-p3.5/src/myalgo$ Traceback (most recent call last):
        File "ibtestorg.py", line 467, in <module>
          runstrategy()
        File "ibtestorg.py", line 275, in runstrategy
          cerebro.run(exactbars=args.exactbars)
        File "/home/x/dev/t1-p3.5/lib/python3.5/site-packages/backtrader/cerebro.py", line 810, in run
          runstrat = self.runstrategies(iterstrat)
        File "/home/x/dev/t1-p3.5/lib/python3.5/site-packages/backtrader/cerebro.py", line 940, in runstrategies
          self._runnext(runstrats)
        File "/home/x/dev/t1-p3.5/lib/python3.5/site-packages/backtrader/cerebro.py", line 1256, in _runnext
          strat._next()
        File "/home/x/dev/t1-p3.5/lib/python3.5/site-packages/backtrader/strategy.py", line 296, in _next
          super(Strategy, self)._next()
        File "/home/x/dev/t1-p3.5/lib/python3.5/site-packages/backtrader/lineiterator.py", line 236, in _next
          clock_len = self._clk_update()
        File "/home/x/dev/t1-p3.5/lib/python3.5/site-packages/backtrader/strategy.py", line 290, in _clk_update
          for d in self.datas if len(d))
        File "/home/x/dev/t1-p3.5/lib/python3.5/site-packages/backtrader/strategy.py", line 290, in <genexpr>
          for d in self.datas if len(d))
        File "/home/x/dev/t1-p3.5/lib/python3.5/site-packages/backtrader/linebuffer.py", line 163, in __getitem__
          return self.array[self.idx + ago]
      IndexError: deque index out of range
      
      1 Reply Last reply Reply Quote 0
      • B
        backtrader administrators last edited by

        You are using replay and mixing several data feeds. The current core is known (@RandyT has been the driving force) to have some weaknesses with replay.

        The suggestion for such a mix would be to use resample

        1 Reply Last reply Reply Quote 0
        • 1 / 1
        • First post
          Last post
        Copyright © 2016, 2017, 2018, 2019, 2020, 2021 NodeBB Forums | Contributors