Вопрос по справочнику инструментов

Вопрос по справочнику инструментов
Atom
1/28/2012


Доброго времени суток.

Возник такой вопрос по инструментам.
По подписке на событие NewSecurities, получаем весь справочник инструментов.

1. Можно ли как то фильтровать то, что мы хотим получить?
2. Можно ли как то закэшировать или сохранить на диск все иструменты, что бы потом не тянуть опять с сервера весь справочник.

В S# есть хранилеще, но там вроде можно хранить только исторические данные и сделки.

У кого есть соображения?
Спасибо.

Tags:


Thanks:


< 1 2 3  >
dvoris

Avatar
Date: 2/13/2012
Reply


Не помог. Сам пример понятен. TradingStorage реализует хранение свечек, стаканов, тиков. Как запихнуть туда инструменты?
Как-то использовать SecurityList? Как сохранять на диск..
Thanks:

Mikhail Sukhov

Avatar
Date: 2/13/2012
Reply


dvoris Go to
Да, на i3 всё нормально, но тоже подвисает секунды 3. С базой этого можно было бы избежать


Ты предлагаешь оптимизировать эти 3 секунды?[blink] С учетом того, что справочник загружается один раз при старте робота?
Thanks:

dvoris

Avatar
Date: 2/13/2012
Reply


.. для начала его надо хотя бы загрузить :) На i3 терпимо, но задача запускать приложения на хостингах и VDS, которые вообще не переваривают получение справочника. Да даже PIII 3 Ггц вешает.. я считаю, что не должно быть такого поведения с дефолтными примерами (см.скрин выше). Имхо - с точки зрения здравого смысла нет необходимости каждый раз дергать такой объем данных и конструировать десятки тысяч securities (больша'я часть из которых вообще истекшие).
Михаил, хоть ты подскажи, плз, я уже мозг сломал [huh]
Thanks:

Mikhail Sukhov

Avatar
Date: 2/13/2012
Reply


dvoris Go to
Михаил, хоть ты подскажи, плз, я уже мозг сломал [huh]


Надо внутрях СмартКом коннектора менять. Да и в BaseTrader. А сейчас времени нет, Плазой занимаюсь. Можно обменяться тасками.[rolleyes]
Thanks:

dvoris

Avatar
Date: 2/13/2012
Reply


0:10:21 Всего инструментов: 21793
0:10:21 Истекших инструментов:16299

[mad]

В сматркоме тоже, конечно, недостаток, что он только целиком вываливает инструменты.
Кстати, а как получают справочник в Плазе?
Thanks:

dvoris

Avatar
Date: 2/13/2012
Reply


Может попробовать переопределить методы в SmartTrade, которые отвечают за добавление новых securities при соответствующем событии от смарткома? Фильтровать по дате экпирации и не добавлять истекших (там, например, опционные серии с 2010 года тянутся..) Уже уменьшим на 75% справочник и работу по созданию securities.

И ещё, может кто-нибудь намекнет, как сделать сериализацию Security ?
Thanks:

Mikhail Sukhov

Avatar
Date: 2/14/2012
Reply


Протухшие инструменты можно как то через СмартТрейд удалить.
Thanks:

dvoris

Avatar
Date: 2/14/2012
Reply


что-то беда у меня с англ.раскладкой.. речь про SmartTrader, конечно [biggrin]
Thanks:

dvoris

Avatar
Date: 2/14/2012
Reply


Ура [cool] Подозреваю, что решение кривое, но оно работает.

1. Т.к. сериализовать Security у меня так и не получилось, ввёл класс SerializableSecurity. Сохраняю в файл бинарную сериализацию Hashtable из SerializableSecurity-c.
Можно сделать полную, либо маленькую базу только из актуальных неистекших инструментов.

2. Загрузка инструментов в Trader.Securities, насколько понимаю, невозможна снаружи, поэтому унаследовал от SmartTrader свой MySmartTrader, в котором добавил метод AddSecurity(Security s).
В методе вызывается BaseTrader.GetSecurity метод, который добавляет инструмент в Securities. Если я неправ, и можно добавить инструменты в Securities более правильно, то прошу поправить.
Thanks:

Mikhail Sukhov

Avatar
Date: 2/14/2012
Reply


dvoris Go to
Если я неправ, и можно добавить инструменты в Securities более правильно, то прошу поправить.


Я бы начал со SmartTrade
Thanks:
< 1 2 3  >

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

loading
clippy