The EA only operates when a new bar appears within a specified time interval. It calculates the Typical prices for bars #1, #2, and #3. This results in getting trading signals:
double typical_3=(rates[3].high+rates[3].low+rates[3].close)/3.0; double typical_2=(rates[2].high+rates[2].low+rates[2].close)/3.0; double typical_1=(rates[1].high+rates[1].low+rates[1].close)/3.0; if(typical_3<typical_2 && typical_2<typical_1) if(count_buys==0) m_need_open_buy=true; if(typical_3>typical_2 && typical_2>typical_1) if(count_sells==0) m_need_open_sell=true;
No more than one position is in the market at a time. A BUY open signal is also a SELL close one, and vice versa: A SELL open signal is a BUY close one (the algorithm is like this: First closing, and then opening).
I recommend testing it on timeframes starting from H1 and higher and on several symbols.