Почему не формируются свечки

Почему не формируются свечки


Помогите плиз, по форуму смотрел не не чего не нашел чтобы решить проблему.

Проблема в следующем. Не могу получить свечки после регистрации:

Вот код:

_candleManager.RegisterTimeFrameCandles(newSec, new TimeSpan(0, 1, 0));

_candleManager.NewCandles +=new Action<CandleToken,MultiDictionary<Candle,Trade>>(_candleManager_NewCandle);

Выдает две последние свечи и потом работает нормально. Т.е. добавляет к ряду свечек новые.

       _candleManager.CandlesChanged += new Action<CandleToken,

MultiDictionary<Candle, Trade>>(_candleManager_CandlesChanged);

Работает тоже нормально. Последняя свеча изменяется.

       _candleManager.CandlesFinished += new Action<CandleToken,

System.Collections.Generic.IEnumerable>(_candleManager_CandlesFinihed) { Здесь, в этом событии, я хочу получить историю (код ниже). Хотя этот участок кода куда я только не вставлял.... ;) результат нулевой. т.е. свечей нет.... :( или их совсем мало 2 - 3.

var candles = _candleManager.GetTimeFrameCandles(_Trade.Stakan.Security, new TimeSpan(0, 1, 0), 100); candles.count() всегда 0 или 2-3; Хотя их по идее должно быть много. Конец сессии.


Tags:


Thanks:


1 2  >
Mikhail Sukhov

Avatar
Date: 8/27/2010
Reply


  1. Страшные конструкции можно заменить на _candleManager.NewCandles +=_candleManager_NewCandles;

  2. _candleManager.CandlesFinished - это не история. Это "Событие окончания формирования свечек." (источник

http://stocksharp.com/doc/help/html/E_Ecng_Trading_Algo_CandleManager_CandlesFinished.htm) Поэтому свечки будут приходять туда с такой же частотой, что и в NewCandles. И метод GetTimeFrameCandles повлиять на это не может.

  1. А вот это уже интересно, что GetTimeFrameCandles не возвращает нужное количество... Может они еще не успели сформироваться? Потому как если робот загружен в конце сессии, то CandleManager требуется время для формирования свечек... Сколько раз до этого было вызвано _candleManager.NewCandles? Если вызывать (в качестве теста) из этого обработчика GetTimeFrameCandles, то возвращает столько же?
Thanks:

Гоша Батарейкин

Avatar
Date: 8/27/2010
Reply


Блин, чего я только не делал. Может дело в том что платформа FindowsForm? ОC Windows 7, Visual Studio 10, Quik 5.17.0.159, Stock# - 2.3

Код программы:

_candleManager = new CandleManager(_Trade.Trader); _candleManager.NewCandles += ChartNewCandles; _candleManager.CandlesChanged += ChartCandlesChanged; candletoken = _candleManager.RegisterTimeFrameCandles(Property.Security, new TimeSpan(0, 1, 0));

Уже и задержки ставил типа: while (проверка времени) { Application.DoEvent();

все равно не помогает. Первая свеча, которая приходит в событие ChartNewCandles имеет дату ближайшей по времени свечи на графике, т.е. последней. Все больше не чего не происходит. Попробовал в обработчике события вставить ChartNewCandles следующий код:

       var candles =

_candleManager.GetTimeFrameCandles(Property.Security, new TimeSpan(0, 1, 0), 100);

Результат candles.count() всегда равен количеству свечек которые уже получены 1, 2,3,4 т.е сколько минут прошло - столько и свечек.

Что делать? :(

Thanks:

Mikhail Sukhov

Avatar
Date: 8/27/2010
Reply


Прошло с какого момента? С начала сессии? Так и должно быть. Или у Вас всегда 4 свечки возвращаются?

Thanks:

Гоша Батарейкин

Avatar
Date: 8/27/2010
Reply


Михаил, не так все печально со мной. :)

С начала сессии прошло как минимум часа 3. т.е свечек как минимум должно быть больше ста.

Thanks:

Гоша Батарейкин

Avatar
Date: 8/27/2010
Reply


Количество свечек каждый раз возвращается столько сколько проработала программа. Если работала 1 минут то одна свечка, две минуты - 2 свечки и т.д. Только программа начинает работать когда уже сессия в разгаре.

Thanks:

Mikhail Sukhov

Avatar
Date: 8/27/2010
Reply


Интересное поведение. Еще такой вопрос. А сама то тики приходят с начала сессии? ITrader.NewTrades? У Вас есть какое-нибудь временное смещение с биржей?

Thanks:

Гоша Батарейкин

Avatar
Date: 8/27/2010
Reply


Да с обновлениями свечек все нормально. Свечки обновляются, по времени добавляются новые, а истории нет.

Thanks:

Mikhail Sukhov

Avatar
Date: 8/27/2010
Reply


Не совсем понял... Это ответ на мой вопрос? Мой вопрос "А сама то тики приходят с начала сессии? ITrader.NewTrades? У Вас есть какое-нибудь временное смещение с биржей? "

Thanks:

Гоша Батарейкин

Avatar
Date: 8/27/2010
Reply


+4MSK

Thanks:

Гоша Батарейкин

Avatar
Date: 8/27/2010
Reply


Четырех часовая разница с Москвой.

Thanks:
1 2  >

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

loading
clippy