Обсуждение статьи "Графические интерфейсы X: Элемент "Стандартный график" (build 4)" - страница 5

 
Реter Konow:

2. То, что моя реализация не тормозит видно на видео.

4. Верно. Поэтому я с Вами и дискутирую. С моей точки зрения, Ваше решения перерисовки всего графика на событии каждого объекта не является эффективным и служит причиной дополнительной нагрузки на процессор. Оптимизация зависит от правильного решения этой проблемы. У меня нет вызова функции ChartRedrow() (поверьте на слово пожалуйста), а интерфейс не тормозит (на видео это видно).

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

5. Подтверждение того, что мои утверждения обоснованы - мое слово, что я не использую ChartRedrow() и видео, в котором есть результат обхождения без этой функции.

2. То, что в моей намного более функциональной, чем Ваша, версии библиотеки ничего не тормозит, видно на графике прямо в терминале, а не на видео.

4. Вам сколько раз нужно задать один и тот же вопрос? Или Вы так неказисто от него пытаетесь увильнуть? 

Дублирую вопросы:

Где Вы проводите свои тесты ? В MetaTrader 4/5 ? В Windows 7/8/10 ?

На Ваше предложение я Вам уже ответил. Оно не подходит, потому что ChartRedraw() использовать нужно, относительно заложенного функционала моей версии библиотеки. Тем не менее, у каждого есть возможность отключить перерисовку в движке библиотеки, класс CWndEvents метод OnTimerEvent(), и проверить всё самостоятельно, чтобы понять, почему это нужно. Все файлы для тестов представлены в конце статьи.

5. Ваше слово, также, как и моё, и любого другого, ничего не стоит без материала, который можно протестировать каждому. С моей стороны весь необходимый материал предоставлен.

 
Anatoli Kazharski:

2. То, что в моей намного более функциональной, чем Ваша, версии библиотеки ничего не тормозит, видно на графике прямо в терминале, а не на видео.

4. Вам сколько раз нужно задать один и тот же вопрос? Или Вы так неказисто от него пытаетесь увильнуть? 

Дублирую вопросы:

Где Вы проводите свои тесты ? В MetaTrader 4/5 ? В Windows 7/8/10 ?

На Ваше предложение я Вам уже ответил. Оно не подходит, потому что ChartRedraw() использовать нужно, относительно заложенного функционала моей версии библиотеки. Тем не менее, у каждого есть возможность отключить перерисовку в движке библиотеки, класс CWndEvents метод OnTimerEvent(), и проверить всё самостоятельно, чтобы понять, почему это нужно. Все файлы для тестов представлены в конце статьи.

5. Ваше слово, также, как и моё, и любого другого, ничего не стоит без материала, который можно протестировать каждому.

2. Следуя Вашей логике, сделать вывод о том, что Ваша библиотека намного более функциональна, можно не по взгляду "сверху", а только протестировав оба варианта. Такой возможности у Вас еще не было. Да и времени на реализацию у меня было меньше (Вы все-таки, дольше меня программируете).        Поэтому не торопитесь...

4. Тестирование я провожу в Windows 8, MetaTrader 4, именно для того, чтобы тормозило по-больше. Так я лучше вижу недостатки в скорости, торможение и т.д...  MT5 считаю более продвинутым и там пока не тестирую. Хочу чтобы на МТ4 все идеально работало.

То, что Вы не можете изменить ситуацию с ChartRedraw(), я уже понял, так как это повлечет глобальный передел всего функционала библиотеки. Этим и определяются границы возможной оптимизации Вашей библиотеки.

5. Тестируемый вариант моих окон будет предоставлен сюда на эту ветку через некоторое время, в качестве того самого материала для тестирования каждым. Вы сами этого просите и не говорите что я рекламирую что то.

 
Реter Konow:

2. Следуя Вашей логике, сделать вывод о том, что Ваша библиотека намного более функциональна, можно не по взгляду "сверху", а только протестировав оба варианта. Такой возможности у Вас еще не было. Да и времени на реализацию у меня было меньше (Вы все-таки, дольше меня программируете).        Поэтому не торопитесь...

4. Тестирование я провожу в Windows 8, MetaTrader 4, именно для того, чтобы тормозило по-больше. Так я лучше вижу недостатки в скорости, торможение и т.д...  MT5 считаю более продвинутым и там пока не тестирую. Хочу чтобы на МТ4 все идеально работало. 

2. То есть Вы хотите сказать, что ещё не всё показали из того, что у Вас есть? Хорошо. Так даже интереснее.

3. То есть тестируете только в Windows 8 и MetaTrader 4, а выводов сделали за всё и за всех? Когда перейдёте к тестам в других средах, тогда многое для Вас прояснится.

Реter Konow: 

То, что Вы не можете изменить ситуацию с ChartRedraw(), я уже понял, так как это повлечет глобальный передел всего функционала библиотеки. 

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

Я вижу, что ровно ноль:

//--- 

А я многие вопросы для себя прояснил именно там, по мере того, как развивалась платформа MetaTrader 5:


//--- 

Реter Konow: 

Этим и определяются границы возможной оптимизации Вашей библиотеки.  

И совсем не этим определяются возможности библиотеки. Глупости какие-то пишите.

Реter Konow: 

5. Тестируемый вариант моих окон будет предоставлен сюда на эту ветку через некоторое время, в качестве того самого материала для тестирования каждым. Вы сами этого просите и не говорите что я рекламирую что то. 

Вас быстрее забанят.

P.S. Ну вот, уже забанили, а Вы ведь ещё даже ничего и не опубликовали. 

 

Толь, подскажи: если у нас есть окно со стандартным графиком на нём (CStandardChart), то если выбрать перекрестие (Ctrl+F) и попытаться что-либо замерить на субграфике, то, естественно, ничего не получится - "линейка" измеряет данные с основного графика, а график субчарта ёрзает за перекрестием туда-сюда.

Вопрос: 

  1. возможно ли избавиться от того, что субчарт бегает за перекрестием? (не очень интересный вариант), или
  2. возможно ли сделать так, чтобы замеры производились на субчарте? (что было бы весьма вкусно)
 
Artyom Trishkin:

Толь, подскажи: если у нас есть окно со стандартным графиком на нём (CStandardChart), то если выбрать перекрестие (Ctrl+F) и попытаться что-либо замерить на субграфике, то, естественно, ничего не получится - "линейка" измеряет данные с основного графика, а график субчарта ёрзает за перекрестием туда-сюда.

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

Artyom Trishkin:

...

1. возможно ли избавиться от того, что субчарт бегает за перекрестием? (не очень интересный вариант)

 Да. Просто не делать этого над субчартом. 

Artyom Trishkin:

...

2. возможно ли сделать так, чтобы замеры производились на субчарте? (что было бы весьма вкусно)

Пока не пробовал. Но похоже можно, судя по этому индикатору: Тиковый индикатор ZoomPrice

 
Anatoli Kazharski:

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

 Да. Просто не делать этого над субчартом. 

Пока не пробовал. Но похоже можно, судя по этому индикатору: Тиковый индикатор ZoomPrice

Сам в шоке ;)

Бум надеяться, что у тебя такое получится. Ну или сами дотумкаем в свободное время.

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

И я Вам ответил, что сделаю.

В следующем обновлении нет, так как сейчас идёт большая работа над другими частями в рамках второго этапа развития. В общем, не могу сказать точно, когда именно. В одном из следующих.

 
Anatoli Kazharski:

И я Вам ответил, что сделаю.

В следующем обновлении нет, так как сейчас идёт большая работа над другими частями в рамках второго этапа развития. В общем, не могу сказать точно, когда именно. В одном из следующих.


да ответили, но в каком обновлении я не уточнял, поэтому и спросил ))
 
Konstantin:

да ответили, но в каком обновлении я не уточнял, поэтому и спросил ))

Сначала добавлю возможность работать вот с этими графиками: Визуализируй это! Графическая библиотека в MQL5 как аналог plot из R

А потом расширю возможности класса CStandartChart.

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