That be in the structure of the code, you'll have to move where you do the calculation. And of course without seeing the source I'd have no idea why it's not updating every tick.
Try this line in a few places till you get the desired result, look for the values to print in the experts tab:
Print ('Ordersize: ', AccountBalance()*0.00001);
If you put that just after you initiate the code it should print constant value changes, then move it around to few places where you think it should be. I don't know where your lotsize declaration is, if it's global you can just put your calculation where it prints ok, if it's not global then you'll have to change your logic to update more often.