Alessandro explanation is completely right! Evandro's explanation is right because I can understand his point of view but it's wrong the way he touched the English grammar.
Vamos lá!
This construction ( TER + verb in the participle) is not equivalent to " Have + participle " in English.
I lived = Morei
I have lived = Morei
I have been living = Tenho morado
That causes a lot of confusion for English speakers. Many of my students say things like " Hoje tenho tomado café-da-manhã " because they do the literal translation "I have had breakfast ".
With this example, I cannot give you another one that we very often use, but the verb " ANDAR " is also a way to express " have been + doing something). look:
Eu ando tendo pesadelos = I've been having nightmares
Maria anda fazendo o trabalho todo errado = Maria's been doing the work the wrong way
O que você anda fazendo ultimamente? = What have you been doing lately?
Andei estudando bastante para a prova = I HAD been studying a lot for the exam
Ele andou buscando um apartamento e encontrou um no centro = He had been looking for an apartment and found one in downtown.