class_docstr: Bar Filler for a Data Source inside the declared session start/end times.
  
  The fill bars are constructed using the declared Data Source ``timeframe``
  and ``compression`` (used to calculate the intervening missing times)
  
  Params:
  
    - fill_price (def: None):
  
      If None is passed, the closing price of the previous bar will be
      used. To end up with a bar which for example takes time but it is not
      displayed in a plot ... use float('Nan')
  
    - fill_vol (def: float('NaN')):
  
      Value to use to fill the missing volume
  
    - fill_oi (def: float('NaN')):
  
      Value to use to fill the missing Open Interest
  
    - skip_first_fill (def: True):
  
      Upon seeing the 1st valid bar do not fill from the sessionstart up to
      that bar
class_docstr_tok: ["Bar","Filler","for","a","Data","Source","inside","the","declared","session","start\/end","times",".","The","fill","bars","are","constructed","using","the","declared","Data","Source","``","timeframe","``","and","``","compression","``","(","used","to","calculate","the","intervening","missing","times",")","Params",":","-","fill_price","(","def",":","None",")",":","If","None","is","passed",",","the","closing","price","of","the","previous","bar","will","be","used",".","To","end","up","with","a","bar","which","for","example","takes","time","but","it","is","not","displayed","in","a","plot","...","use","float","(","'Nan","'",")","-","fill_vol","(","def",":","float","(","'NaN","'",")",")",":","Value","to","use","to","fill","the","missing","volume","-","fill_oi","(","def",":","float","(","'NaN","'",")",")",":","Value","to","use","to","fill","the","missing","Open","Interest","-","skip_first_fill","(","def",":","True",")",":","Upon","seeing","the","1st","valid","bar","do","not","fill","from","the","sessionstart","up","to","that","bar"]
code: def __init__(self, data):
      # Calculate and save timedelta for timeframe
      self._tdframe = self._tdeltas[data._timeframe]
      self._tdunit = self._tdeltas[data._timeframe] * data._compression
  
      self.seenbar = False  # control if at least one bar has been seen
      self.sessend = self.MAXDATE
  
file_path: backtrader/backtrader/filters/session.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  from datetime import datetime, timedelta
  from backtrader import TimeFrame
  from backtrader.utils.py3 import with_metaclass
  from ..None import metabase
label_desc: Use image node_id 1 to create a new SessionFiller object from inherited base classes:  with example: obj = SessionFiller(data)