If I recall correctly, you can hear when it's ready (the bow string makes a sound as it's being pulled back) and when your arm stops moving, it's back all the way.
Im actually find one solution, tracking Mouse down event. Only think i have to do is add timings to it. Usual timings when heavy attack is fully charged (its about ~1.7sec) , scaling depends on weapon enhancement or another stats. What do you think, can i use static variable as standard period which fires heavy attack ? In this case, I can add the charge indicator attack