Back to the EA... Since I'm still incompetent in MQL and since I trust Tradestation's backtesting a lot more than Empty4's, I knocked out a quick system in TS to backtest this idea on 5 years of data.
My first attempt looked promising. I tested it on daily data, i.e. looking for reversals on a daily level. (I run it on intraday bars to make sure I know whether the market peeks out of the high or the low first.) Not all pairs made money, but many of them did.
Then I added a few things and "improved" the logic. And then most pairs lost money.

As far as I can tell, my current implementation is working correctly. But I thought it was mostly correct before. Some pairs still work OK on a daily TF but you have to pick and choose carefully.
I kept working on it and extended it work on different timeframes -- M30, H1, M90, H2, etc. That worked MUCH MUCH better, except the average trades are very small. Most pairs only average 2-4 pips per trade, before spread or commission. I get the best results on most pairs with H3 and H5 bars, but it varies. It's not real stable.
I experimented with TP and SL values. TPs don't seem to help much at all -- it does about as well if you just close at the end of the next bar. SLs helped a little, but not significantly.
I also tried entering "early." E.g. say the previous bar's high/low are H and L. Normally you would look for a break of H, then sell at L. If I want to go 10% early, I'd look for a break of L+0.90*(H-L), then sell at L+0.10*(H-L). That helped a little, maybe 5% or so, but nothing dramatic.
The win% on this system is surprisingly low, 45-55% or so. I expected that a reversal would generally follow through, but there are MANY cases where it touches the high, reverses and touches the low, and reverses again to take it to a loss. I can't think of a good way to increase the edge. I've played around with the triggers and entries and none of them work all that great. The market just stumbles around every which way and it's hard to capture it with something simple.
George, I think you're implementing this as a multi-symbol EA, and that can't be backtested, right? Did you get it working in single-symbol mode long enough to try backtesting it? I'd like to confirm that we get the same results.