class Zone { private: MqlRates rate[]; double close; int ZoneNumber; public: double Close(string SymbolToTrade) { ArraySetAsSeries(rate, true); CopyRates(SymbolToTrade, PERIOD_M1, 0, 1, rate); return(close = rate[0].close); } int zone(string SymbolToTrade, ENUM_POSITION_TYPE typeHell, int counterHell, ENUM_POSITION_TYPE typeLock, int counterLock, double opLock, double AvPrice, double LastPrice) { if((counterLock > 0 && typeLock == POSITION_TYPE_BUY && Close(SymbolToTrade) <= opLock && Close(SymbolToTrade) >= AvPrice) || (counterLock > 0 && typeLock == POSITION_TYPE_SELL && Close(SymbolToTrade) >= opLock && Close(SymbolToTrade) <= AvPrice)) { return(ZoneNumber = 1);//Black } else if((counterLock > 0 && typeLock == POSITION_TYPE_BUY && Close(SymbolToTrade) <= LastPrice && Close(SymbolToTrade) > opLock) || (counterLock > 0 && typeLock == POSITION_TYPE_SELL && Close(SymbolToTrade) >= LastPrice && close < opLock)) { return(ZoneNumber = 2);//Green } else if((counterHell >= 2 && typeHell == POSITION_TYPE_BUY && Close(SymbolToTrade) < LastPrice) || (counterHell >= 2 && typeHell == POSITION_TYPE_SELL && Close(SymbolToTrade) > LastPrice)) { return(ZoneNumber = 3);//Red } else { return(ZoneNumber = 0); } } }; //+------------------------------------------------------------------+