Не формируются свечи
Atom
29.10.2012
Tauler


Коллеги!

Никак не соображу в чем проблема, вот код (версия 4.1.4) :



Вроде все делаю как в мануале и как во многих ветках форума тут, однако свечи упорно не формируются, список candles1 - пустой.
Дело даже не доходит до методов CreateCandle, UpdateCandle, IsCandleFinishedBeforeChange в самой реализации RangeHLCandleBuilder : CandleBuilder<RangeHLCandle> , в метод GetSupportedRanges один раз заходит, судя по всему из candleManager.Start(series);

Помогите кто чем может!

Теги:


Спасибо:


< 1 2 
Tauler

Фотография
Дата: 29.10.2012
Ответить


Коллеги, осталось чуть чуть до полной победы разума над бездушной машиной :)

в событии проверки на то, закончена свечка или нет мне надо сверить время пришедшей сделки со временем предыдущей.

Делаю так:

IList<ICandleBuilderSourceValue> data = Container.GetValues(series, candle).ToList();

но в итоге в data пусто. С контейнерами я ничего не химичил,вот оба конструктора:

Код
public RangeHLCandleBuilder()
        {}

        public RangeHLCandleBuilder(ICandleBuilderContainer container) : base(container)
        {} 


Есть какие либо мысли?

Вручную нигде в этот контейнер не надо ничего совать?
Спасибо:

Tauler

Фотография
Дата: 29.10.2012
Ответить


Отцы-основатели, ну вы хоть помогите :)
Спасибо:

Tauler

Фотография
Дата: 29.10.2012
Ответить


Код
protected override bool IsCandleFinishedBeforeChange(CandleSeries series, RangeHLCandle candle, ICandleBuilderSourceValue value)
        {
            Container.AddValue(series, candle, value);
            var data = Container.GetValues(series, candle);
            int i = data.Count();
         }


Даже тут i получается 0. В чем секрет, никто не знает? Версия стокшарпа 4.1.4
Спасибо:

Tauler

Фотография
Дата: 30.10.2012
Ответить


Нашел секрет. Почему то по умолчанию свойство Container.ValuesKeepTime = 00:00:00. Хотя в документации Время хранения ICandleBuilderSourceValue в памяти. По-умолчанию равно 2-ум дням. Но заметил - если в конструкторе

Код
public RangeHLCandleBuilder()
        {
            Container.ValuesKeepTime = TimeSpan.FromMinutes(1);
        }


то в коллекции IList<ICandleBuilderSourceValue> data = Container.GetValues(series, candle).ToList(); есть сделки.
Но сам процесс построения свечей гораздо дольше.
Спасибо:

Mikhail Sukhov

Фотография
Дата: 30.10.2012
Ответить


Tauler
Нашел секрет. Почему то по умолчанию свойство Container.ValuesKeepTime = 00:00:00. Хотя в документации Время хранения ICandleBuilderSourceValue в памяти. По-умолчанию равно 2-ум дням.


Спасибо, поправим.
Спасибо:

Tauler

Фотография
Дата: 31.10.2012
Ответить


Михаил, хочу обратить внимание,что при Container.ValuesKeepTime = 00:00:00 свечки порезвей строятся. Ну или мне показалось.
Спасибо:
< 1 2 

Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy