← Zurück

проблема с методом 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, пожалуйста!

War dieses Thema hilfreich?

Thema teilen

Kommentare (4)

Anmelden oder Konto erstellen, Melden Sie sich an oder registrieren Sie sich, um einen Kommentar zu hinterlassen

Alexander
Alexander

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

Den
Den Autor

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 Autor

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

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

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

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

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


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