Как узнал о S# - обрадовался. Начал работать - танцую с бубнами до сих пор, не переставая... Расстраиваюсь теперь, что вроде написано грамотно, и в то же время постоянно какие-то неудобства.
GetTimeFrameCandles, и та, что на Count, и та что на Range<DateTime> выдаёт двойные свечи. Пробежавшись по форуму увидел такую же тему, вопрос так и остался нерешенным.
Date Time Low-Open-Close-High#Volume 06.05.2011 10:00:00 9505-9536-9594-9606#16110 06.05.2011 10:00:00 9505-9536-9594-9606#16110 06.05.2011 10:15:00 9594-9594-9604-9656#9529 06.05.2011 10:15:00 9594-9594-9604-9656#9529
И так далее, в 11:00 выдаёт тоже две свечи, но отличающиеся ценой закрытия и объёмом.
После 12:00:00 всё нормально.
Пока писал эту тему, снова запустил прогу, чтобы скопировать лог и МАГИЧЕСКИМ образом дубляж исчез. Больше всего как раз таки пугает вот такое вот непостоянство результата... на кону ведь всё таки деньги настоящие :)
Очень прошу Вас, Михаил! Пожалуйста, посмотрите внимательно ещё раз на реализацию метода (extension) GetTimeFrameCandles, и попробуйте выяснить почему в одном списке со свечами встречаются такие непостоянные повторения...
В свою очередь уверяю, что это не мой косяк, ставил стопы сразу после вызова функции. Могу конечно скинуть код, если не верится... Мне сейчас самому не верится, потому что баг исчез, но он был, при этом я ничего не менял.
Надеюсь на взаимопонимание... очень хочется... чтобы всё работало... стабильно...
Комментарии (11)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Возможно такое непостоянство из-за Quik версии 5.18.0.386? Но тогда мне в двадцать раз обиднее 😭
Экспортировал RangeCandles по RI из Гидры - наблюдал аналогичную фишку. Первые несколько свечек дублировались.
Какие даты + минимальный код для воспроизведения.
В магические ошибки я не верю. Больше верю, что неправильно используется модель CandleManager. Иногда не сразу понятно, чем скажем CandlesChanged отличается от NewCandles. Поэтому и происходят "мифические" дубляжи.
Пример SampleCandles запускали? Рисует корректно, без дубляжей?
Подумалось, в примере дубли не увидеть. Можете минимальный код выложить для воспроизведения?
Мой случай воспроизводится стабильно.
Скачал Гидрой с РТС данные по RIM1 Строю свечи на 01.03.2011
Если строить на дату где много сделок (например 21.03) - такой фишки не наблюдается - видимо как-то с этим связано.
Свечи:
Сам код:
Так, а где код проверки, через который можно дубляю увидеть?
Вот картинка того, что получается. Код в студию:
Из CandleHistoryManager:
CandleHistoryManager - класс, унаследованный от CandleManager для экспорта Qpile таблицы, однако всё закомментированно, вплоть до Кастом таблиц. Да и если я просто CandleManager использовать буду - тоже самое будет...
SampleCandles сейчас попробую.
Я их просто на экран вывожу в лист this.FindedTrades.ItemsSource = candleManager.GetRangeCandles
Среди первых 5-10 свечей есть несколько с одинаковым временем и ценами Иногда, реже, попадаются с одинаковым временем и отличающейся одной ценой - как будто туда ещё один тик попал.
SampleCandles работает нормально... заставляет задуматься. 😟 Блин переписывать чтоль всё... 🤬
Однако в SampleCandles GetTimeFrameCandles не используется, только события... Это не совсем удобно, когда нужно работать с историей, но если другого варианта нет, то...
Последнее слово за Вами, Михаил!
P.S. Заменил унаследованный класс на стандартный CandlesManager - глюк по прежнему присутствует.
Нашел. Выложу на этих выхах.
Миш, я уменьшил таймфрейм до минутного. Вот что получилось. Заметь, что как только происходит расхождение в дублированных свечах, всё становится на свои места. Надеюсь это поможет!
P.S. В таблице всех сделок в течении этой минуты ничего необычного не нашёл.