CandleManager
Atom
3/24/2010


вот в мануале вычитал что
"Менеджер создания свечек. По торговому шлюзу 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