class_docstr: This is a long-only strategy which operates on a moving average cross
  
  Note:
    - Although the default
  
  Buy Logic:
    - No position is open on the data
  
    - The ``fast`` moving averagecrosses over the ``slow`` strategy to the
      upside.
  
  Sell Logic:
    - A position exists on the data
  
    - The ``fast`` moving average crosses over the ``slow`` strategy to the
      downside
  
  Order Execution Type:
    - Market
class_docstr_tok: ["This","is","a","long-only","strategy","which","operates","on","a","moving","average","cross","Note",":","-","Although","the","default","Buy","Logic",":","-","No","position","is","open","on","the","data","-","The","``","fast","``","moving","averagecrosses","over","the","``","slow","``","strategy","to","the","upside",".","Sell","Logic",":","-","A","position","exists","on","the","data","-","The","``","fast","``","moving","average","crosses","over","the","``","slow","``","strategy","to","the","downside","Order","Execution","Type",":","-","Market"]
code: def __init__(self):
      sma_fast = self.p._movav(period=self.p.fast)
      sma_slow = self.p._movav(period=self.p.slow)
  
      self.buysig = btind.CrossOver(sma_fast, sma_slow)
  
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import backtrader
  import backtrader.indicators
label_desc: Use image node_id 1 to create a new MA_CrossOver object from inherited base classes: bt with example: obj = MA_CrossOver()