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

 
Kirill Belousov:

имеете ввиду, что функция должна проверяться на override по типу входящего аргумента без учета const при ее объявлении?

или надо добавить в шаблон системной функции ArrayMinimum вариант с const?

https://www.mql5.com/ru/docs/array/arrayminimum

int  ArrayMinimum( 
   const void&   array[],             // массив для поиска 
   int           start=0,             // с какого индекса начинаем поиск 
   int           count=WHOLE_ARRAY    // количество проверяемых 
   );
И Warning неадекватный.
Документация по MQL5: Операции с массивами / ArrayMinimum
Документация по MQL5: Операции с массивами / ArrayMinimum
  • www.mql5.com
//| Закрашивание основной части свечи                                | //
 
fxsaber:

https://www.mql5.com/ru/docs/array/arrayminimum

И Warning неадекватный.
warning понятно откуда - проморгали и допустили текстовый массив до операций, предназначенных для численных значений
 
Kirill Belousov:
warning понятно откуда - проморгали и допустили текстовый массив до операций, предназначенных для численных значений

Не проморгал, т.к. написал соответствующую ArrayMinimum. Но она допущена и не вызвается по своим причинам. Поэтому такой аргумент

void OnStart()
{
  string Str[];
  
  int i = ArrayMinimum(Str); // Warning: possible loss of data due to type conversion
  ArraySort(Str); // Warning: expression has no effect
  ArrayFill(Str, 0, 1, 0); // Error: 'Str' - type mismatch
}

Везде, где красные, должны быть желтые сообщения компилятора. Красные еще умудряются быть разными.

 
fxsaber:

Не проморгал, т.к. написал соответствующую ArrayMinimum. Но она допущена и не вызвается по своим причинам. Поэтому такой аргумент

Везде, где красные, должны быть желтые сообщения компилятора. Красные еще умудряются быть разными.

"проморгали" - не в Ваш огород :)

Я вижу это так: Разработчики застолбили имена функций для операций с любыми массивами системными функциями, но реализовали пока только работу с числовыми массивами.

Но вот "заглушки" поставили не на все случаи и получается сообщения пользователю выдаются "не в тему".

Вот это надо исправить - согласен на все 100%.

 

Кто-нибудь сталкивался с такой ситуацией (MT4):

Советник работает на многих графиках (установлен на основании одного шаблона). Сохранено все в профиль. Оставлено на круглосуточную работу на VPS.

Вдруг на некоторых из графиков обнаруживается при открытии окна настроек, что все строковые переменные содержат пустые значения. (В том числе фэйковые - только для обозначения раздела настроек наподобие "---ТУТ ФИЛЬТР---")

Терминалы были разные и советники от разных авторов из Маркета.

Сам терминалы не перезагружал. Настройки преднамеренно не менял. 

 


Здравствуйте, помогите пожалуйста с советником. Начинаю тестировать, выдает ошибку array out of range in  EA.mq4' (149,49). Как я понял ошибка в этой строчке  for (int li_8 = li_4; li_8 > 0; li_8--) aia_0[li_8] = aia_0[li_8 - 1];  Если эту часть кода в советнике удалить, то тестер запускается, но советник сделки не открывает. Подскажите пожалуйста, что в этом коде нужно изменить, чтобы все заработало.

 
Ivan Lysenkov:


Здравствуйте, помогите пожалуйста с советником. Начинаю тестировать, выдает ошибку array out of range in  EA.mq4' (149,49). Как я понял ошибка в этой строчке  for (int li_8 = li_4; li_8 > 0; li_8--) aia_0[li_8] = aia_0[li_8 - 1];  Если эту часть кода в советнике удалить, то тестер запускается, но советник сделки не открывает. Подскажите пожалуйста, что в этом коде нужно изменить, чтобы все заработало.

Вы работаете с декомпилом? А стоит? Здесь - на этом ресурсе - строгий запрет на любые работы и обсуждения ворованного кода.

 
Kirill Belousov:

Кто-нибудь сталкивался с такой ситуацией (MT4):

Советник работает на многих графиках (установлен на основании одного шаблона). Сохранено все в профиль. Оставлено на круглосуточную работу на VPS.

Вдруг на некоторых из графиков обнаруживается при открытии окна настроек, что все строковые переменные содержат пустые значения. (В том числе фэйковые - только для обозначения раздела настроек наподобие "---ТУТ ФИЛЬТР---")

Терминалы были разные и советники от разных авторов из Маркета.

Сам терминалы не перезагружал. Настройки преднамеренно не менял. 

Надо было шаблон сохранить, когда столкнулись.

 
fxsaber:

Надо было шаблон сохранить, когда столкнулись.

Не понял.

Я просто ставлю советник на график. Выставляю нужные настройки и сохраняю в виде шаблона.

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

Обнаружил это случайно - перестали появляться комментарии к сделкам


В СД заявку писал еще в апреле. Но они ситуацию воспроизвести у себя не смогли, как я сегодня узнал после запроса.

Я с тех пор перестал быть уверен в надежности строковых параметров в extern.

Вот как сразу после применения шаблона:


Вот как после срабатывания глюка


Вот сравнение в программе чартов с глюкнувшим экспертом и графика, на котором не было глюка (оба были открыты одним шаблоном)


 
Kirill Belousov:

Не понял.

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

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

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