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

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


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

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


<< < 7 8 9 10 11  > >>
Alexander

Avatar
Date: 2/21/2011


esper: Всем добрый день. Возникла следующая ситауция, мне необходимо получить данные из талицы "Портфель по деривативам" с добавленными колонками.

Код примерно следующий:

//добавляем столбцы trader.DerivativePortfoliosTable.Columns.Insert(2, DdeDerivativePortfolioColumns.CurrentLimitPositionsPrice); trader.DerivativePortfoliosTable.Columns.Insert(5, DdeDerivativePortfolioColumns.ACI); trader.DerivativePortfoliosTable.Columns.Add(DdeDerivativePortfolioColumns.MarketCommission);

//обработчик получения новых записей trader.NewPortfolios += obj => {

};

В обработчик приходит список объектов BusinessEntities.Portfolio, но в свойстве ExtensionInfo нет данных по дополнительным полям, каким образом можно их получить?

Аналогичная проблема была вчера. Версия 3.0.5. Ожидание не помогло (ждал, может вначале портфели приходят из другого места, потом обновляется...).

Thanks:

Mikhail Sukhov

Avatar
Date: 2/21/2011


Alexander: Аналогичная проблема была вчера. Версия 3.0.5. Ожидание не помогло (ждал, может вначале портфели приходят из другого места, потом обновляется...).

Да, во первых надо ждать и в NewPortolios и в PortfoliosChanged, так как ExtensionInfo может и позднее заполниться. А вот вторых подтверждаю багу с Insert. С Add у меня работает. Буду фиксить.

Thanks:

esper

Avatar
Date: 2/21/2011


Спасибо. Попутно возник еще такой вопрос, в таблице "Портфель по деривативам" есть поле "Тип лимита" и ряд других, но в объекте BusinessEntities.Portfolio таких полей нет, их ожидать тоже в ExtensionInfo?

Thanks:

Mikhail Sukhov

Avatar
Date: 2/21/2011


esper: Спасибо. Попутно возник еще такой вопрос, в таблице "Портфель по деривативам" есть поле "Тип лимита" и ряд других, но в объекте BusinessEntities.Portfolio таких полей нет, их ожидать тоже в ExtensionInfo?

Тип лимита нет. Смотрится только тип лимита Деньги. Другие - это какие?

Thanks:

esper

Avatar
Date: 2/21/2011


Mikhail Sukhov: Другие - это какие?

Если я правильно понял, то поля отображаются следующим образом.

Портфель по деривативам:

Торговый счет - Name Предыд. лимит откр. поз. - BeginAmount Тек. чист. поз. - CurrentAmount Вариац. маржа - ? Тип лимита - опускаем

Позиции по деривативам:

Торговый счет - Portfolio Код инструмента - Security Вход. чист. поз. - BeginValue Тек. чист. поз. - CurrentValue Акт. покупка - ? Акт. продажа - ?

Thanks:

Mikhail Sukhov

Avatar
Date: 2/21/2011


esper: Вариац. маржа - ?

Да, это недоделка. Было желание вычислять текущее значение денег на ФОРТС, но не потом сдался. Надо это куда-то деть. Предлагаю в Portfolio.Leverage.

esper: Акт. покупка - ? Акт. продажа - ?

Их сумма записывается в Position.BlockedValue

Thanks:

a.dobryn

Avatar
Date: 2/21/2011


а что произойдет, если пробовать снять заявку, у которой статус Done? кроме сообщения о невозможности сделать это. Как можно отловить подобное событие?

Thanks:

Mikhail Sukhov

Avatar
Date: 2/21/2011


D_Alex: а что произойдет, если пробовать снять заявку, у которой статус Done? кроме сообщения о невозможности сделать это. Как можно отловить подобное событие?

ITrader.OrdersFailed

Thanks: a.dobryn

skuvv

Avatar
Date: 2/21/2011


После вызова _trader.ReRegisterOrder при изменении заявки, TraderHelper.IsCanceled = true. Собственно вопрос как можно различить отмененный ордер от замененного? В обоих OrderStates.Done и order.Balance > 0 Можно конечно last message смотреть как вариант. PS На игровом сервере поле "снята(время)" пустое

Thanks:

Mikhail Sukhov

Avatar
Date: 2/21/2011


skuvv: Собственно вопрос как можно различить отмененный ордер от замененного?

Во-первых, это плохой подход, когда требуется такое различать. Потому что не существует такого понятия в бирже как "замененный ордер". Во вторых, успешно замененный ордер можно так же отменить. Какая логика должна быть в этом случае?

Thanks:
<< < 7 8 9 10 11  > >>

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

loading
clippy