CandleManager
Atom
24.03.2010
Tauler


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

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

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

Теги:


Спасибо:


Tauler

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


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

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

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

Mikhail Sukhov

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


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

Спасибо:

Tauler

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


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

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

Спасибо:

Mikhail Sukhov

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


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

Спасибо:

Pulsar

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


Если можно еще один вопрос по менеджеру свечей. собственно вопрос в
том что не получается его создать и правильно использовать.
Приведенный ниже код на 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
...
вызывается только один раз при загрузке программы. На смену или
изменение свечей в графике квика не реагирует.

Что-то я не так понимаю?
Спасибо:

Mikhail Sukhov

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


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

Спасибо:

Pulsar

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


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


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

loading
clippy