S#

Как пользоватся свечным контейнером?


Как пользоватся свечным контейнером?
Atom Reply
12/10/2018


wkj

Avatar
Training
Здравсвуйте.
Раньше контейнер исспользовался
Код
_series.CandleManager.Container.GetCandle(_series, 2).OpenPrice
.
Как сейчас описывать такие конструкции как
Код
_candleManager.Container.GetCandleCount(_series) >= 10

Или
Код
_candleManager.Container.GetCandle(_series, 7).TotalVolume

Благодарю.





Thanks:




8 Answers
Support

Avatar
Date: 12/11/2018
Reply


Добрый день.

В последних версиях CandleManager признан устаревшим и теперь его функцию выполняет подключение Connector. Вы можете продолжать использовать менеджер в качестве обратной совместимости.

Контейнер со свечами был отключен с целью оптимизации памяти. Если для вашей стратегии или индикатора требуется несколько свечей назад, то вам необходимо их сохранять в свою коллекцию.
Thanks:

wkj

Avatar
Training
Date: 12/11/2018
Reply


Так контейнер и так по времени хранения можно было регулировать.
Может оставить возможность подключать контейнер тем кому необходимо, ну не писать же свой велосипед когда есть готовое решение?
Topic starter
Thanks:

Support

Avatar
Date: 12/12/2018
Reply


Добрый день

Вы можете использовать готовый контейнер в вашем коде. Например, наш класс CandleManagerContainer

К сожалению, мы отказались от хранения данных в наших классах с целью оптимизации памяти.
Thanks:

wkj

Avatar
Training
Date: 12/12/2018
Reply


Добрый вечер.
А вас не затруднит проиллюстрировать кусочком кода: создание, наполнение и получение свечи из CandleManagerContainer.
Благодарю.
Topic starter
Thanks:

Support

Avatar
Date: 12/13/2018
Reply


Код
var container = new CandleManagerContainer();

// добавлять свечи по мере их поступления
container.AddCandle(series, candle);

// обратиться к 5-ой свече с конца
var candle5 = container.GetCandle(series, 5);


Код из вашего первого сообщения уже содержит работу с контейнером. Так же можете использовать его как пример.
Thanks:

wkj

Avatar
Training
Date: 12/15/2018
Reply


Добрый день.
Такая вот канитель см. сриншоты.
Объявляю во так
Код
public CandleManagerContainer container = new CandleManagerContainer();

Screenshot_1.png 25.8KB (6) Screenshot_2.png 34.4KB (5)
Topic starter
Thanks:

Support

Avatar
Date: 12/17/2018
Reply


Добрый день

Добавьте вызов метода Start в самом начале работы стратегии

Код
container.Start(_series, null, null);
Thanks:

wkj

Avatar
Training
Date: 12/21/2018
Reply


Добрый вечер.
Долго не было возможности все протестировать.
Все работает, контейнер поставил, работает.
Благодарю.
Topic starter
Thanks:


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

loading
clippy