Коллеги,
в методе CandleBuilder.IsCandleFinishedBeforeChange(..) есть строки вида
IList<ICandleBuilderSourceValue> data = Container.GetValues(series, candle).ToList();
int i = data.Count;
Непонятно по какой причине иногда (точно не скажу при каких условиях, сделок очень много строитель обрабатывает), i получается равным 0 , но это же неверно, так как если мы дошли до вызова метода IsCandleFinishedBeforeChange(..), значит был вызов CreateCandle, значит свечка из чего то же сформировалась (то есть была минимум одна сделка)
Комментарии (6)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Приведите лог когда i = 0, в каких ситуациях это возникает - тестирование на истории, торговля, ....
Используется стандартный CandleBuilderContainer? Container.ValuesKeepTime чему равен?
Возникает i=0 в процессе построения свечей в , используя в качестве источника RawConvertableCandleBuilderSource<Trade> сделки в этом источнике созданы из текстового файла, их много (история за 5 дней, самих сделок больше полумиллиона)
Используется стандартный CandleBuilderContaine, Container.ValuesKeepTime >0 (ставил и 10 секунд, и минуту)
i=0 становится в середине процесса построения свечей.
А какой лог Вы имеете ввиду?
Это на 4.1.6? Если нет - проверьте там.
А какие свечи строите? И если ValuesKeepTime = 1 дню (или по крайней мере больше чем таймфрейм построения свечей).
Это было на 4.1.4 ,свечи - кастомные.
Тогда проверьте на 4.1.6 с ValuesKeepTime = 1 дню Если тоже самое - кидайте код своего билдера свечек
на 4.1.6 воспроизводится.
метод для создания сделок из файла:
файл со сделками прикреплю к посту. Заметил, что с Container.ValuesKeepTime равным дню свечи очень долго строятся. Чем меньше Container.ValuesKeepTime, тем быстрее строятся. на Container.ValuesKeepTime = 1 минута баг возникает очень быстро.