Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 1392

 

Как узнать, что функция Bars() вернула правильное (окончательное) значение?

Особенность в следующем.

Если индикатор остался в окне при выключении терминала, то при следующем включении в начальный период исполнения

функция Bars() отдаёт количество баров, актуальное на текущий момент, например, 5000 баров из 20000, указанных в настройках.

Как узнать, что процесс приближения к истине уже завершился?

 
leonerd #:
Как количество сессий (торговых/котировочных) получить? Вижу методы SymbolInfoSessionQuote() и SymbolInfoSessionTrade(), где параметр индекс сессиии. Но как получить количество сессий?

Непонятно, как вообще использовать эти методы, если невозможно точно знать, какую из сессий запрашивать, сколько их всего и тп.

4307 ошибка при запросе несуществующей сессии. Получается, чтобы узнать кол-во сессий, надо пройти по всем индексам, начиная с 0 и до этой ошибки.

 

Здравствуйте.

Вопрос по документации.

пример оттуда:

//--- бесконечный цикл 
void OnStart() 
  { 
   uchar  u_ch;
 
   for(char ch=-128;ch<128;ch++) 
     { 
      u_ch=ch; 
      Print("ch = ",ch," u_ch = ",u_ch); 
     } 
  }

результат:

   ch= -128  u_ch= 128 
   ch= -127  u_ch= 129 
   ch= -126  u_ch= 130 
   ch= -125  u_ch= 131 
   ch= -124  u_ch= 132 
   ch= -123  u_ch= 133 
   ch= -122  u_ch= 134 
   ch= -121  u_ch= 135 
   ch= -120  u_ch= 136 
   ch= -119  u_ch= 137 
   ch= -118  u_ch= 138 
   ch= -117  u_ch= 139 
   ch= -116  u_ch= 140 
   ch= -115  u_ch= 141 
   ch= -114  u_ch= 142 
   ch= -113  u_ch= 143 
   ch= -112  u_ch= 144 
   ch= -111  u_ch= 145 
    ... 

Прошу пояснить почему 

   ch= -127  u_ch= 129 

а не 

   ch= -127  u_ch= 127 

?

 
Sergey #:

Здравствуйте.

Вопрос по документации.

пример оттуда:

результат:

Прошу пояснить почему 

а не 

?

Представление отрицательных чисел в дополнительном коде. https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4_(%D0%BF%D1%80%D0%B5%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%B0)

 

Получаю в сервисе после вызова SocketConnect() ошибку 4014.

Что бы это значило? SocketConnect() разрешён в сервисах?

 
leonerd #:

Получаю в сервисе после вызова SocketConnect() ошибку 4014.

Что бы это значило? SocketConnect() разрешён в сервисах?

ок, забыл добавить адрес в список разрешенных в настройках терминала.

 
Да, эти сервисы такая мука дебажить. Они не убиваются. Остановил дебаг и всё - второй раз дебаг не запустить.
 
leonerd #:
Да, эти сервисы такая мука дебажить. Они не убиваются. Остановил дебаг и всё - второй раз дебаг не запустить.

А кто запретил дебажить код в скрипте и потом перенести его в сервис?

 
Alexey Viktorov #:

А кто запретил дебажить код в скрипте и потом перенести его в сервис?

Да кто ж любит эти костыли )). Но ниче вроде, поехало со второго раза. Разкочегарило )))

 

Подскажите, пожалуйста, если я передаю объект в массив объектов (CArrayObj), который потом уничтожается (массив), как мне сохранить объект? Судя по описанию FreeMode() для массива это не совсем то.

Я хочу, чтобы после уничтожения объявленного массива объектов, не уничтожался добавленный в него элемент.