Find the mistake:
I have been waiting for him all day. Finally, he came at 4:30pm.
Can we say'
I had been waiting for him all day. Finally, he came at 4:30pm.
Yes, you can say that!
"I have been waiting......" suggests that you are still waiting, so to say that he also came at 4.30pm doesn't make any sense, because if he's arrived, then you are no longer waiting.
You can also say "I waited all day and he finally came at 4.30".