Новая версия платформы MetaTrader 5 build 2007: Экономический календарь, MQL5-программы в виде сервисов - страница 5

 
Andrey Khatimlianskii:

Это актуально в 2005 билде.

Как исправить?

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

Для приведённого скриншота, закономерно, что функция ObjectFind занимает 99.97% времени, т.к. остальной код функции ничего не стоит, по сравнению в выполнением синхронной функции.

 
fxsaber:

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

Будет формировать в ближайшем будущем. Мы сейчас этим занимаемся
 
Andrey Khatimlianskii:

Сейчас это важно?

Мое сообщение было 2019.01.22, сегодня повторил. Реакции нет.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Новая версия платформы MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5

Slava, 2019.02.14 12:44

Обычно, на карандаш берётся сразу. Сходу делается проверка. А дальше как получится. Если воспроизвелось, то исправляем без лишних вопросов. Если не воспроизвелось, то оцениваем баг. Насколько он серъёзен и скольких пользователей он может задеть. Априори мы верим всему, что написано. Сказали нам, что есть баг, значит он есть. Если считаем, что баг серьёзный, то связываемся с автором репорта в личке и вытягиваем максимум подробностей.

По-хорошему, нужны воспроизводимые шаги.

Иногда баги проходят мимо. Не увидели, увидели, но забыли.

 
Andrey Khatimlianskii:

Это актуально в 2005 билде.

Как исправить?

Насколько актуально? Всё так же медленно?

Мы убыстрили выполнение функции ObjectFind.

К сожалению, все функции с объектами работают через очередь соответствующего графика, а не напрямую. ObjectFind - функция синхронная. То есть, отправляет запрос графику и дожидается, когда график обработает этот запрос и ответит

 
Slava:
Будет формировать в ближайшем будущем. Мы сейчас этим занимаемся

Большая просьба, сделать тогда перегрузку

int  CustomTicksReplace( 
   const string     symbol,            // имя символа 
   long             from_msc,          // с какой даты 
   long             to_msc,            // по какую дату 
   const MqlTick&   ticks[],           // массив с тиковыми данными, которые необходимо применить к пользовательскому инструменту 
   uint             count=WHOLE_ARRAY, // количество элементов, которые будут использованы из массива ticks[]
   const bool CreateRates = false      // Модифицировать или нет баровую историю по штатному алгоритму формирования баров из тиков
   );


Вы, конечно, видели недовольство тем, как формируются бары

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Ошибки, баги, вопросы

Slava, 2019.02.19 09:34

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


Формирую бары по другому алгоритму при создании кастомных символов. Поэтому просьба по перегрузке соответствующей функции имеет свои основания.

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


ЗЫ Сама Ваша задумка очень хороша и облегчает использование очень сильно в большинстве случаев. Например, когда пользователь руками через CTRL+U импортирует тики, то будет получать автоматом и бары. Что сразу позволит использоваться символ в Тестере, например.

 
fxsaber:
Конкретно по этому багу "медленная работа ObjectFind" были произведены исправления в билде 1971
 
Slava:
Будет формировать в ближайшем будущем. Мы сейчас этим занимаемся

Получится исправить?

 
Ilyas:

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

Для приведённого скриншота, закономерно, что функция ObjectFind занимает 99.97% времени, т.к. остальной код функции ничего не стоит, по сравнению в выполнением синхронной функции.

Вы готовы разобраться в монстроподобной панели с кучей костылей, добавляемых по ходу развития? Я был бы только рад.


Slava:

Насколько актуально? Всё так же медленно?

Мы убыстрили выполнение функции ObjectFind.

К сожалению, все функции с объектами работают через очередь соответствующего графика, а не напрямую. ObjectFind - функция синхронная. То есть, отправляет запрос графику и дожидается, когда график обработает этот запрос и ответит

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

Возможно, дело не в чистом ОбджектФайнд, а в его связке с другими функциями (обработка событий)?

 
Andrey Khatimlianskii:

Вы готовы разобраться в монстроподобной панели с кучей костылей, добавляемых по ходу развития? Я был бы только рад.

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

Возможно, дело не в чистом ОбджектФайнд, а в его связке с другими функциями (обработка событий)?

Разобраться возможно и нет, но по крайней мере сможем проверить, на наличие явных тормозов в терминале и/или программе

 
Ilyas:

Разобраться возможно и нет, но по крайней мере сможем проверить, на наличие явных тормозов в терминале и/или программе

Отправил. Спасибо.