Volume limit reached

 

Привет всем! При автотестировании в маркете получаю ошибку - Volume limit reached - превышен максимальный объем открытых сделок, как я понимаю.

Вот функция проверки

bool PositionVolume(string symbol, double volume)
  {
  double limit = SymbolInfoDouble(symbol, SYMBOL_VOLUME_LIMIT);
  if(limit==0)return(true);
  double summa=volume;
  for(int i=PositionsTotal()-1;i>0;i--){
   bool check=pos.SelectByIndex(i);
   if(check==false) return(true);
   summa=summa+PositionGetDouble(POSITION_VOLUME);
  }
   if(limit>summa){
   return(true);
   }else{
   return(false);
   }
  }

она получает название символа и объем открываемой сделки. Вызываю перед созданием ордера

что не так?

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Информация об инструменте
  • www.mql5.com
Для получения текущей рыночной информации служат функции SymbolInfoInteger(), SymbolInfoDouble() и SymbolInfoString(). В качестве второго параметра этих функций допустимо передавать один из идентификаторов из перечислений ENUM_SYMBOL_INFO_INTEGER, ENUM_SYMBOL_INFO_DOUBLE и ENUM_SYMBOL_INFO_STRING соответственно. Некоторые символы (как...
 

Статью, Какие проверки должен пройти торговый робот перед публикацией в Маркете - точно читали?

В справку

SYMBOL_VOLUME_LIMIT

Максимально допустимый для данного символа совокупный объем открытой позиции и отложенных ордеров  в одном направлении (покупка или продажа). Например, при ограничении в 5 лотов можно иметь открытую позицию на покупку объемом 5 лотов и выставить отложенный ордер Sell Limit объемом 5 лотов. Но при этом нельзя выставить отложенный ордер Buy Limit (поскольку совокупный объем в одном направлении превысит ограничение) или выставить Sell Limit объемом более 5 лотов.

double

смотрели? 

Какие проверки должен пройти торговый робот перед публикацией в Маркете
Какие проверки должен пройти торговый робот перед публикацией в Маркете
  • www.mql5.com
Все продукты Маркета перед публикацией проходят обязательную предварительную проверку, так как небольшая ошибка в логике советника или индикатора может привести к убыткам на торговом счете. Именно поэтому нами разработана серия базовых проверок, призванных обеспечить необходимый уровень качества продуктов Маркета. Если в процессе проверки...