This looks beautiful, but I will suggest to remove those AND blocks and connect conditions one after another. Now each one is checked. If they are one after another and the first one is false, the next one will not be checked, which means that the EA will be backtested much faster. Also, you will be able to put some "Draw Arrow" after some of the conditions and see if it passes, find where the positive signals ends, and easily find bad condition block that way.