
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
CCanvas - обертка ResourceCreate. Поэтому, например, есть у Вас уже 20 готовых картинок в виде массивов. Если захотите их сменять через канвас, то надо будет постоянно делать дорогой ArrayCopy+Update.
А если делать без CCanvas, то все выльется только в ResourceCreate+ChartRerdraw. В кодобазу выкладывал несколько работ с динамическим рисованием. Там было очевидно, что CCanvas не годится.
Я согласен, что это обертка Ресурса. Нужно определиться в определениях. Канвас (холст) в моем понимании, это не класс CCanvas, а прямоугольный графический рессурс, т.е. массив точек. Из класса CCanvas мне нужно то несколько функций по созданию, обновлению и удалению. В нем это достаточно грамотно реализовано, остальные функции видятся мне бесполезными ввиду пиксельной (несглаженной) реализации. Так же канвас мне интересен как векторная графика, а не растровая, т.е. другими словами, когда я формирую изображение сам, а не загружая картинки. Поэтому, варианту с 20 готовыми картинками не вижу практического применения, не делать же на MT5 видеоплеер. Задача векторной графики сводится к тому, чтобы нарисовать изображение менее чем за 30 (а лучше менее 10) миллисекунд. Т.к. человеческий глаз все равно не будет видеть смену картинки чаше 30 раз в секунду. В основном канвас в MT5 с этой задачей справляется хорошо. Правда эти цветные вихри на пределе возможностей (т.е. один кадр формируется около 30 миллисекунд на моем средненьком ноутбуке), но на MT4 уже тормозит.
Я сейчас по мере наличия свободного времени делаю класс CCanvasPro, в котором хочу сделать все чуть лучше.
Вот что пока с окружностями получается (сглаженные с тенями). Код, сорри, пока не открываю. Ввиду сыроватости.
Это тоже скрипт.
Классный радужный график! Еще бы сделать чтобы свечи плясали под музыку и крутились между собой!
А прибыль это будет увеличивать?) За каждую пляску бонус, тогда я за.)))
Конечно поможет, но будут жуткие тормоза.
Замедление небольшое будет, но жутких тормозов нет. По крайней мере, визуально ничего не изменилось
Замедление небольшое будет, но жутких тормозов нет. По крайней мере, визуально ничего не изменилось
Ну кончено, насчет жутких, я погорячился. Но все равно - приблизительно на 10% будет медленнее от общей производительности.
Замедление небольшое будет, но жутких тормозов нет. По крайней мере, визуально ничего не изменилось
Проверил не на профилировании, а через GetMicrosecondCount
Получилось замедление 3-4% на 1000 кадрах. В принципе, да, не очень критично.
Поставил себе задачу: коротким кодом эффектно продемонстрировать возможности пользовательской графики через класс CCanvas.
Вот что из этого получилось.
Данный скрипт работает как на MQL5, так и на MQL4. Только на MT5 гораздо быстрее.
Каждый кадр уникален и не повторяется, то есть скрипт не цикличный.
Необходимо перед компиляцией в файле Canvas.mqh перенести массив m_pixels[] из protected: в public:
пол-часа смотрел, ждал, когда эта штука взлетит ))
пол-часа смотрел, ждал, когда эта штука взлетит ))
Откровенно говоря, не пойму, в чем фишка.
Ну, да, красиво, цветасто, радужно... Но как это повлияет на работу эксперта ?
Я бы понял, если бы мы тут писали игры - вот там такая возможность ох, как востребована бы была... А тут...
На мой взгляд, необходимо как раз наоборот - избавляться от любых лишних действий, чтобы получившийся код как можно меньше нагружал систему (требовал бы денег в облаке). Да и в поддержке чтобы был полегче.
Разве что - "вау-эффект" для покупателей... Думаю, и правда, красиво оформленный вывод позволяет срубить больше бабла во Фрилансе...
Откровенно говоря, не пойму, в чем фишка.
Ну, да, красиво, цветасто, радужно... Но как это повлияет на работу эксперта ?
Я бы понял, если бы мы тут писали игры - вот там такая возможность ох, как востребована бы была... А тут...
На мой взгляд, необходимо как раз наоборот - избавляться от любых лишних действий, чтобы получившийся код как можно меньше нагружал систему (требовал бы денег в облаке). Да и в поддержке чтобы был полегче.
Разве что - "вау-эффект" для покупателей... Думаю, и правда, красиво оформленный вывод позволяет срубить больше бабла во Фрилансе...
Для индикаторов может пригодится. Рисовали же тут на канвасе различные стрелочные индикаторы, даже статья была.