Обсуждение статьи "Создание пользовательских индикаторов с использованием класса CCanvas" - страница 2
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Это приятная новость! А в чем идея? Вместо тиковой истории подставлять кастомный временной ряд?
Нет. Рядом с тиковой историей рисовать гистограмму тиковой скорости.
Чтобы, играясь параметрами, визуально определить периоды активности и, возможно, найти какие-то закономерности.
Хорошая тема. Спасибо автору, буду делать тиковый индикатор на холсте...
Приметил такое.
Есть приватный член-данные m_canvas_name, а метода, задающая его значение - Name(), - публичная. Имхо, нарушается принцип инкапсуляции. Сделаю у себя этот метод приватным.
Может быть protected ? Т.к. все остальные наследуют CCanvasBase. И тогда в них нельзя будет использовать данный метод. Хотя я не знаю, может вы еще что-то в общей структуре поменяли.
Может быть protected ? Т.к. все остальные наследуют CCanvasBase. И тогда в них нельзя будет использовать данный метод. Хотя я не знаю, может вы еще что-то в общей структуре поменяли.
Таки да, protected.
Потом вот тут:
Зачем так сложно в индикаторе? Имхо, нужно,чтобы сам холст за собой убирал. Я бы добавил ChartRedraw() в метод DeleteCanvas().
Как будут наброски, скиньте скрины/видео. Сам выложил такой индикатор, но не пошел в народ. Хотя лучше так и не встретил. Интересно посмотреть другие решения на канвасе.
Я делаю для ФОРТСа. Сделал в обычном формате, но в Тестере работает через-пень колоду при вызове из тела советника. Весь код буду теперь переносить в советник...
Таки да, protected.
Потом вот тут:
Зачем так сложно в индикаторе? Имхо, нужно,чтобы сам холст за собой убирал. Я бы добавил ChartRedraw() в метод DeleteCanvas().
Да, так будет меньше лишних строк. Делаем холст аккуратным и отправляем туда перерисовку.
А вот это вообще-то не по феншую:
Зачем тернарный оператор? - Если можно просто:
Себе сделал так:
Но вроде же как у канваса есть свой метод удаления CCanvas::Destroy().
Зачем что-то городить вдобавок?
С вертикальным масштабированием проблема у меня.
Хочу сделать на RTS тиковый график, где максимум по оси Y равен 97784.0, а минимум - 97756.0.
В коде делаю так:
Получаю такое:
https://www.mql5.com/ru/charts/7227612/rts-9-17-m1-ao-otkritie-broker
Минимум показывает правильно, потом свистопляска какая-то.
Видимо метод CLineGraph::VerticalScale() не так заточен, как мне кажется, или, что хуже, как нужно.
...
Попробуйте вот этот класс >>> CGraphic
Визуализируй это! Графическая библиотека в MQL5 как аналог plot из R
Тестируем CGraphic - вопросы и предложения
Попробуйте вот этот класс >>> CGraphic
Визуализируй это! Графическая библиотека в MQL5 как аналог plot из R
Тестируем CGraphic - вопросы и предложения
Анатолий, спасибо за наводку, буду использовать. Обидно, что идея выливается в недружественный код...