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

 
Dmitriy Burlachenko:

Всем привет.

Пытаюсь соединить несколько текстовых меток в одну длинную строку. Почему-то при отсутствии тиков (выходной день), да и в обычном режиме, функция ObjectGetInteger(0,name,OBJPROP_XSIZE) периодически (не всегда) возвращает 0 при том, что объект "name" точно есть. В тестере ошибки реже, но тоже появляются.

Код ошибки 0, а значение не получено.  Вопрос к разработчикам и знатокам. Почему? Что я делаю не так или это баг?

код тестового советника ниже


P.S. Кстати, мне так никто из разработчиков и не ответил на предыдущий вопрос


может быть длина имени слишком большая? 

 

Хотел опубликовать в КБ индикатор строящий кастомные графики, состояние "проверяется модератором", https://www.mql5.com/ru/code/24839/220196#!tab=code

индикатор для МТ4, используется эмуляция тиков с помощью 

#import "user32.dll"
int RegisterWindowMessageW(string lpString);
#import

как опубликовать?

ЗЫ: могу конечно урезать функционал, но не хотелось бы

 
Igor Makanu:

как опубликовать?

Ответ содержится в советнике, который сегодня выложил в КБ. Не в курсе, есть ли в MT4 автопроверка.

 
Vladislav Andruschenko:


может быть длина имени слишком большая? 

В общей задаче, я как раз и собираю ("склеиваю") из нескольких меток длинную строку текста, т.к. есть ограничение на длину метки в 63 символа. Но длина метки тут не при чём. Объект метки, при создании, сам обрежет длину текста до максимума, а функция должна вернуть ширину метки в пикселях. Раз объект создан и существует, то функция (по документации) должна вернуть его ширину в пикселях, а возвращает 0 :(  В приложенном примере, совсем короткие три метки склеиваются, а всё равно функция периодически 0 возвращает :( Длина имени тоже не большая. Насколько я помню, там ограничение тоже в 64 символа.

 
fxsaber:

Ответ содержится в советнике, который сегодня выложил в КБ. Не в курсе, есть ли в MT4 автопроверка.

спасибо, попробовал,  не получилось, опубликовал кастрированную версию, да будет так

 
Igor Makanu:

индикатор для МТ4, используется эмуляция тиков с помощью 

Можно использовать ChartSetSymbolPeriod с текущими значениями для обновления.

 
Andrey Khatimlianskii:

Можно использовать ChartSetSymbolPeriod с текущими значениями для обновления.

можно, именно так и обновляется кастомный график, но не будет тиков для эксперта, можете проверить таким экспертом:

void OnTick()
  {
   Print("tick");
  }

без отправки сообщения окну 

RegisterWindowMessageW("MetaTrader4_Internal_Message");

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

 

При оптимизации был сбой с интернетом, получил ошибки

2019.03.01 07:37:57.954 Core 1  pass 2580 tested with error "some error after pass finished" in 0:00:00.000
2019.03.01 07:37:57.960 Core 1  pass 2581 tested with error "some error after pass finished" in 0:00:00.000
2019.03.01 07:37:57.966 Core 1  pass 2582 tested with error "some error after pass finished" in 0:00:00.016
2019.03.01 07:37:58.971 Core 1  pass 2583 tested with error "some error after pass finished" in 0:00:00.000
2019.03.01 07:37:59.976 Core 1  pass 2584 tested with error "some error after pass finished" in 0:00:00.016
2019.03.01 07:37:59.981 Core 1  pass 2585 tested with error "some error after pass finished" in 0:00:00.000
2019.03.01 07:38:00.985 Core 1  pass 2586 tested with error "some error after pass finished" in 0:00:00.000
2019.03.01 07:38:01.990 Core 1  pass 2587 tested with error "some error after pass finished" in 0:00:00.015
2019.03.01 07:38:01.995 Core 1  pass 2588 tested with error "some error after pass finished" in 0:00:00.000

Что это значит? Проходы повреждены или они автоматически будут ещё раз отправлены на оптимизацию?

Кончилась оптимизация, и в логе вот что

2019.03.01 08:23:58.151 Tester  optimization finished, total passes 3010
2019.03.01 08:23:58.161 Statistics      optimization done in 22 hours 54 minutes 14 seconds
2019.03.01 08:23:58.161 Statistics      shortest pass 0:02:14.442, longest pass 1:03:37.844, average pass 0:12:32.903
2019.03.01 08:23:58.161 Statistics      local 1229 tasks (40%), remote 1781 tasks (59%), cloud 0 tasks (0%)
2019.03.01 08:23:58.161 Core 1  connection closed
...
2019.03.01 08:23:58.302 Tester  2580 new records saved to cache file 'tester\cache\Tree_Brut_v_02_03l.30.F46E9879A5535A9B0CF798F0187848FB.opt'

Получается что обработано только 2580 проходов из 3010? Это ужасно!

 

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

В последней версии (build 2007, 25 Feb 2019) обнаружились два бага:

1)      1) При открытии программы (или смены профиля) на многих графиках (общее количество 41) отображается вечное «Ожидание обновления».

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

3)      Спорный баг (на версии за декабрь 2018 года все нормально работало, ошибок не было), может ошибка в индикаторе, при запуске программы или смене профиля, неправильно рассчитывается индикатор, по отрисованным данным видно, что часть данных рассчитана неверно. При повторном применении шаблона или открытии и закрытии свойств индикатора, верно рассчитываются данные.

4)      Почему-то агенты перестали работать в облаке после обновления (аккаунт указан). Пройдено тестов 586, прошло времени 0 часов 0 минут.

 

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

Обнаружил момент по работе Маркета со стороны продавца.

Обратил внимание на то, что после отмены поступившего ко мне платежа за продукт(покупатель ошибся - у него другая версия MetaTrader(4 вместо 5, или наоборот)) не откорректировалась статистика продаж на странице продукта с вкладки "Статистика". Не откорректировалась и общая статистика по продуктам со страницы "Продавец"(платеж в ней учтен как продажа несмотря на отмену и показан как заработанные средства, тогда как на странице "Платежи" отмена учтена и отображена).  

Отмена произошла сегодня равно как и платеж за продукт.

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

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