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


ttt

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

Теги:


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


<< < 15 16 17 18 19  > >>
VsevolodG

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


VsevolodG Перейти
Mikhail Sukhov Перейти
VsevolodG Перейти

Попытался догадаться -) Запустил пример sample вручную создал тейк, он отработал - sample ничего не сказал


Заявки Sample вывел? Сделки?


Да, в Sample работает нормально. Все выводит


Разница в примере и в моем коде заключается в способе запуска обмена данными:

//мой код
this.Trader.Terminal.StartDde(Trader.SecuritiesTable, Trader.MyTradesTable, Trader.EquityPositionsTable);

//код в примере
this.Trader.StartExport();

В случае если я использую StartExport, проблема решается.
Объясните, пожалуйста, в чем разница между этими методами?
Спасибо:

Mikhail Sukhov

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


VsevolodG Перейти
Разница в примере и в моем коде заключается в способе запуска обмена данными:

//мой код
this.Trader.Terminal.StartDde(Trader.SecuritiesTable, Trader.MyTradesTable, Trader.EquityPositionsTable);

//код в примере
this.Trader.StartExport();

В случае если я использую StartExport, проблема решается.
Объясните, пожалуйста, в чем разница между этими методами?


Вы забыли самое главное - экспорт заявок Trader.OrdersTable. Плюс не отслеживается состояние стоп-заявки, так как и эта таблица не экспортируется.

По стоп заявкам сделок не существует. Стоп заявки выставляют обычные и уже по ним происходит сделки. QuikTrader нужна информация о заявке, так как MyTrade (не путаем с известным блоггером[smile]) - это лишь объединение заявки и тиковой сделки.
Спасибо:

MCTuTeJ|19951995

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


Михаил, а что нужно чтобы работал метод Trader.Terminal.OpenQuotes(Security) ? Насколько я понял этот метод должен открывать окно со стаканом по переданному инструменту, но он не делает нечего. Метод Trader.RegisterQutes(Security) окно со стаканом не открывает, но очень весело прочесывает таблицу "инструменты" (я даже испугался когда первый раз это увидел :D), после чего выдает ошибку "окно с заголовком не найдено". Мне нужно в коде открыть окно и подписаться на котировки по инструменту.
Спасибо:

MCTuTeJ|19951995

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


Версия s# 2.6
Спасибо:

VsevolodG

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


Mikhail Sukhov Перейти

Вы забыли самое главное - экспорт заявок Trader.OrdersTable. Плюс не отслеживается состояние стоп-заявки, так как и эта таблица не экспортируется.

По стоп заявкам сделок не существует. Стоп заявки выставляют обычные и уже по ним происходит сделки. QuikTrader нужна информация о заявке, так как MyTrade (не путаем с известным блоггером[smile]) - это лишь объединение заявки и тиковой сделки.


Понял, спасибо!
Спасибо:

Mikhail Sukhov

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


MCTuTeJ|19951995 Перейти
Версия s# 2.6


Ошибка исправлена в 3.0
Спасибо:

Igor_B

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


Mikhail Sukhov Перейти
Igor_B Перейти

2.Пробовали создавать таблицу инструменты в Квике (пример LKOH), при выполнении
lkoh = new Security();
Trader.RegisterQuotes(lkoh); - ошибка
"Для инструмента не было найдено информации в таблице инструменты.
Parameter name: security"
В чем м.б. ошибка?
Спасибо.


А все основные поля у инструмента заполнили (код класс идентификатор имя)?

Михаил, доброе время.
Создали таблицу инструменты для ЛУКОЙЛа. Вывели все поля в таблицу (бумага, бумага сокращ, код бумаги.....).
В приложении
lkoh.ShortName = "ЛУКОЙЛ";
lkoh.Code = "LKOH";
lkoh.Class = "EQBR";
lkoh.Id = "LKOH";//ЛУКОЙЛ [А1-Акции]";
Затем

Trader.RegisterQuotes(lkoh); - выдает ошибку
Для инструмента LKOH не было найдено информации в таблице инструменты.
Parameter name: security

Правильно ли указали Id - ?
Спасибо.
Спасибо:

Mikhail Sukhov

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


Igor_B Перейти

lkoh.ShortName = "ЛУКОЙЛ";
lkoh.Code = "LKOH";
lkoh.Class = "EQBR";
lkoh.Id = "LKOH@EQBR";//ЛУКОЙЛ [А1-Акции]";
Затем

Trader.RegisterQuotes(lkoh); - выдает ошибку
Для инструмента LKOH не было найдено информации в таблице инструменты.
Parameter name: security



А версия какая?
Спасибо:

Igor_B

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


Mikhail Sukhov Перейти
Igor_B Перейти

lkoh.ShortName = "ЛУКОЙЛ";
lkoh.Code = "LKOH";
lkoh.Class = "EQBR";
lkoh.Id = "LKOH@EQBR";//ЛУКОЙЛ [А1-Акции]";
Затем

Trader.RegisterQuotes(lkoh); - выдает ошибку
Для инструмента LKOH не было найдено информации в таблице инструменты.
Parameter name: security



А версия какая?

Версия 3. Id = "LKOH@EQBR" - пробовали так - такая же ошибка. Может ли быть ошибка из-за того,
что настройка столбцов таблицы отличается от настройки таблицы "инструменты" в Sample.
Спасибо:

Mikhail Sukhov

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


Igor_B Перейти
Версия 3. Id = "LKOH@EQBR" - пробовали так - такая же ошибка. Может ли быть ошибка из-за того,
что настройка столбцов таблицы отличается от настройки таблицы "инструменты" в Sample.


А они у вас отличаются? Приведите список колонок... Кстати, а в чем эта сакраментальная идея не экспортировать инструменты?
Спасибо:
<< < 15 16 17 18 19  > >>

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

loading
clippy