Add a Decision Matrix to an EA

 

I have developed an EA that I am hoping to soon use on a prop firm challenge however, I understand that live trading brings a new wave of variables to consider.

The first question I would like to ask is, what else (on top of what I am about to present) should be added to a Decision Matrix to aid in robustness in a live environment?

 A basic proposed framework that simply 'try's again' if the initial order failed:

Void OnTick() {

        If ("Conditions") {
	
        PlaceOrder(magic number) // PlaceOrder routine places a single buy/sell order with specified: lot size, SL, TP etc.
	Loop DecisionMatrix()// How do loops work in MQL5?
        }

}

void DecisionMatrix("magic number passed through here perhaps or individual ticket number"){

// Check if Order has triggered, if not after X seconds, check conditions again, else move to next line.
						// (instead of waiting X Seconds, wait until an exact notification is returned).
// Check if Deal has processed move to next line, else check condition and try again.
// If Position is established then leave DecisionMatrix and continue with rest of the code...

}

One other thing this could do is check/log slippage at the point the Deal is checked.

I'll open it up to the community now, do you run something similar in your EA's? Is there anything else I should consider? Better ways of achieving this? If anybody has any ideas or advice for how to implement this effectively, please feel free to add them below.

CPerry.