was /had been の違いですが、
am / have beenの違いを過去に向かってひとつずつ時制を ずらしたと思って下さい。
I am waiting for my friend.
↑たった今の現在にwaitという動作をしている、
とい うところだけに注目しているのに対して、
I have been waiting for my friend.
↑こっちはその動作が続いているだけでなく、
for a few hoursなどのフレーズをつけて ずばりどれくらいの期間 続いているのか、
もいうことができます。
と、いうことは、
ただ過去に起こった事を伝えたいと きはwas doingで、
しばらく動作が続いていたことを注目 したいときはhave been doingを使うことができるというこ とです!