code: def runstrat(args=None):
      args = parse_args(args)
  
      cerebro = bt.Cerebro()
  
      fcodes = [
          "199FESXM4",
          "199FESXU4",
          "199FESXZ4",
          "199FESXH5",
          "199FESXM5",
      ]
      store = bt.stores.VChartFile()
      ffeeds = [store.getdata(dataname=x) for x in fcodes]
  
      rollkwargs = dict()
      if args.checkdate:
          rollkwargs["checkdate"] = checkdate
  
          if args.checkcondition:
              rollkwargs["checkcondition"] = checkvolume
  
      if not args.no_cerebro:
          if args.rollover:
              cerebro.rolloverdata(name="FESX", *ffeeds, **rollkwargs)
          else:
              cerebro.chaindata(name="FESX", *ffeeds)
      else:
          drollover = bt.feeds.RollOver(
              *ffeeds, dataname="FESX", **rollkwargs
          )
          cerebro.adddata(drollover)
  
      cerebro.addstrategy(TheStrategy)
      cerebro.run(stdstats=False)
  
      if args.plot:
          pkwargs = dict(style="bar")
          if args.plot is not True:  # evals to True but is not True
              npkwargs = eval(
                  "dict(" + args.plot + ")"
              )  # args were passed
              pkwargs.update(npkwargs)
  
          cerebro.plot(**pkwargs)
  
file_path: backtrader/samples/rollover/rollover.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import argparse
  import bisect
  import calendar
  import datetime
  import backtrader
label_desc: Use image node_id 3 for calling a global function with example usage: runstrat(args) without return types