Неправильное формирование свечек, несколько ТФ, много стратегий


Неправильное формирование свечек, несколько ТФ, много стратегий
Atom
24.08.2010


Запущено 10 стратегий, для CandleManager регистрируются 2 ТФ: 1-
минутки и 5-минутки.
Пытаюсь получать свечки внутри стратегии, вот их распечатка:

localCandle: time(10:45:00), open(139880), close(139800),
high(139945), low(139775); TimeFrame: 00:05:00
localCandle: time(10:40:00), open(139965), close(139910),
high(140145), low(139875); TimeFrame: 00:05:00
localCandle: time(10:35:00), open(140335), close(139985),
high(140335), low(139950); TimeFrame: 00:05:00
localCandle: time(10:30:00), open(140250), close(140355),
high(140395), low(140110); TimeFrame: 00:05:00
localCandle: time(10:25:00), open(140330), close(140250),
high(140335), low(140235); TimeFrame: 00:05:00
localCandle: time(10:20:00), open(140240), close(140325),
high(140340), low(140195); TimeFrame: 00:05:00
localCandle: time(10:15:00), open(140250), close(140185),
high(140325), low(140110); TimeFrame: 00:05:00
localCandle: time(10:10:00), open(140150), close(140225),
high(140385), low(140125); TimeFrame: 00:05:00
localCandle: time(10:05:00), open(140375), close(140150),
high(140375), low(140140); TimeFrame: 00:05:00
localCandle: time(10:00:00), open(140770), close(140370),
high(140770), low(140255); TimeFrame: 00:05:00

Стратегия запущена была в 10:18, до этого времени свечки как раз
верные, после - совсем не то.
Это фьючерс на индекс РТС - как видно свечки кривые как раз после
запуска.
Объём свечек тоже неверный, объём свечки в 10:45 - 474, в 10:40 -
217...

Свечки получаю через:
var oldCandles = _candleManager.GetTimeFrameCandles(Security,
TimeFrame, new Range<DateTime>(firstTime, marketTime)); //firstTime -
10.00, marketTime - текущее время, TimeFrame - 5 минут

Самое интересное - на локальном компьютере, где запущены всего 3
стратегии и 1 квик - всё нормально.

Теги:


Спасибо:


< 1 2 
Mikhail Sukhov

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


Чем проще цикл, тем меньше ошибок... Так что насчет разницы между
тачками?

Спасибо:

Alexander

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


Да, на сервере 6 квиков, на локальной машине - 1 квик. И там и там
идёт работа через MultiTrader, программа-робот одна и таже.

Спасибо:

Mikhail Sukhov

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


Ха, я кажется понял в чем фишка. Один Квик строит свечки
последовательно, по сделкам. 6 квиков посылают сделки параллельно. Как
следствие, неправильные свечки. Алго построения свечек основан на том,
что как только появляется сделка из следующего ТФ, то текущая свечка
помечается как сформированная и к ней более обращений не идет.

Спасибо:

Alexander

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


Понял, похоже на мои предположения. Буду ждать фикса тогда, сейчас с
несколькими квиками не получается иначе работать :(

Спасибо:

Mikhail Sukhov

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


Хм, а вот тут не все так просто. Я пока даже предствить себе не могу,
как это фиксить. Алгоритм свечной не поддерживает такое поведение...
Может быть формировать свечки по конретным QuikTrader?

Спасибо:

Alexander

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


Я правильно понимаю что для каждого QuikTrader надо создать свой
CandleManager и регистрировать необходимые ТФ?
Если так, то не проблема, конечно сделаю.

Спасибо:

Alexander

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


Чтобы закрыть эту тему - реализовал именно таким образом сейчас,
завтра протестирую

Спасибо:

Alexander

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


Михаил, задам вопрос тут, дабы не плодить множество тем - надо ли
дополнительно проверять IsTimeFrameCandlesRegistered перед
регистрацией таймфрейма или это уже запрятано внутрь
RegisterTimeFrameCandles и повторной регистрации не произойдёт в любом
случае?
Спасибо:

Mikhail Sukhov

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


Надо. Иначе будет исключение. Специально сделал чтобы ловили с своих
роботах код, который норовит зарегистрировать лишнее.

Спасибо:
< 1 2 

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

loading
clippy