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


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

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

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

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

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

Теги:


Спасибо:


1 2 3  >
tmt

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


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

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

kydna

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


tmt Перейти
Код
// название инструмента
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?)

Я что то не подключил?
Спасибо:

tmt

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


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

а вообще попробуй вот это
Код
    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)

Думаю поможет
Спасибо:

dvoris

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


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

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


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

Alexander

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


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

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

dvoris

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


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

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

Спасибо:

Alexander

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


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

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

Alexander

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


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

dvoris

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


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

Alexander

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


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


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

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

loading
clippy