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

Не формируются свечи
Atom
10/29/2012
Tauler


Коллеги!

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



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

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

Tags:


Thanks:


1 2  >
Moadip

Avatar
Date: 10/29/2012
Reply


Судя по коду вы пытаетесь прочитать сделки из txt файла, собрать из них свечки и вывести в чарт.

По пунктам:
1. makeDealsFromHistory - это я так понимаю класс который берет сделки из txt и делает из них Trade.
Так может сразу брать тики которые сохранены гидрой?

2. DateTime from = trades.Min(trade => trade.Time).AddDays(-1);
DateTime to = trades.Max(trade => trade.Time).AddDays(1);

Не понятен смысл этих строк. допустим есть сделки с 10 по 20 октября.
Тогда в from будет 9 ноября а в to 21. Для чего?[blink]

3. RangeHLCandle. Возможна есть проблемы в этом дочернем классе.
Для начала думаю лучше добиться чтобы в чарт выводились свечки, взяв какой нибудь готовый класс свечек из S#.
Потом уже делать со своими дочерними классами. Это надо, чтобы поэтапно исключить возможные места с ошибками.
Thanks:

Tauler

Avatar
Date: 10/29/2012
Reply


По пунктам 1 и 2 - они родились уже в процессе отладки

1. Ну вот такой у меня источник :) Не факт ,что буду Гидру использовать. В итоге мы имеем список сделок.

2.Сделки в текстовом файле за 29 число, время не указано. Эти строки для того, чтобы гарантировано они попали в период времени.

3. Да RangeHLCandle проще простого:

Code

public class RangeHLCandle : Candle
    {
        public override object Arg
        {
            get { return Range; }
            set { Range = (decimal) value; }
        }

        public decimal Range { get; set; }
    }
Thanks:

Tauler

Avatar
Date: 10/29/2012
Reply


Проблема в том, что
"Дело даже не доходит до методов CreateCandle, UpdateCandle, IsCandleFinishedBeforeChange"
Thanks:

Tauler

Avatar
Date: 10/29/2012
Reply


Попробую сейчас со стандартными свечками.

Я вот думаю - может в Trade я какое то значимое свойство пропускаю?
Заполняю при создании Trade свойства Id, Price, Volume , перед созданием RawConvertableCandleBuilderSource<Trade> проставляю Security и OrderDirection. Security везде одинаковая

Code
security = new Security
                           {
                               Id = "GAZP@EQNE",
                               MinStepSize = 0.01m,
                               Exchange = Exchange.Micex
                           };
Thanks:

Tauler

Avatar
Date: 10/29/2012
Reply


C RangeCandle тоже не катит. Ощущение, что до строителя свечей дело вообще не доходит
Thanks:

Moadip

Avatar
Date: 10/29/2012
Reply




Пример сделок в txt



Класс для парсинга txt файла


Thanks: Tauler

Tauler

Avatar
Date: 10/29/2012
Reply


Магия какая-то ,у меня все точно так же переделано, свечей- 0. У Вас какая версия стокшарпа? у меня 4.1.1
Thanks:

Moadip

Avatar
Date: 10/29/2012
Reply


Одна из последних сборок 4.1.5
Thanks:

Tauler

Avatar
Date: 10/29/2012
Reply


Ваш пример у меня работает, буду копать. Спасибо !
Thanks:

Tauler

Avatar
Date: 10/29/2012
Reply


Твою ж мать ! :)
Знаете в чем бага была? А моем файле у сделок время 00:00:00, вот и за этого видимо по ним свечки не строились.
С одной стороны - у Exchage.Rts есть четко указанные интервалы, с другой - ну для RangeCandle какая на фиг разница :)


Михаил, это бага, фича или known issue?
Thanks:
1 2  >

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

loading
clippy