Navigation

    Backtrader Community

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    1. Home
    2. dirkie
    For code/output blocks: Use ``` (aka backtick or grave accent) in a single line before and after the block. See: http://commonmark.org/help/
    D
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 2
    • Best 0
    • Groups 0

    dirkie

    @dirkie

    0
    Reputation
    3
    Profile views
    2
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    dirkie Unfollow Follow

    Latest posts made by dirkie

    • RE: MACDHisto wrongly calculated, exact same value as MACD

      That indeed solved it. Thank you very very much for the quick response!

      posted in Indicators/Strategies/Analyzers
      D
      dirkie
    • MACDHisto wrongly calculated, exact same value as MACD

      Hello,

      I am new to backtrader. I have experienced with some indicators like RSI, EMA9, MACD and MACDHisto. All indicators produce correct output EXPECT MACDHisto. MACDHisto output has exact same value as MACD. This looks like a bug to me. Strange enough nobody else has yet stumbled upon this.

          def __init__(self):
              # Keep a reference to the "close" line in the data[0] dataseries
              self.dataclose = self.datas[0].close
      
              # To keep track of pending orders and buy price/commission
              self.order = None
              self.buyprice = None
              self.buycomm = None
      
              # Add a MovingAverageSimple indicator
              self.sma = bt.indicators.SimpleMovingAverage(
                  self.datas[0], period=self.params.maperiod)
              self.rsi = bt.indicators.RSI(self.datas[0])
              self.ema9 = bt.indicators.EMA(self.datas[0], period=9)
              self.macdhisto = bt.indicators.MACDHisto(
                  self.datas[0], period_me1=12, period_me2=26, period_signal=9 )
              self.macd = bt.indicators.MACD(
                  self.datas[0], period_me1=12, period_me2=26, period_signal=9 )
      
      <output omitted>
      
          def next(self):
              # Simply log the closing price of the series from the reference
              self.log('Close, %.2f, MACD %2.f, MACDhisto %2.f, RSI %2.f, EMA9 %2.f' %(self.dataclose[0], self.macd[0], self.macdhisto[0],self.rsi[0],self.ema9[0]))
      
      

      This produces the following output, note that MACDHisto has same value as MACD
      2020-05-28, Close, 3030.76, MACD 17, MACDhisto 17, RSI 54, EMA9 3040
      2020-05-28, Close, 3036.62, MACD 16, MACDhisto 16, RSI 56, EMA9 3039
      2020-05-29, Close, 3029.62, MACD 14, MACDhisto 14, RSI 53, EMA9 3037
      2020-05-29, Close, 3035.12, MACD 13, MACDhisto 13, RSI 55, EMA9 3037
      2020-05-29, Close, 3022.24, MACD 11, MACDhisto 11, RSI 50, EMA9 3034
      2020-05-29, Close, 3034.62, MACD 10, MACDhisto 10, RSI 54, EMA9 3034
      2020-05-29, Close, 3022.52, MACD 9, MACDhisto 9, RSI 50, EMA9 3032
      2020-05-29, Close, 3016.95, MACD 7, MACDhisto 7, RSI 48, EMA9 3029
      2020-05-29, Close, 3039.87, MACD 7, MACDhisto 7, RSI 56, EMA9 3031
      2020-05-29, Close, 3061.44, MACD 9, MACDhisto 9, RSI 61, EMA9 3037

      posted in Indicators/Strategies/Analyzers
      D
      dirkie