You have to call it when you want the rate to adapt. Normally on each run(), but I think once per day would do also. The function is fast though, so it won't matter much for simulation speed how often you call it.
The simulation must only be close to reality where the trade signals are involved. In all other regards, implementing 'realism' does no good when it affects your strategy parameters. System developers normally try to remove external factors, not add them. I would certainly not include factors such as the account currency. But that's just my advice - Zorro is a tool and you can use it in any way you want.
Theoretical discussions are futile anyway. You can easily test your ideas with the workshop strategies or your own strategies, and then see if they work or not.