Ошибка перерисовки меток на оси времеми при повторной отрисовке графика


Ошибка перерисовки меток на оси времеми при повторной отрисовке графика
Atom Ответить
24.05.2014


Здравствуйте!

На ChartArea пытаюсь отрисовать свечи по историческим данным. Используется HistoryEmulationConnector.
Свечи отрисовываются, все ОК. При повторной отрисовке тех же самых свечей на ChartArea метки оси времени заполнены максимальным значением времени, оставшемся со времени предыдущего тестирования. Такое поведение наблюдается начиная с версии 4.2.3.0 библиотеки.

Сперва думал, у меня ошибка в коде.
В качестве эксперимента скачал архив StockSharp_Edu.zip от 7-го мая 2014, версия библиотек - 4.2.3.4 из группы поддержки в контакте. Запускаю приложение SampleChart из урока 04_lesson (Candles, Charts, Historical data).

В первый раз свеч, индикаторы отрисовываются нормально. После нажатия кнопки "Reset" свечи отрисовываются, но метки временной шкалы содержат только значения "18:40", то есть максимальное значение времени с момента предыдущего запуска.

Видимых ошибок нет, могу приложить только скриншот с неправильными метками.





Спасибо:




7 Ответов
towace

Фотография
Дата: 25.05.2014
Ответить


Подтверждаю, такая же беда.
Спасибо:

devruss

Фотография
Дата: 25.05.2014
Ответить


Схожая проблема была и у меня, только свечки рисовались из 2х разных источников - https://stocksharp.ru/forum/4461/4-2-2-26/
вроде сейчас такой вещи не наблюдаю, но завтра можно еще раз проверить
Спасибо:

esper

Фотография
Дата: 26.05.2014
Ответить


В следующей версии будет фикс.
Спасибо:

devruss

Фотография
Дата: 05.06.2014
Ответить


esper Go to
В следующей версии будет фикс.


В текущей версии баг не исправлен: обратите внимание на метку времени 15:39 на данных
http://gyazo.com/cab28fb182a37cf3005bc71fd1038850

Более крупный фрагмент: 15:39
http://gyazo.com/fedc9b4e8e50c0fda37320459aa40f26
Спасибо:

devruss

Фотография
Дата: 05.06.2014
Ответить


Народ, напишите пожалуйста, осталась ли у вас проблема
Спасибо:

esper

Фотография
Дата: 05.06.2014
Ответить


Каким образом перед повторной отрисовкой очищаете график?
Спасибо:

devruss

Фотография
Дата: 05.06.2014
Ответить


esper Go to
Каким образом перед повторной отрисовкой очищаете график?


Я не очищаю - у меня тот же самый эффект достигается несколько по-другому: https://stocksharp.ru/forum/4461/4-2-2-26/
Если надо объяснить, скажи skype, готов рассказать все детально

есть 2 источника данных, но это одни и те же данные. Надо по этим 2-м источникам построить график. НО теперь S# не понимает, что это 2 одинаковых источника данных, просто один более быстрый, а второй зато имеет больше данных и их надо склеить. Вместо этого, он думает, что это разные данные и выводит их последовательно. В этом то и вся проблема. На .2.16 этот код работал отлично, начиная с 2.18 он перестал работать:

Code

                        candleManager = new CandleManager(new TradeCandleBuilderSource(connector)); //добавляем realtime data
                        var cbs = new TradeStorageCandleBuilderSource { StorageRegistry = storageRegistry }; 
                        candleManager.Sources.OfType<TimeFrameCandleBuilder>().Single().Sources.Add(cbs); // добавляем историю из Гидры
                       
                        candleSeries = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame);
                        candleSeries.ProcessCandle += Draw;                       
                        candleManager.Start(candleSeries, DateTime.Now - TimeSpan.FromDays(numHistDays), DateTime.MaxValue); // строим график из 2х источников
[/quote]

Проблема в том, что если кроме Transaq Connector есть еще один источник данных - Гидра, то при получении данных из Transaq, S# трет/не считывает временные метки трейдов из Transaq и вытсавляет время подключения - отсюда и дублирование данных
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy