Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
...
Что могу сказать? Один Bitmap работает (!)на порядок медленнее, чем 26 обычных меток. Пробывал исключить из OnTick() операцию копирования шаблона в рабочую канву (массив uint 250*410), т.е. работа на одной канве. Выигрыш чувствуется только в реал-тайме. В тестере всё также - абсолютная просадка по производительности. Использовался режим COLOR_FORMAT_ARGB_NORMALIZE, т.к. остальные дают менее эстетический вид. Забегая вперед, надо сказать, что работать на одной канве сложно, так как придётся отслеживать наложение предыдущих надписей (очищать области).
...
Спасибо, я это знаю. У vdv2001 какая-то проблема с этим:
//---
Хотел посмотреть, как он это делает, чтобы найти у него ошибку.
Тогда еще цитата из справки
CHART_MOUSE_SCROLL
Прокрутка графика левой кнопкой мышки по горизонтали. Прокрутка по вертикали также будет доступна, если установлено в true значение любого из трех свойств: CHART_SCALEFIX, CHART_SCALEFIX_11 или CHART_SCALE_PT_PER_BAR
bool
Да объект выделяется но сдвинуть его мышкой (как 4 терминале) не удается.
Или теперь перемещение всех созданных экспертом объектов нужно обрабатывать через события.
А, понял в чём дело. )) В MT5 нужно точно на точку привязки при выделенном объекте курсор мыши целить. В MT4 это происходит автоматом. Но лично мне больше нравится перемещать объекты без выделения через события. Выше Rosh показал свойство, которое включает/отключает скроллинг графика, чтобы не мешал перемещать объекты.
Увеличил график на максимум, установил мышь на точку привязки выделенного объекта "вдавил" левую кнопку мыши в пол, приложил максимальные усилия и ...
Объект остался на месте
Повторить этот процесс не сложно, создай объект CChartObjectTrend, задай свойства и попробуй его сдвинуть. У меня не получилось.
CHART_MOUSE_SCROLL попробовал спасибо, график перестает двигаться но объект передвинуть не удается.
P.S.
Хотя если обрабатывать перемещение объекта через события это и правильно (известна старая координата) . Буду делать через события. Спасибо, вопрос закрыт.
Увеличил график на максимум, установил мышь на точку привязки выделенного объекта "вдавил" левую кнопку мыши в пол, приложил максимальные усилия и ...
Объект остался на месте
Повторить этот процесс не сложно, создай объект CChartObjectTrend, задай свойства и попробуй его сдвинуть. У меня не получилось.
...
Вот так получается, если что:
Кому-нибудь удалось повторить подвиг voix_kas ?
...
Что могу сказать? Один Bitmap работает (!)на порядок медленнее, чем 26 обычных меток. Пробывал исключить из OnTick() операцию копирования шаблона в рабочую канву (массив uint 250*410), т.е. работа на одной канве. Выигрыш чувствуется только в реал-тайме. В тестере всё также - абсолютная просадка по производительности. Использовался режим COLOR_FORMAT_ARGB_NORMALIZE, т.к. остальные дают менее эстетический вид. Забегая вперед, надо сказать, что работать на одной канве сложно, так как придётся отслеживать наложение предыдущих надписей (очищать области).
...
У Вас в тестере в режиме визуализации отображаются объекты типа OBJ_BITMAP_LABEL !?
//---
Или это опечатка? )))
Вот так получается, если что:
Точно, я разобрался почему у меня не происходило перемещение, я устанавливаю свойство объекта OBJPROP_TIMEFRAMES после чего объект перестает перемещаться.
Т.е. для минутного графика я указываю свойство
obj.Timeframes(OBJ_PERIOD_M1);
и объект перестает передвигатся, походу это глюк.
Все начинает работать нормально после переключения периода графика типа переключаемся на М2, а потом М1 и все ок.
voix_kas:
Что могу сказать? Один Bitmap работает (!)на порядок медленнее, чем 26 обычных меток. Пробывал исключить из OnTick() операцию копирования шаблона в рабочую канву (массив uint 250*410), т.е. работа на одной канве. Выигрыш чувствуется только в реал-тайме. В тестере всё также - абсолютная просадка по производительности. Использовался режим COLOR_FORMAT_ARGB_NORMALIZE, т.к. остальные дают менее эстетический вид. Забегая вперед, надо сказать, что работать на одной канве сложно, так как придётся отслеживать наложение предыдущих надписей (очищать области).1. Как замеряете скорость?
2. Можете приложить исходник (в личку или в СД)?
1. Как замеряете скорость?
2. Можете приложить исходник (в личку или в СД)?
К сожалению, код не сохранил в виду отсутствия интереса. Если в общих словах:
OnInit():
1. Создаётся Bitmap на чарте.
2. Создаются две канвы (uint 250*410): шаблон и рабочая. На шаблон наносятся (TextOut) 13 меток с наименованием статистических параметров.
OnTick():
1. На рабочую канву копируется шаблон.
2. На рабочую канву наносятся (TextOut) 13 меток с соответствующими значениями статистических параметров.
3. Создаётся ресурс.
4. Обновляется график.
Специально хронометражом не занимался, т.к. и на глаз понятно, что скорость снижается на порядок. Что в тестере, что в реал-тайме (при скролле графике совершенно очевидные подвисания/дёргания).
Пробывал удалить пункт 1. из OnTick(). В реал-тайме становится сносно, но тестер еле ползёт. Опять же, в жизни такое нельзя делать, так как в местах ранее нанесённых меток на рабочей канве очистка не проводилась.
Повторюсь, использовал режим COLOR_FORMAT_ARGB_NORMALIZE, т.к. без альфа-канала метки (TextOut) выглядят неэстетично.