Signal on Screen vs code

 

I am trying to trade based on the macd, I can clearly see it is above 0 on the indicator and has been for a while, but my trader sells into the position. What am I missing. Is it because the timeframe on the Screen indicator is different and always going to be different from code ?

 

if (m_macd_current < 0) 

   if(m_macd_current<m_macd_previous && m_macd_previous > m_signal_previous)
  

Thanks in advance 

Reason: