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


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


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

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

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

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

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

Tags:


Thanks:


1 2 3  >
tmt

Avatar
Date: 1/28/2012
Reply


Code
// название инструмента
const string secCode = "RIH2";

trader.NewSecurities += securities =>
{
  _instrument = securities.FirstOrDefault(sec => sec.Code == secCode && sec.Type == SecurityTypes.Future); 
  // sec.Code - название инструмента, а sec.Type - тип (фьючерс, опцион, бумага, индекс)
};
Thanks:

kydna

Avatar
Date: 1/28/2012
Reply


tmt Go to
Code
// название инструмента
const string secCode = "RIH2";

trader.NewSecurities += securities =>
{
  _instrument = securities.FirstOrDefault(sec => sec.Code == secCode && sec.Type == SecurityTypes.Future); 
  // sec.Code - название инструмента, а sec.Type - тип (фьючерс, опцион, бумага, индекс)
};


Странно.
Вставил код в проект. При компиляции выдает ошибку:

'System.Collections.Generic.IEnumerable<StockSharp.BusinessEntities.Security>' does not contain a definition for 'FirstOrDefault' and no extension method 'FirstOrDefault' accepting a first argument of type 'System.Collections.Generic.IEnumerable<StockSharp.BusinessEntities.Security>' could be found (are you missing a using directive or an assembly reference?)

Я что то не подключил?
Thanks:

tmt

Avatar
Date: 1/28/2012
Reply


да, чтот не подключил.. Скинь проект свой в личку или сюда, тогда может помогу, а то мне тяжело (я тоже новичек)

а вообще попробуй вот это
Code
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Net;
    using System.Threading;
    using System.Windows;
    using Ecng.Collections;
    using Ecng.Common;
    using Ecng.Xaml;
    using StockSharp.Algo;
    using StockSharp.Algo.Strategies;
    using StockSharp.BusinessEntities;
    using StockSharp.Smart;


и ссылки вот эти (что не достает, попробуй вставить, как и с using)

Думаю поможет
Thanks:

dvoris

Avatar
Date: 2/13/2012
Reply


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

Спрашивал об этом, наверное, ещё с год назад. По-прежнему, актуально.
Попытка запустить экспорт даже на 3 ГГц Pentium (Prescott) вешает приложение намертво на несколько минут. Чего уж говорить о попытке запуска на VDS (там вообще нереально получить справочник, по-моему).
С этим надо что-то делать. Было бы хорошо иметь локальную базу (справочник) с возможностью переносить между компами.


У меня большая просьба к разработчикам - по возможности заняться этой проблемой [unsure]
Thanks:

Alexander

Avatar
Date: 2/13/2012
Reply


Посмотрел у себя на Core2Duo 2.13 ГГц.
На боевом сервере через смартком всё загрузилось очень шустро.

На SampleSmart у вас проблема наблюдается?
Thanks:

dvoris

Avatar
Date: 2/13/2012
Reply


Да, на любом примере под SmartTrader.
Сейчас заметил, на PIII 3 Ггц, 2Гб SampleSmart висел 3 минуты http://shot.qip.ru/004n3f-301rAPJ/

Саш, мы это обсуждали, давно ещё. Отсутствие такой простой и логически необходимой вещи, как локальная база справочников неоправданно сужает применение S# (когда нужно хоститься, например.. ну не заказывать же многоядерный ~3 Ггц сервер для простой задачи, молчу про VDS. Да, на i3 всё нормально, но тоже подвисает секунды 3. С базой этого можно было бы избежать). Самому реализовать сериализацию Securities у меня знаний не хватает, сорри :( Проблема со справочниками лично для меня - краеугольный камень.

Thanks:

Alexander

Avatar
Date: 2/13/2012
Reply


1) Security - сериализуемый объект.
2) В S# реализовано API для сохранения любых данных.

Так что если действительно нужно - пользуйтесь.
Thanks:

Alexander

Avatar
Date: 2/13/2012
Reply


И правда общались :)
То-то я думаю ник знакомый
Thanks:

dvoris

Avatar
Date: 2/13/2012
Reply


Если бы мог, давно бы сделал.
TradingStorage посмотрю. Может поможете с примером? )
А мысль о необходимости встроить кэширование Securities в S# не разделяете?
Thanks:

Alexander

Avatar
Date: 2/13/2012
Reply


dvoris Go to
Если бы мог, давно бы сделал.
TradingStorage посмотрю. Может поможете с примером? )
А мысль о необходимости встроить кэширование Securities в S# не разделяете?


Не разделяю.
SampleStorage совсем не помог разобраться?
Thanks:
1 2 3  >

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

loading
clippy