Вопросы новичка в S#

Вопросы новичка в S# (Locked)
Atom
12/1/2010
ttt


Добрый день. Очень понравилась идея использования Вашей библиотеки для реализации роботов. Подскажите, пожалуйста:

  1. Как идентифицировать заявку? //например, выставляю заявку buy RIZ0 4 контракта по цене 160500. Каким образом далее смогу ее отслеживать? Вариант с использованием таблицы сделок не подходит - необходимо реализовать контроль исполнения заявок пользуясь исключительно информацией из таблицы заявок. С языком C# только начал разбираться, возможно поэтому не нашел в представленных в дистрибутиве S# проектах примеров контроля состояния заявки по ее уникальному признаку.
  2. Верно ли я понимаю суть работы с Квиком: для реализации автономного робота необходимо организовать два потока на C#:
  • первый: выполняет функции получения данных из Квика через DDE сервер (используя библиотеку S#);
  • второй: непосредственно реализует алгоритм выставления и снятия заявок. Можно ли обойтись одним потоком?


<< < 31 32 33 34 35  > >>
Yura

Avatar
Date: 5/17/2011


Alexander:

Yura:

Yura:

Yura:

Yura:

Yura: Какая проблема в 5-й строке? =(

trader.SecuritiesChanged += trades => { if (_depth == null && _lkoh != null) { _depth = trades.FirstOrDefault(d => d.Code == "LKOH").LastTrade; if (_depth != null) { // если портфель уже появился, то извещаем об этом основной поток для выставления заявки if (_portfolio != null) waitHandle.Set(); } } };

> > > > >
> > > > >
> > > > > depth это что, какой тип? Стакан? Тогда неправильное приведение типов.
> > > > >
> > > > > А Visual Studio что говорит? Или это викторина для форумчан? :)
> > > > "Ошибка	7	Неявное преобразование типа "Ecng.Trading.BusinessEntities.Trade" в "Ecng.Trading.BusinessEntities.Security" невозможно
> > > > "В общем мне нужно получить информацию о последней сделке по указанной бумаге..как мне это сделать? =( Плиз если можно пример рабочий((я в си шарпе новичок и в стокшарпе трудно разобраться. А у _depth тип Security
> 
> 
> Последняя сделка - это Trade, а вы пытаетесь привести её к Security.
> собственно об этом Visual Studio и сообщает.
О господи, ДА ДЕТКА, пашет!! спс огромное! какое же это счастье...
Thanks:

Yura

Avatar
Date: 5/17/2011


Yura:

Alexander:

Yura:

Yura:

Yura:

Yura:

Yura: Какая проблема в 5-й строке? =(

trader.SecuritiesChanged += trades => { if (_depth == null && _lkoh != null) { _depth = trades.FirstOrDefault(d => d.Code == "LKOH").LastTrade; if (_depth != null) { // если портфель уже появился, то извещаем об этом основной поток для выставления заявки if (_portfolio != null) waitHandle.Set(); } } };

> > > > > >
> > > > > >
> > > > > > depth это что, какой тип? Стакан? Тогда неправильное приведение типов.
> > > > > >
> > > > > > А Visual Studio что говорит? Или это викторина для форумчан? :)
> > > > > "Ошибка	7	Неявное преобразование типа "Ecng.Trading.BusinessEntities.Trade" в "Ecng.Trading.BusinessEntities.Security" невозможно
> > > > > "В общем мне нужно получить информацию о последней сделке по указанной бумаге..как мне это сделать? =( Плиз если можно пример рабочий((я в си шарпе новичок и в стокшарпе трудно разобраться. А у _depth тип Security
> >
> >
> > Последняя сделка - это Trade, а вы пытаетесь привести её к Security.
> > собственно об этом Visual Studio и сообщает.
> О господи, ДА ДЕТКА, пашет!! спс огромное! какое же это счастье...
А ещё такой вопрос. я пишу такое ```
trader.SecuritiesChanged += trades =>
                        {
                            if (_depth == null && _lkoh != null)
                            {
                                _depth = trades.FirstOrDefault(d => d.Code == "MSICH").LastTrade.Price;
                                
                                if (_depth != null)
                                {
                                    // если портфель уже появился, то извещаем об этом основной поток для выставления заявки
                                    if (_portfolio != null)
                                        waitHandle.Set();
                                }
                            }
                        };

Ошибка 1 Неявное преобразование типа "decimal" в "Ecng.Trading.BusinessEntities.Trade" невозможно. пытаюсь взять цену _depth = trades.FirstOrDefault(d => d.Code == "MSICH").LastTrade.Price;

Thanks:

Alexander

Avatar
Date: 5/17/2011


Yura:

Yura:

Alexander:

Yura:

Yura:

Yura:

Yura:

Yura: Какая проблема в 5-й строке? =(

trader.SecuritiesChanged += trades => { if (_depth == null && _lkoh != null) { _depth = trades.FirstOrDefault(d => d.Code == "LKOH").LastTrade; if (_depth != null) { // если портфель уже появился, то извещаем об этом основной поток для выставления заявки if (_portfolio != null) waitHandle.Set(); } } };

> > > > > > >
> > > > > > >
> > > > > > > depth это что, какой тип? Стакан? Тогда неправильное приведение типов.
> > > > > > >
> > > > > > > А Visual Studio что говорит? Или это викторина для форумчан? :)
> > > > > > "Ошибка	7	Неявное преобразование типа "Ecng.Trading.BusinessEntities.Trade" в "Ecng.Trading.BusinessEntities.Security" невозможно
> > > > > > "В общем мне нужно получить информацию о последней сделке по указанной бумаге..как мне это сделать? =( Плиз если можно пример рабочий((я в си шарпе новичок и в стокшарпе трудно разобраться. А у _depth тип Security
> > >
> > >
> > > Последняя сделка - это Trade, а вы пытаетесь привести её к Security.
> > > собственно об этом Visual Studio и сообщает.
> > О господи, ДА ДЕТКА, пашет!! спс огромное! какое же это счастье...
> А ещё такой вопрос. я пишу такое ```
trader.SecuritiesChanged += trades =>
                        {
                            if (_depth == null && _lkoh != null)
                            {
                                _depth = trades.FirstOrDefault(d => d.Code == "MSICH").LastTrade.Price;
                                
                                if (_depth != null)
                                {
                                    // если портфель уже появился, то извещаем об этом основной поток для выставления заявки
                                    if (_portfolio != null)
                                        waitHandle.Set();
                                }
                            }
                        };

Ошибка 1 Неявное преобразование типа "decimal" в "Ecng.Trading.BusinessEntities.Trade" невозможно. пытаюсь взять цену _depth = trades.FirstOrDefault(d => d.Code == "MSICH").LastTrade.Price;

Таже самая ошибка. Пытаетесь привести decimal к Security. 2 разных сущности, 2 разных типа. В инете есть много учебников по C#, стоит хотя бы про типы прочитать и про приведение :)

А то ошибки ну уж совсем начальные.

Thanks: Yura

Yura

Avatar
Date: 5/17/2011


Alexander:

Yura:

Yura:

Alexander:

Yura:

Yura:

Yura:

Yura:

Yura: Какая проблема в 5-й строке? =(

trader.SecuritiesChanged += trades => { if (_depth == null && _lkoh != null) { _depth = trades.FirstOrDefault(d => d.Code == "LKOH").LastTrade; if (_depth != null) { // если портфель уже появился, то извещаем об этом основной поток для выставления заявки if (_portfolio != null) waitHandle.Set(); } } };

> > > > > > > >
> > > > > > > >
> > > > > > > > depth это что, какой тип? Стакан? Тогда неправильное приведение типов.
> > > > > > > >
> > > > > > > > А Visual Studio что говорит? Или это викторина для форумчан? :)
> > > > > > > "Ошибка	7	Неявное преобразование типа "Ecng.Trading.BusinessEntities.Trade" в "Ecng.Trading.BusinessEntities.Security" невозможно
> > > > > > > "В общем мне нужно получить информацию о последней сделке по указанной бумаге..как мне это сделать? =( Плиз если можно пример рабочий((я в си шарпе новичок и в стокшарпе трудно разобраться. А у _depth тип Security
> > > >
> > > >
> > > > Последняя сделка - это Trade, а вы пытаетесь привести её к Security.
> > > > собственно об этом Visual Studio и сообщает.
> > > О господи, ДА ДЕТКА, пашет!! спс огромное! какое же это счастье...
> > А ещё такой вопрос. я пишу такое ```
trader.SecuritiesChanged += trades =>
                        {
                            if (_depth == null && _lkoh != null)
                            {
                                _depth = trades.FirstOrDefault(d => d.Code == "MSICH").LastTrade.Price;
                                
                                if (_depth != null)
                                {
                                    // если портфель уже появился, то извещаем об этом основной поток для выставления заявки
                                    if (_portfolio != null)
                                        waitHandle.Set();
                                }
                            }
                        };

Ошибка 1 Неявное преобразование типа "decimal" в "Ecng.Trading.BusinessEntities.Trade" невозможно. пытаюсь взять цену _depth = trades.FirstOrDefault(d => d.Code == "MSICH").LastTrade.Price;

Таже самая ошибка. Пытаетесь привести decimal к Security. 2 разных сущности, 2 разных типа. В инете есть много учебников по C#, стоит хотя бы про типы прочитать и про приведение :)

А то ошибки ну уж совсем начальные. На счет типов я понял что не совпадают. Но как так сделать чтоб вывелась цена=(

Thanks:

Yura

Avatar
Date: 5/18/2011


Здравствуйте. Данные для тестирования на истории должны быть заранее скачаны и сохранены в специальном S# формате. Что это за формат, я не могу разобраться как преобразовать в этот формат..хэлп.

Thanks:

Alexander

Avatar
Date: 5/18/2011


Yura: Здравствуйте. Данные для тестирования на истории должны быть заранее скачаны и сохранены в специальном S# формате. Что это за формат, я не могу разобраться как преобразовать в этот формат..хэлп.

Посмотрите на работу Hydra и на работу SampleHistoryTesting. Все исходники идут со Stock#

Thanks:

Roman0

Avatar
Date: 5/21/2011


Пожалуйста, подскажите как надежно определить, что все сделки из таблицы всех сделок получены и пошли актуальные данные, если подключиться через какое-то время после начала торгов. Наверное можно получить Security.LastTrade.Time и потом сравнивать с СandleManager.Source.Trades.Last().Time в CandlesChanged и т.д., но может быть есть какие-то еще способы? Спасибо!

Thanks:

Yura

Avatar
Date: 5/22/2011


Здравствуйте. Я не могу разобраться с SampleHistoryTesting. Запускаю, указываю путь к папке RIU9@RTS, нажимаю старт, пошла загрузка, нажимаю на отчет, выводится сообщение от Microsoft Excel мол неизвестный формат файла и кучу непонятных символов. В чем проблема? спасибо!

Thanks:

Mikhail Sukhov

Avatar
Date: 5/22/2011


Yura: Здравствуйте. Я не могу разобраться с SampleHistoryTesting. Запускаю, указываю путь к папке RIU9@RTS, нажимаю старт, пошла загрузка, нажимаю на отчет, выводится сообщение от Microsoft Excel мол неизвестный формат файла и кучу непонятных символов. В чем проблема? спасибо!

Версия последняя?

Thanks: Yura

Yura

Avatar
Date: 5/22/2011


Mikhail Sukhov:

Yura: Здравствуйте. Я не могу разобраться с SampleHistoryTesting. Запускаю, указываю путь к папке RIU9@RTS, нажимаю старт, пошла загрузка, нажимаю на отчет, выводится сообщение от Microsoft Excel мол неизвестный формат файла и кучу непонятных символов. В чем проблема? спасибо!

Версия последняя? скачал 3.1.9 и все заработало, Excel файл открывается.спасибо [biggrin] буду разбираться теперь с S# форматом.

Thanks:
<< < 31 32 33 34 35  > >>

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

loading
clippy