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

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


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

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

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

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

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

Теги:


Спасибо:


< 1 2 3  >
dvoris

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


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

Mikhail Sukhov

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


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


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

dvoris

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


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

Mikhail Sukhov

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


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


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

dvoris

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


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

[mad]

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

dvoris

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


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

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

Mikhail Sukhov

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


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

dvoris

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


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

dvoris

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


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

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

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

Mikhail Sukhov

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


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


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

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

loading
clippy