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


Коллеги!

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



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

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

Теги:


Спасибо:




1 2  >
Moadip

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


Судя по коду вы пытаетесь прочитать сделки из 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#.
Потом уже делать со своими дочерними классами. Это надо, чтобы поэтапно исключить возможные места с ошибками.
Спасибо:

Tauler

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


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

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

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

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

Код

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

        public decimal Range { get; set; }
    }
Спасибо:

Tauler

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


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

Tauler

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


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

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

Код
security = new Security
                           {
                               Id = "GAZP@EQNE",
                               MinStepSize = 0.01m,
                               Exchange = Exchange.Micex
                           };
Спасибо:

Tauler

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


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

Moadip

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




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



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


Спасибо: Tauler

Tauler

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


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

Moadip

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


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

Tauler

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


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

Tauler

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


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


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

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

loading
clippy