The author of the idea - Ilnaz
mq5 code author - barabashkakvn
The EA analyzes candles #1 and #2.
Example of opening and closing for SELL

Open conditions - there is no a single position on the market
//--- buy if((rates[1].open>rates[2].open) && (rates[1].close<rates[2].close)) { double lot=TradeSizeOptimized(); OpenBuy(lot,0.0,0.0); return; } //--- sell if((rates[1].open<rates[2].open) && (rates[1].close>rates[2].close)) { double lot=TradeSizeOptimized(); OpenSell(lot,0.0,0.0); return; }
If there is an open position, check the close condition
if(rates[1].open<rates[2].open && (rates[1].close<rates[2].close)) { ClosePositions(POSITION_TYPE_BUY); return; } if(rates[1].open>rates[2].open && (rates[1].close>rates[2].close)) { ClosePositions(POSITION_TYPE_SELL); return; }