Ошибки, баги, вопросы - страница 1078

 
barabashkakvn:

Билд 871. Инструмент - фьючерс на индекс Украинской Биржи. Значения объема - какие-то фантастические:

 

Значение объема на данном баре должно быть равно 1 контракту. Я же вижу значение 110034815030 

Это наверно потому, что пользуетесь демо-счетом. Переходите на реальный, там котировки адекватные
 
IRash:
Это наверно потому, что пользуетесь демо-счетом. Переходите на реальный, там котировки адекватные
Счет вообще-то реальный.
 
IRash:
Не в этом дело, я наверно не совсем точно задал вопрос. Итак, в тестере какое значение тика долларовых фьючей? Последнее текущее или историческое?
В спецификации есть ответ. Тестер можно и свой написать. Чтоб ориентироваться в своем лесу).
 
aharata:

на fozzy на тарифе fast forex зависает с потерей всех глобальных переменных терминала один из двух (любой через некоторое время) терминалов начиная с 858 билда. пол года до этого вообще без зависаний. кто нибудь сталкивался? как это дело исправить и что проверить?

Тоже столкнулся с частым (несколько раз за неделю) зависанием без видимых причин (в отсутствии активных советников), но не только MT5, но и ME5 при редактировании. Помогает - только перезагрузка компьютера.
 

A100:
Тоже столкнулся с частым (несколько раз за неделю) зависанием без видимых причин (в отсутствии активных советников), но не только MT5, но и ME5 при редактировании. Помогает - только перезагрузка компьютера. 

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

 

Нашёл такую непонятку, при копировании из хэндла iStochastic с помощью CopyBuffer проверяю "правильность" скопирования условием if(CopyBuffer(...)<=0) - всё хорошо, но если сделать как if(CopyBuffer(...) !=1) - то данные не копируются. Проверяю выводом через Comment. В примере Moving Average от MQ в разделе "3.2. Функция CheckForOpen()" используется именно !=1 (там правда для МА).

   //if(CopyBuffer(StochHandle,MAIN_LINE,0,3,StochMain)!=1) // not working
   if(CopyBuffer(StochHandle,MAIN_LINE,0,3,StochMain)<=0) // it is ok
      return;
   ArraySetAsSeries(StochMain,true);
//---
   //if(CopyBuffer(StochHandle,SIGNAL_LINE,0,3,StochSignal)!=1) // not working
   if(CopyBuffer(StochHandle,SIGNAL_LINE,0,3,StochSignal)<=0) // it is ok
      return;
   ArraySetAsSeries(StochSignal,true);

Подскажите из-за чего это?

Файлы:
 
Привет всем! Как прикрутить двойной клик ON_DBL_CLICK к списку ListView из стандартной библиотеки? По-всякому пытался, но не получается.
Документация по MQL5: Стандартная библиотека
Документация по MQL5: Стандартная библиотека
  • www.mql5.com
Стандартная библиотека - Документация по MQL5
 
Еще раз всем привет! Как программно определить, где выполняется работа советника:  в терминале или в тестере? Может есть какие глобальные переменные?
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
Документация по MQL5: Основы языка / Переменные / Глобальные переменные
  • www.mql5.com
Основы языка / Переменные / Глобальные переменные - Документация по MQL5
 
IRash:
Еще раз всем привет! Как программно определить, где выполняется работа советника:  в терминале или в тестере? Может есть какие глобальные переменные?
С помощью функции MQL5InfoInteger(). Зайдите по ссылке - там в перечислении ENUM_MQL5_INFO_INTEGER есть...
 
paladin800:

Нашёл такую непонятку, при копировании из хэндла iStochastic с помощью CopyBuffer проверяю "правильность" скопирования условием if(CopyBuffer(...)<=0) return; - всё хорошо, но если сделать как if(CopyBuffer(...) !=1) return; - то данные не копируются. Проверяю выводом через Comment. В примере Moving Average от MQ в разделе "3.2. Функция CheckForOpen()" используется именно !=1 (там правда для МА).

Подскажите из-за чего это?

Функция  CopyBuffer() из справки: 

Возвращаемое значение:

Количество скопированных элементов массива либо -1 в случае ошибки.

Когда копируешь 3 элемента - эта функция вернет 3. Замените   !=1 на  !=3 и всё заработает. Но я бы всё же пользовался проверкой <3

Причина обращения: