Your last principle becomes concrete in an automated trading test: an entry condition can be correct while the requirement never says whether a restart may submit it again. I would put a positive case, a no-entry case and a restart-on-the-same-bar case beside that requirement before coding. That tests the intended behaviour rather than treating a green indicator calculation as proof that the whole bot is correct.
For the restart case, write down what survives a process exit. If the signal was already acted on, a fresh process needs a saved marker or a broker check before it can send again. Test that after a completed send and after a timeout, because the timeout leaves the order state unknown.
Arnold Holm
I turn your trading setup into an MT5 bot with your prop firm's daily and max loss rules built in. Try it free on demo first.
Your last principle becomes concrete in an automated trading test: an entry condition can be correct while the requirement never says whether a restart may submit it again. I would put a positive case, a no-entry case and a restart-on-the-same-bar case beside that requirement before coding. That tests the intended behaviour rather than treating a green indicator calculation as proof that the whole bot is correct.