Well, you are swimming in dangerous waters... From the manual: "The above enumeration loops are macros defined in include\variables.h. Unlike a normal for loop, enumeration loops cannot be nested, and they must not be aborted by break or return statements. The break_trades macro can be used to abort trade loops. "

A better approach might be to write a new macro from scratch, not using the predefined ones in order to avoid unpredictable behaviors...