Разработчикам. Верните второй параметр в PositionSelect()

 
Если он теперь не используется, пусть будет необязательным, пометьте как неиспользуемый или зарезервированный. Уже куча советников на заказ написана и такой подарочек.
 
Integer:
Если он теперь не используется, пусть будет необязательным, пометьте как неиспользуемый или зарезервированный. Уже куча советников на заказ написана и такой подарочек.
Извините, это была наша ошибка - вытащить данный параметр наружу. Было много случаев неправильного понимания его назначения, поэтому решили его убрать раз и навсегда. 
 
с одним параметром проще и понятней.. imho
 

Цитата из статьи (https://www.mql5.com/ru/articles/100):

"...Вторым параметром функции является время задержки в миллисекундах, таймаут используется в случае, когда требуется определить факт появления/изменения состояния позиции сразу после отправки запроса на торговый сервер. Здесь ... таймаут был установлен в 100 миллисекунд". 

Если второй параметр убран, то какой установлен таймаут "по умолчанию"? 

Пошаговое руководство по написанию MQL5-советников для начинающих
Пошаговое руководство по написанию MQL5-советников для начинающих
  • 2010.06.09
  • Samuel
  • www.mql5.com
Написание советников на MQL5 проще чем кажется, вы легко можете этому научиться. В этом руководстве вы познакомитесь с основными моментами, необходимыми для написания простого советника на основе конкретной торговой стратегии. Рассмотрена структура советника, использование встроенных технических индикаторов и торговых функций, вопросы отладки и тестирования советника на исторических данных.
 
Yedelkin:

Если второй параметр убран, то какой установлен таймаут "по умолчанию"? 

Нет таймаута. Функция сразу же возвращает управление. Чтобы получить позицию сразу после её открытия используйте код вроде такого:

    // wait up to a second for new position
    for(int i = 0; i < 10; i++)
    {
      if(PositionSelect(symbol))
      {
        bSuccess = PositionGetInteger(POSITION_IDENTIFIER, LID);
        break;
      }
      Sleep(100);
    }
 

А я успел поиском найти вот такое (https://www.mql5.com/ru/forum/1431/page3/#comment_11324):

"Функцию PositionSelect (и ряд аналогичных) уже модифицировали, убрав таймаут - теперь он автоматически равен 3 сек.".

OrdersTotal( ) как заставить его работать в MQL5?
OrdersTotal( ) как заставить его работать в MQL5?
  • www.mql5.com
обязательно нужно проверять наличие открытой позиции.
 
Yedelkin:

А я успел поиском найти вот такое (https://www.mql5.com/ru/forum/1431/page3/#comment_11324):

"Функцию PositionSelect (и ряд аналогичных) уже модифицировали, убрав таймаут - теперь он автоматически равен 3 сек.".

И это уже убрали - теперь нет таймаутов.
 

ОК, понял. marketeer, спасибо за подсказку!

 
Yedelkin:

А я успел поиском найти вот такое (https://www.mql5.com/ru/forum/1431/page3/#comment_11324):

"Функцию PositionSelect (и ряд аналогичных) уже модифицировали, убрав таймаут - теперь он автоматически равен 3 сек.".

Тот пост более давний, чем время, когда мне разработчики посоветовали использовать приведенный цикл, так что, вероятно, были еще изменения - уточните у них... вот уже уточнили одновременно.
 
Renat:
И это уже убрали - теперь нет таймаутов.

Сколько метаний уже после релиза...

Пишите, люди, советники для Чемпионата 2010, меньше месяца осталось. :)

Если советник неправильно будет работать на той версии MT5, которая будет использована на Чемпионате, - кто будет виноват?

И ведь версию выбрать не дают, - либо принудительный upgrade на последнюю, либо остаться на текущей...

 

За занудство в бан. Надоел уже.
Причина обращения: