Вопросы новичка в S# (Закрыта)
Atom
01.12.2010


ttt

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

Теги:


Спасибо: Николай_Флёров




506 Ответов
1 2 3  > >>
artemox

Фотография
Дата: 01.12.2010


1) При создании заявки у вас будет объект, который в дальнейшем будет отражать реальное состояние заявки. При этом изменение заявок сопровождается событиями. Как бы о таблицах КВИК заботиться не стоит.
2) По идее робота можно написать в одном потоке, опять же ориентируясь на события S#. А уже в библиотеке потоков может быть много, но это сильно не должно волновать при разработке роботов.
Спасибо:

sotikov

Фотография
Дата: 04.12.2010


Так как я то-же только начинаю программировать с использованием S# пишу в этой теме.
Вопрос такой: Отчего в примерах (которые идут с S#) подключение классов происходит после команды namespace и обязательно ли подключать именно так?
Спасибо:

ustas

Фотография
Дата: 05.12.2010


sotikov
Так как я то-же только начинаю программировать с использованием S# пишу в этой теме.
Вопрос такой: Отчего в примерах (которые идут с S#) подключение классов происходит после команды namespace и обязательно ли подключать именно так?

на мой взгляд это дело вкуса, работает и так и так.
Спасибо:

sotikov

Фотография
Дата: 05.12.2010


ustas
на мой взгляд это дело вкуса, работает и так и так.

А на что тогда ругается у меня VS2010? Я понять не могу, поможите...


Посмотреть в увеличенном варианте.
Спасибо:

ustas

Фотография
Дата: 06.12.2010


в свойствах проекта какая версия .Net указана ?
надо 3.5
Спасибо:

sotikov

Фотография
Дата: 06.12.2010


Был 4 Фреймворк установлен. Спасибо подправил.
Спасибо:

Alexander

Фотография
Дата: 06.12.2010


ustas
в свойствах проекта какая версия .Net указана ?
надо 3.5



я под 4.0 успешно пишу. там главное - чтоб было просто 4.0 а не client profile
Спасибо:

sotikov

Фотография
Дата: 09.12.2010


Alexander
я под 4.0 успешно пишу. там главное - чтоб было просто 4.0 а не client profile

Так и есть, у меня стоит обычный 4.0.
Спасибо:

a.dobryn

Фотография
Дата: 20.12.2010


напишу в эту тему, вопрос у меня вроде довольно тривиальный.

Что нужно для отправки заявки? сам синтаксис я посмотрела, с этим вроде все понятно. А как конкретно, по действиям?
1) подключиться к quik
2) включить экспорт DDE - вот тут вопрос. Какие таблицы нужно экспортировать для этого? нужны ли какие-то конкретные?
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 21.12.2010


D_Alex
напишу в эту тему, вопрос у меня вроде довольно тривиальный.

Что нужно для отправки заявки? сам синтаксис я посмотрела, с этим вроде все понятно. А как конкретно, по действиям?
1) подключиться к quik
2) включить экспорт DDE - вот тут вопрос. Какие таблицы нужно экспортировать для этого? нужны ли какие-то конкретные?


Как минимум экспорт инструментов. Если нужно отслеживать состояние заявки и полученные сделки - еще и экспорт заявок + моих сделок. Ну и так далее.
Спасибо:

a.dobryn

Фотография
Дата: 21.12.2010


понятно, спасибо, буду пробовать =)
Спасибо:

a.dobryn

Фотография
Дата: 21.12.2010


таблица инструментов - это таблица котировок текущего инструмента?
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 21.12.2010


D_Alex
таблица инструментов - это таблица котировок текущего инструмента?


https://stocksharp.ru/do...4-958a-66c93c58b941.htm (3-ий скрин)
Спасибо:

a.dobryn

Фотография
Дата: 22.12.2010


сделала все, как описано (загрузила настройки расположения окон)
при попытке отправки заявки получается это
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 22.12.2010


D_Alex
сделала все, как описано (загрузила настройки расположения окон)
при попытке отправки заявки получается это


Order.Portfolio чем инициализировали?
Спасибо:

a.dobryn

Фотография
Дата: 23.12.2010


Код
order.Portfolio = this.Portfolios.SelectedPortfolio;
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 23.12.2010


D_Alex
Код
order.Portfolio = this.Portfolios.SelectedPortfolio;


Предполагаю, что портфель из выпадающего списка не выбрали.
Спасибо:

a.dobryn

Фотография
Дата: 23.12.2010


Действительно, в этот раз при запуске появился номер счета на выбор. Заявка отправилась, спасибо =)
Спасибо:

a.dobryn

Фотография
Дата: 23.12.2010


а как экспортировать одновременно и CustomPortfolio и обычные таблицы? у меня в итоге выходит, что с CustomPortfolio все в порядке, а по остальным таблицам нет данных.

Код

this.Trader.AddCustomTableMapping(typeof(CustomPortfolio));

this.Trader.ProcessCustomTables += (type, objects) =>
{
// нас интересует только CustomPortfolio
if (type == typeof(CustomPortfolio))
_portfolioWindow.Portfolios.AddRange(objects.Cast<CustomPortfolio>());

};

this.Trader.NewSecurities += securities => this.GuiAsync(() => _securitiesWindow.Securities.AddRange(securities));
Спасибо:

a.dobryn

Фотография
Дата: 24.12.2010


и еще вопрос - что-то я совсем запуталась.
Есть данные, получаемые из Quik, как раз этот CustomPortfolio, как из примера Sample. Хранятся они в _portfolioWindow.Portfolios; Объявлено оно в классе MainWindow.
Как из другого класса получить доступ к полям _portfolioWindow.Portfolios? Объявления экземпляра MainWindow я не нашла.

upd: нашла. Он называется MainWindow.Instance, shame on me.
Спасибо:

a.dobryn

Фотография
Дата: 27.12.2010


Вылезает такая ошибка, как в примере, так и у меня, но заявки отправляются. Где нужно посмотреть? В настройке таблиц Quik'а или где-то у себя?
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 27.12.2010


D_Alex
Вылезает такая ошибка, как в примере, так и у меня, но заявки отправляются. Где нужно посмотреть? В настройке таблиц Quik'а или где-то у себя?


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

a.dobryn

Фотография
Дата: 27.12.2010


То есть, она отсутствует в самом quik, и она не нужна?
Спасибо:

Mikhail Sukhov

Фотография
Автор статей Программист Трейдер
Дата: 27.12.2010


D_Alex
То есть, она отсутствует в самом quik, и она не нужна?


Нужна или нет - это Вам решать. Если данный инструмент не нужен - сделайте фильтр на таблицу позиций, чтобы сообщение не выскакивало.
Спасибо:

a.dobryn

Фотография
Дата: 27.12.2010


все, понятно, спасибо =)
Спасибо:
1 2 3  > >>

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

loading
clippy