На днях начинающие алготрейдеры просили подсказать, каким классом в .net можно воспользоваться для прорисовки свечного графика. Вот здесь: smart-lab.ru/blog/225333.php
Растрогался, вспоминая как выл над кодом и не мог нормально прорисовать свечки.))
Короче сделал пример вывода свечек из файла на График. Visual Studio 2013, WPF, а для графика System.Windows.Forms.DataVisualization.Charting.Chart.
Пример хорошо закомментирован. Хоть и не совсем прям для второго курса получился. Пару левых потоков пришлось вызвать, чтоб не зависала форма.
Будете в свои проекты WPF переносить, не забывайте добавлять пространства имён Windows Forms в references и using:
Всё. Скачать можно от сюда: sib-algo.ru/open-source/выгрузка-свечей-на-chart.html
Чисто из любопытства решил посмотреть на Ваш пример)
1) Установите Решарпер и узнаете много интересного о Вашем коде.
2) Выводите данные пачками (если на стандартных контролах такое возможно). Это значительно увеличит скорость отрисовки.
3) Для производительности рекомендую «замораживать» график при отрисовке, а то на каждой новой свечке у Вас все отрисовывается по-новому.
Серьезно задумайтесь над производительностью. Потому что если надумаете выводить маленькие таймфреймы или, что еще страшнее, тики (а Вы рано или поздно захотите это сделать), то успеете посидеть и состариться пока график отрисуется. В Вашем примере 1 год на часовых свечках строиться ~15-20 сек, у меня это график строится за ~0,1-0,4 сек. Сразу оговорюсь, что использую сторонние контролы, но в любом случае даже на стандартных эти процессы должны быть много быстрее.
Ну, да, ладно, это не так важно. Быстрее и лучше решения, конечно, есть. Главное, что Вы в курсе нюансов построения графиков в WPF.
Удачи!
Кстати, было бы реально круто, если бы Вы смогли выложить пример производительной отрисовки! Новички бы оценили.
Так что советую Вам набраться терпения. Все еще только впереди!
Ваш подход в чем-то уникален. Я даже не знаю какие классические системы ТА могут предложить аналогичные решения. Развивайте идею, пусть это будет Вашей фишкой! ;)