iBarShift с параметром перекрестия - страница 2

 
Igor Makanu:

не тестировал скорость  ChartXYToTimePrice() - не знаю

при использовании для кликов мышкой пользователя фризов не наблюдал


ОК, учту, правда как протестировать скорость  ChartXYToTimePrice() еще не придумал, высока вероятность, что она выполняется в окружении терминала, а не в MQL-коде, т.е. скорее всего это асинхронная команда, думаю она не спроста bool 

https://www.mql5.com/ru/forum/94893/page4#comment_7721516

https://www.mql5.com/ru/forum/1111/page2098#comment_6301709
 

Парни, вы так заморочились скоростями, но не учитываете что здесь не канвас где обрабатывается действительно не мало. И что даст несколько миллисекунд экономии при не частом использовании ChartXYToTimePrice?

Индикатор в комментарии чарта показывает номер бара старшего, указанного в параметрах периода.

Файлы:
 
Alexey Viktorov:

Парни, вы так заморочились скоростями, но не учитываете что здесь не канвас где обрабатывается действительно не мало. И что даст несколько миллисекунд экономии при не частом использовании ChartXYToTimePrice?

Индикатор в комментарии чарта показывает номер бара старшего, указанного в параметрах периода.

В том то и дело, что если сделаю полную очистку канваса на все окно и нарисую на нем 1000 залитых кругов, а потом выведу это все на экран, то это выполнится быстрее чем штатный перевод координат во время и цену(ChartXYToTimePrice).
Речь про МТ5. Про четверку не помню. Сейчас не за компом, чтобы проверить.
 
Alexey Viktorov:

Парни, вы так заморочились скоростями, но не учитываете что здесь не канвас где обрабатывается действительно не мало. И что даст несколько миллисекунд экономии при не частом использовании ChartXYToTimePrice?

Индикатор в комментарии чарта показывает номер бара старшего, указанного в параметрах периода.

В том то и дело, что если сделаю полную очистку канваса на все окно и нарисую на нем 1000 залитых кругов, а потом выведу это все на экран, то это выполнится быстрее чем штатный перевод координат во время и цену(ChartXYToTimePrice).
Речь про МТ5. Про четверку не помню. Сейчас не за компом, чтобы проверить.
 

Вы о чём тут все ? ТС пусть косноязычно но просит смешать iBarShift и ChartNavigate. То есть не просто найти бар по заданному времени , но и ещё его и увидеть

Плюс по возможности включить стандартное "перекрестие". Фсё.

 
Nikolai Semko:
В том то и дело, что если сделаю полную очистку канваса на все окно и нарисую на нем 1000 залитых кругов, а потом выведу это все на экран, то это выполнится быстрее чем штатный перевод координат во время и цену(ChartXYToTimePrice).
Речь про МТ5. Про четверку не помню. Сейчас не за компом, чтобы проверить.

Николай, но ведь эту разницу мы не увидим. Ведь задача не циклом 100500700 раз пересчитать одно и то же. На графике визуально мы этого не заметим. Следовательно зачем заморачиваться скоростью выполнения одноразового обращения к функции? Я этого не понимаю.

Я недавно делал индикатор, с ужасно сложным алгоритмом пересчёта, в котором трёхкратный цикл в цикле. Так вот на пересчёт 20 тысяч баров он тратит около 10 секунд. Да, это заметно, а 1000 баров уже не заметно пересчитывает. Так и здесь,если будет 100500 обращений к ChartXYToTimePrice в цикле, может и будет заметна задержка. А так………

 
Alexey Viktorov:

Парни, вы так заморочились скоростями, но не учитываете что здесь не канвас где обрабатывается действительно не мало. И что даст несколько миллисекунд экономии при не частом использовании ChartXYToTimePrice?

Индикатор в комментарии чарта показывает номер бара старшего, указанного в параметрах периода.

отлично ! все то что мне надо 

спасибо !

 
Alexey Viktorov:

Николай, но ведь эту разницу мы не увидим. Ведь задача не циклом 100500700 раз пересчитать одно и то же. На графике визуально мы этого не заметим. Следовательно зачем заморачиваться скоростью выполнения одноразового обращения к функции? Я этого не понимаю.

Я недавно делал индикатор, с ужасно сложным алгоритмом пересчёта, в котором трёхкратный цикл в цикле. Так вот на пересчёт 20 тысяч баров он тратит около 10 секунд. Да, это заметно, а 1000 баров уже не заметно пересчитывает. Так и здесь,если будет 100500 обращений к ChartXYToTimePrice в цикле, может и будет заметна задержка. А так………

Разные задачи - разные требования.

Nikolai Semko:
В том то и дело, что если сделаю полную очистку канваса на все окно и нарисую на нем 1000 залитых кругов, а потом выведу это все на экран, то это выполнится быстрее чем штатный перевод координат во время и цену(ChartXYToTimePrice).
Речь про МТ5. Про четверку не помню. Сейчас не за компом, чтобы проверить.

Проверил. На MT5 по прежнему все плохо.
На MT4 такой проблемы нет. Можно без проблем использовать  ChartXYToTimePrice. Время выполнения меньше 1 микросекунды.
На MT5 выполнение ChartXYToTimePrice занимает от ~ 5 до 30 миллисекунд в зависимости от масштаба графика и ТФ. Т.е. в 5000-30000 раз дольше, чем на MT4. 
Но с MQ бесполезно говорить на эту тему. У них одна отмазка - функция асинхронная.   

Файлы:
Причина обращения: