text: 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=5,  # period for the fast moving average
          pslow=10   # 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
                  print('self.crossover ', self.crossover[0])
                  self.buy()  # enter long
  
          elif self.crossover < 0:  # in the market & cross to the downside
              print('self.crossover ', self.crossover[0])
              self.sell()  # close long position
  
  
  cerebro = bt.Cerebro()  # create a "Cerebro" engine instance
  
  # Create a data feed
  data = bt.feeds.GenericCSVData(
          dataname='./600000qfq.csv',
          datetime=2,
          open=3,
          high=4,
          low=5,
          close=6,
          volume=10,
          #dtformat=('%Y%m%d'),
          dtformat=('%Y%m%d'),
          fromdate=datetime(2019, 1, 1),
          todate=datetime(2020, 7, 8)
      )
  cerebro.adddata(data)  # Add the data feed
  
  cerebro.addstrategy(SmaCross)  # Add the trading strategy
  cerebro.run()  # run it all
  cerebro.plot()  # and plot it with a single command