"I have given [it] my best" doesnt give away that you are still giving you best.
E g "I have given my best, but noone appreciates you here so now I quit"
The "tenho dado" in Portuguese means that you have been, and are still, giving your best. In that sense the portuguese "present perfect" is different from the English one.
The pretérito perfeito composto is always translated to the present perfect progressive unless it is used with a stative verb.
You're correct that "I've given [it] my best" describes an completed activity. DL accepted "I have been doing my best" since it implies repeated activities.