Метод Chart.Draw(StockSharp.Xaml.Charting.ChartDrawData data)
Atom
01.03.2017


При запуске этого метода выдается исключение: InvalidOperationException.
Если же использовать старый метод (закомментированные строки), то все работает правильно.
StockSharp rev. 4.3.19.5; 4.3.21
Draw_invalidOperationException.png

Как это лечится?



Спасибо:




44 Ответов
< 1 2 
Матильда

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


Уточните, пожалуйста, какие данные кроме этих: 16:36:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.19, H:34.19, L:34.18, C:34.18, V:2) вам могут понадобиться?
Спасибо:

Support

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


22:47:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.29, H:34.29, L:34.29, C:34.29, V:1)
22:51:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.28, H:34.28, L:34.27, C:34.27, V:2)
22:56:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.28, H:34.28, L:34.28, C:34.28, V:1)
02:56:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.28, H:34.28, L:34.28, C:34.28, V:1)
15:50:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.32, H:34.32, L:34.32, C:34.32, V:1)
15:55:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.38, H:34.38, L:34.38, C:34.38, V:1)
16:20:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.5, H:34.5, L:34.5, C:34.5, V:1)
16:30:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.52, H:34.58, L:34.52, C:34.58, V:2)
16:32:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.57, H:34.57, L:34.57, C:34.57, V:1)
16:33:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.56, H:34.56, L:34.55, C:34.55, V:2)
16:35:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.54, H:34.54, L:34.5, C:34.5, V:5)
16:37:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.49, H:34.49, L:34.47, C:34.47, V:3)
16:39:00 TimeFrameCandle_GM@SPFEQ_00:01:00 (O:34.46, H:34.46, L:34.46, C:34.46, V:1)

Вот смотрите... Фактически начинают приходить свечи, которые уже были раньше... Например, 02:56:00.
Просто проставьте время, я хочу проанализировать весь поток свечей, которые приходят...


Спасибо:

Матильда

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


02:56:00 - не была раньше, в вашем примере она находится на своем месте между 22:56:00 и 15:50:00, хотя и нельзя отрицать, что это какая-то техническая непонятная свеча. Однако конкретно она и не вызывает ошибки. Хотелось бы понять, что именно приводит к исключению "Невозможно изменить значение для свечи для даты..." Перезапись новой свечи на место старой или что-то другое?
Спасибо:

Support

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


Как же нет, посмотрите время в первой ошибке...
Спасибо:

Матильда

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


Первая свеча, вызывающая ошибку, это свеча 16:32:00, во время которой, похоже, зачем-то происходит попытка перезаписать первую в сутках свечу 02:56:00. Вторая ошибка - свеча 16:35:00, которая пытается перезаписать вторую в сутках свечу - 15:22:00. Третья ошибка пытается переписать третью в сутках свечу и т.д. То есть дело не в конкретной свече, а в системе записи, когда новые свечи по какой-то причине стремятся записаться не в конец, а поверх старых. В чем тут может быть сбой?
Спасибо:

Support

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


Еще раз... 1. Если Вы хотите. чтобы решили Вашу проблему сделайте то, что я сказал... Более того выведите в лог время открытия и время закрытия свечи... 2. Вы говорили, что это свечи реалтайм из коннектора, тогда откуда у Вас данные за предыдущие дни и пропуски в данных?
Спасибо:

Матильда

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


Ладно, спасибо, видимо, мы не понимаем друг друга. Вероятно, позже я переформулирую проблему.
Спасибо:

Support

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


Ок.
Спасибо:

Prival

Фотография
Курсы
Дата: 18.04.2017
Ответить


Подтверждаю первый пост в этой теме. версия 4.3.19.5 Квик 7.9.1.1
Пример CandlesChartProject (находится в 4-ом уроке) ничего не меняю, просто запускаю
выбивает ошибку вот на этой строке
this.GuiAsync(() => Chart.Draw(_data));

Если снять коментарии
Код
//this.GuiAsync(() => Chart.Draw(_data));

this.GuiAsync(() => Chart.Draw(candle.OpenTime, new Dictionary<IChartElement, object>
{
{_chartCandleElement, candle},
{_chartIndicatorSmaElement, valueSma},
{_chartIndicatorMyElement, valueMy}
}));

То начинает рисовать. Это единственный пример рабочий который смог найти, задача нужен вывод реалтайм свечек.

Пример из 4.3.23
SampleQuikCandles не ищет инструменты, не понимаю почему. Буду конечно сам дальше разбираться, но может кто то поделится примером как правильно выводить реал тайм свечки на график, нужен вывод RIM7 и Индекса MICEX


Спасибо:

VassilSanych

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


В представленном тексте трейса на скриншоте видно, что время перепутано в Charting.dll (добавленное значение логируется без коррекции, а значение времени на свече - с коррекцией)
Спасибо:

Support

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


Ок,понятно.. Проверю и передам эту проблему разработчикам...
Спасибо:

Support

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


Не могу воспроизвести ошибку... Посылаю Вам пример... Попробуйте получить Вашу ошибку при его помощи...
Спасибо:

Prival

Фотография
Курсы
Дата: 19.04.2017
Ответить


Мне не удалось запустить ваш пример FirstChart.7z, использовал 4.3.23

Спасибо:

Support

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


Такая Xceed.Wpf.Toolkit.dll библиотека в референсах есть?
Спасибо:

Support

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


Если exeed есть? то в проектном файле
Эти строки:

надо поменять на эти
Спасибо:

Prival

Фотография
Курсы
Дата: 20.04.2017
Ответить


1. Попробовал заменить на <Reference Include="Xceed.Wpf.Toolkit" >.....непомогло, таже ошибка выскакивала
2. закрыл студию, удалил папки bin и obj....открыл проект, запустил, все собралось без ошибок и запустилось.
Но график не строится...(((

Если нужно готов предоставить удалённый доступ к компу. Может так будет быстрее ? Я все время есть в скайпе privalov-sv
Спасибо:

Support

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


В CandleSeries вот так сделайте:
var series = new CandleSeries(typeof (TimeFrameCandle), security, timeFrame)
{ BuildCandlesMode = BuildCandlesModes.Build,};
Спасибо:

Матильда

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


К сожалению, для версии 4.3.19.5 это неприменимо.
Спасибо:

Support

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


BuildCandlesMode = BuildCandlesModes.Build нужно делать только для последней версии, для 4.3.19.5 не нужно...
Спасибо:
< 1 2 

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

loading
clippy