← Back

проблема с методом GetCandles(Of TCandle)(CandleSeries, Range(Of DateTime))

Уважаемые разработчики!

при переезде с 4.1.1 на 4.1.2 перестал видеться метод public static IEnumerable<TCandle> GetCandles<TCandle>(this CandleSeries series, Range<DateTime> timeRange). А точнее не виден больше Range. Сделайте его public, пожалуйста!

Comments (4)

Login or Create account, Log in or register to leave a comment

Alexander
Alexander

Что не видно? Напишите подробнее ту ошибку, что выдаётся. Всё что вы написали - является public, иначе бы не компилировался S#.

Den
Den Author

Alexander Mukhanchikov: Что не видно? Напишите подробнее ту ошибку, что выдаётся. Всё что вы написали - является public, иначе бы не компилировался S#.

Я не правильно выразился про public, имелось в виду, что Range вообще не представлен в доке, и похоже метод GetCandles(Range) не является public и не виден в других пакетах...

Метод GetCandles вызывается с аргументом range, который определен так:

Range<DateTime> range = new Range<DateTime>() { Min = startTime, Max = DateTime.Now };

Получаю такую ошибку:

The type arguments for method 'StockSharp.Algo.Candles.CandleHelper.GetCandles<TCandle>(StockSharp.Algo.Candles.CandleSeries, System.DateTime)' cannot be inferred from the usage. Try specifying the type arguments explicitly.

Т.е. метод с Range вообще не виден, остается почему-то только с DateTime

В 4.1.1 таких проблем не было.

Alexander
Alexander

Почему у меня тогда в моих стратегиях следующий код работает

_candleSeries.GetCandles<TimeFrameCandle>(new Range<DateTime>(firstTime, Trader.MarketTime))

?

Всё работает как часы.

Всё же вы что-то не то делаете. Кидайте полностью вызов GetCandles и создание Range. Посмотрите под дебагером какой тип имеет range - ваш объект.

Den
Den
Den Author

Alexander Mukhanchikov: Почему у меня тогда в моих стратегиях следующий код работает

_candleSeries.GetCandles<TimeFrameCandle>(new Range<DateTime>(firstTime, Trader.MarketTime))

> ?
> 
> Всё работает как часы.
> 
> Всё же вы что-то не то делаете.
> Кидайте полностью вызов GetCandles и создание Range. Посмотрите под дебагером какой тип имеет range - ваш объект.

Ваш ответ мгновенно ответил на мой вопрос.
Я не указал тип свечки при вызове GetCandles<mark>**<TimeFrameCandle>**</mark>(...)

Нельзя по ночам переезжать с версии на версию :)


P.S. перезд состоялся. После рефакторинга свечей реально удобней стало! Спасибо!