4.2.20 перестал работать GetCandleBounds()

4.2.20 перестал работать GetCandleBounds()
Atom
8/25/2014
devruss


Версия 4.2.20, перестал работать метод GetCandleBounds()
Вот кусов кода из стратегии (на .16 все работает):
Code

var time = timeFrame.GetCandleBounds(Security).Min - timeFrame;


Начиная с .19 выдает следующие ошибки:
Quote:

Error 1 'System.TimeSpan' does not contain a definition for 'GetCandleBounds' and the best extension method overload 'StockSharp.Algo.Candles.CandleHelper.GetCandleBounds(System.TimeSpan, System.DateTime)' has some invalid arguments
Error 2 Argument 2: cannot convert from 'StockSharp.BusinessEntities.Security' to 'System.DateTime'

Tags:


Thanks:


esper

Avatar
Date: 8/26/2014
Reply


Поиск по форуму может творить чудеса.
Thanks:

devruss

Avatar
Date: 8/26/2014
Reply


esper

Поле Connector для инструмента и стакана больше не заполняется, т.о. невозможно получить текущее время для инструмента, необходимо вручную передавать Connector.CurrentTime.


Не понял из этого ни слова... Как нужно изменить код, чтобы он заработал?

Хочу напомнить, что мы тут не программированием занимаемся, а торгуем с помощью S#, и если вы меняете часть функциональности, то было бы круто
1. Оповещать об этом заранее
2. Предоставлять вариант transition кода, чтобы можно было легко код для старых версий поменять под новый билд
Thanks:

JaguarFX

Avatar
Date: 8/26/2014
Reply


Ну не будь таким лентяем:
http://stocksharp.com/forum/4688/&=
Thanks:

devruss

Avatar
Date: 8/26/2014
Reply


lebedevsrg
Ну не будь таким лентяем:
http://stocksharp.com/forum/4688/&=


Был уже там, 2 поста выше, я процетировал ответ из твоей темы.

Несмотря на наличие ответа, мне все равно до конца не ясно, что можно изменить. Connector.CurrentTime по ссылке в стратегию не передается, только значение... значит надо постоянно обновлять, а это совсем неправильно...

Quote:

Как нужно изменить код, чтобы он заработал?



Thanks:

JaguarFX

Avatar
Date: 8/26/2014
Reply


У стратегии есть Connector, его и можно запрашивать при обработке каждой свечи в ProcessCandle.
Код я переписал так и все прекрасно работает
Code

var timeFrame = (TimeSpan)candle.Arg;
var time = Connector.CurrentTime - timeFrame;
     if (candle.OpenTime < time) return;
Thanks: devruss kornego Slepoy

devruss

Avatar
Date: 8/27/2014
Reply


lebedevsrg
У стратегии есть Connector, его и можно запрашивать при обработке каждой свечи в ProcessCandle.
Код я переписал так и все прекрасно работает
Code

var timeFrame = (TimeSpan)candle.Arg;
var time = Connector.CurrentTime - timeFrame;
     if (candle.OpenTime < time) return;


Спасибо, все опять работает!
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy