CandleManager
Atom
3/24/2010
Tauler


вот в мануале вычитал что "Менеджер создания свечек. По торговому шлюзу ITrader подключается к событию NewTrades, и на основе полученных данных формирует свечки по заданным критериям. "

то есть свечки строятся по сделкам, я правильно понимаю?

А есть возможнолсть строить свечки по Bid/Ask из таблицы Инструменты?


Tags:


Thanks:


Tauler

Avatar
Date: 3/24/2010
Reply


вот в мануале вычитал что "Менеджер создания свечек. По торговому шлюзу ITrader подключается к событию NewTrades, и на основе полученных данных формирует свечки по заданным критериям. "

то есть свечки строятся по сделкам, я правильно понимаю?

А есть возможнолсть строить свечки по Bid/Ask из таблицы Инструменты?

Thanks:

Mikhail Sukhov

Avatar
Date: 3/24/2010
Reply


Стандартно нет. Но можете сами это сделать. Во-первых, лучше делать по MarketDepth, так как стакан обновляется чаще, чем инструменты. Второе, при ликвидном инструменте будете терять значения - слишком уж быстро будет скакать спред.

Thanks:

Tauler

Avatar
Date: 3/24/2010
Reply


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

поподробнее можно? на стакане буду терять или на инструментах?

Thanks:

Mikhail Sukhov

Avatar
Date: 3/24/2010
Reply


На стакане меньше, на инструменте больше. Дело в том, что тот же РТС обновляется раз 10-15 в секунду (это то, что мне удалось увидеть самому при прямом подключении к бирже, может быть и больше). Квик, при самом быстром раскладе, пришлет 3-4 изменения для стакана. По инструменту, вроде бы обновление не чаще 1 раза в секунду.

Thanks:

Pulsar

Avatar
Date: 4/3/2010
Reply


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

'объявления ... Public WithEvents CandleMan As New CandleManager(Trader) '-- Создаем Менеджер свечей Dim token As CandleToken '--Cтранный идентификатор типа свечей Dim Svechi() As Candle ... '---Загрузочная процедура--- ... token = CandleMan.RegisterTimeFrameCandles(Instrument, TimeSpan.FromMinutes(5)) Svechi = CandleMan.GetTimeFrameCandles(Instrument, TimeSpan.FromMinutes(5), 100) ... Instrument содержит правильно сформированный инекс RIM0 (проверено в отладчике). После этого в массиве Svechi оказывается 9 или 10 записей, хаотично разбросанных по времени и со странными значениями открытия- закрытия свечей (обычно равными между собой)

Процедура вызываемая по событию появления новой свечи Sub PodpisCandle() Handles CandleMan.NewCandles ... вызывается только один раз при загрузке программы. На смену или изменение свечей в графике квика не реагирует.

Что-то я не так понимаю?

Thanks:

Mikhail Sukhov

Avatar
Date: 4/5/2010
Reply


Делается не так то, что RegisterTimeFrameCandles запускает в другом потоке процесс формирования свечек. Соответственно, когда на следующей строчке Вы делаете получения свечек - практически ничего еще не свормированно. Как получать свечки. Нужно подписатся на событие NewCandles. Оно вызывается, когда появилась новая свечка (именно появилась, когда произошел первый тик, а не до конца сформировалась). Скажем, если пришло событие для свечки со временем 12:25, то значит все свечки раньше этого периода сформировались, и можно получать их через GetTimeFrameCandles.

Thanks:

Pulsar

Avatar
Date: 4/6/2010
Reply


Да, вы правы, это сработало. Правда несколько странно, - при первом запуске программы коллекция заполняеся постепенно с шагом 8-16-32-52-73... при этом на каждом шаге вызывается событие новой свечи... но все же заполняется и то слава богу. Однако до 100 (как в примере и хелпа) не доходит. По той простой причине что в период с 10-30 до 18-45 накапливается всего 99 5-минутных свечей. Вот на 99 коллекция и останавливается в 18-45 (раньше - меньше). Отсюда вопрос - как получить вчерашние свечки? Ведь на них нужно строить входные для сегодняшнего дня значения индикаторов.

Thanks:


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

loading
clippy