I'm working on an automatic trading system. What sorts of safe-guards should I have in place?
The main idea I have is to have multiple pieces checking each other.
I will have a second independent little process which will also connect to the same trading account and monitor simple things, like ensuring the total net position does not go over a certain limit, or that there are no more than N orders in 10 minutes for example, or more than M positions open simultaneously. You can also check that the actual open positions correspond to what the strategy process thinks it actually holds. As a bonus I could run this checker process on a different machine/network provider.
Besides the checks in the main strategy, this will ensure that whatever weird bug occurs, nothing really bad can happen.
Any other things I should monitor and be aware of?