a.dobryn
|
Дата: 27.12.2010
А что означает "Превышен лимит по инструменту?" отправляю заявку так Код var order = new Order { Volume = volume, Price = price, Security = MainWindow.Instance._securitiesWindow.Securities[0], Direction = oper == "Buy" ? OrderDirections.Buy : OrderDirections.Sell, }; MainWindow.Instance.NewOrder(order);
|
|
|
|
a.dobryn
|
Дата: 28.12.2010
или откуда вообще вытаскивать Security?
|
|
|
|
Mikhail Sukhov
|
Дата: 28.12.2010
D_Alexили откуда вообще вытаскивать Security? ITrader.Securities, ITrader.NewSecurities. Как использовать показано в примерах.
|
|
|
|
Mikhail Sukhov
|
Дата: 28.12.2010
D_AlexА что означает "Превышен лимит по инструменту?"
Это лучше на сайте Квика поискать.
|
|
|
|
a.dobryn
|
Дата: 28.12.2010
Просто дело в том, когда я отправляю заявку из окна инструментов, в примере, заявка нормально отправляется, а когда я пытаюсь сделать это программно, так, как я писала выше - вылезает эта ошибка, значит, что-то у меня там с параметрами.
|
|
|
|
a.dobryn
|
Дата: 28.12.2010
все, поняла, при отправке заявки на продажу (и из примера тоже), вылезает эта ошибка. Оказывается, это возникает при недостатке ресурсов под заявку, то есть продавать нечего. А у Quik'а, как обычно, один ответ на все ошибки =)
|
|
|
|
ttt
|
Дата: 10.01.2011
Использую S# выставляя ордер в Quik. При создании ордеров явно указываю: Comment = "мой коммент 123" В Квике в таблице "Заявки" в поле "Комментарии" пишет "S#" для любого выставляемого ордера. При проверке: MessageBox.Show("комментарий="+ord.Comment); оказывается, что поле Comment, создаваемого ордера, содержит значение "мой коммент 123". В чем дело? Как сделать так, чтобы в Квике в таблице Заявки в поле "Комментарии" отражалось значение мой коммент 123"?
|
Автор топика
|
|
|
Mikhail Sukhov
|
Дата: 11.01.2011
ttt  В чем дело? Как сделать так, чтобы в Квике в таблице Заявки в поле "Комментарии" отражалось значение мой коммент 123"? Это вопрос из топ 10... Я передаю признак кода клиента как "S#", а не комментарий. Квик пишет, что комментарий некоторые брокеры используют для своих расчетов, поэтому его не выставить из кода. Напишите вопрос или брокеру или на форуме Квика.
|
|
|
|
ttt
|
Дата: 11.01.2011
Каким образом установить код клиента? //например, S#1
|
Автор топика
|
|
|
Mikhail Sukhov
|
Дата: 11.01.2011
ttt  Каким образом установить код клиента? //например, S#1 Код клиента
|
|
|
|
a.dobryn
|
Дата: 12.01.2011
Михаил, снова вопросы от меня =) Как определить, что начались новые торговые сутки?
|
|
|
|
Alexander
|
Дата: 12.01.2011
D_Alex  Михаил, снова вопросы от меня =) Как определить, что начались новые торговые сутки? По DateTime.Date
|
|
|
|
Valdis
|
Дата: 13.01.2011
подскажите , как получить значения активная покупка/ продажа и текущие чистые позиции для фьючерсов ФОРТС ?
|
|
|
|
Alexander
|
Дата: 14.01.2011
Valdis  подскажите , как получить значения активная покупка/ продажа и текущие чистые позиции для фьючерсов ФОРТС ? что такое активная покупка\продажа? Если цена лучшей покупки\продажи в стакане, то Security.BestBid \ Security.BestAsk Текущие чистые позиции - если по сделкам, совершённым в рамках стратегии, то берётся из PositionManager.Position Если вообще, не учитывая в\вне стратегии - то Trader.GetPosition(Portfolio, Security)
|
|
|
|
Valdis
|
Дата: 14.01.2011
Alexander  Valdis  подскажите , как получить значения активная покупка/ продажа и текущие чистые позиции для фьючерсов ФОРТС ? что такое активная покупка\продажа? Если цена лучшей покупки\продажи в стакане, то Security.BestBid \ Security.BestAsk Текущие чистые позиции - если по сделкам, совершённым в рамках стратегии, то берётся из PositionManager.Position Если вообще, не учитывая в\вне стратегии - то Trader.GetPosition(Portfolio, Security) нет, это данные из таблицы позиции по деривативам ( DerivativePositionsTable ) т.е. колличество денег на счёте ММВБ и состояние портфеля мне понятно как отследить, а вот по бирже РТС -ФОРТС я не нашел таких же данных активная покупка/продажа это колличество лотов по инструменту выставленных мной на биржу. я так понимаю библиотека S# впервую очередь заточена для торговли акциями, а не фьючерсами. т.е. напрямую, указанными вами способами не получить данных по счетам ФОРТС , их видимо надо как то считывать самому из экспортируемой таблицы DerivativePositionsTable , если я ошибаюсь , поправьте меня и подскажите тогда как вытащить данные из этой таблицы ?
|
|
|
|
Alexander
|
Дата: 14.01.2011
Valdis  нет, это данные из таблицы позиции по деривативам ( DerivativePositionsTable ) т.е. колличество денег на счёте ММВБ и состояние портфеля мне понятно как отследить, а вот по бирже РТС -ФОРТС я не нашел таких же данных активная покупка/продажа это колличество лотов по инструменту выставленных мной на биржу. я так понимаю библиотека S# впервую очередь заточена для торговли акциями, а не фьючерсами. т.е. напрямую, указанными вами способами не получить данных по счетам ФОРТС , их видимо надо как то считывать самому из экспортируемой таблицы DerivativePositionsTable , если я ошибаюсь , поправьте меня и подскажите тогда как вытащить данные из этой таблицы ? 1) Я торгую только на фортсе с помощью Stock# уже год. Он отлично заточен для торговли деривативами. Trader.GetPosition(Portfolio, Security) возвращает ту позицию, которая соответствует данному портфелю для заданного инструмента. А у вас он не возвращает для того же фьюча РТС позицию данным методом? 2) Суммируете оставшийся невыполненный объём в активных своих заявках. Если заявка бай - то +n оставшихся контрактов, если селл - то -n.
|
|
|
|
Valdis
|
Дата: 14.01.2011
Alexander просто я подумал , раз есть уже экспортируемая изначально таблица DerivativePositionsTable то можно как то из неё получать данные по текущим чистым позициям и активная покупка/ продажа.....но раз так нельзя будем пробовать ваш способ. Благодарю за помощь
|
|
|
|
MCTuTeJ|19951995
|
Дата: 14.01.2011
Насколько я понял, с помощью s# можно "выудить" любые данные из Квика. Попробуйте использовать CustomTables.
|
|
|
|
Alexander
|
Дата: 14.01.2011
Valdis  Alexander просто я подумал , раз есть уже экспортируемая изначально таблица DerivativePositionsTable то можно как то из неё получать данные по текущим чистым позициям и активная покупка/ продажа.....но раз так нельзя будем пробовать ваш способ. Благодарю за помощь Не то чтобы нельзя - как раз любую таблицу можно получить, как уже ответили. Просто так проще как я написал, без лишних заморочек. :)
|
|
|
|
Valdis
|
Дата: 19.01.2011
снимал группу заявок по фильтру таким образом : _Trader.CancelOrders(false, _portfolio, null, null, _security); всё работало, но сегодня прямо в процессе работы вырубилось, причем обычные ордера регистрируются , а снять группу заявок на фортс не получается. ошибки не возвращает, причем в квике число полученных внешних транзакций при попытке снять ордера не меняется из чего я делаю вывод что до квика вобще ни чего не доходит. подскажите , в каком направлении копать ?
сам допетрил :) я изначально _portfolio.Name = "11005"; задавал таким неверным способом . непонятно только почему это вначале работало а потом отключилось. примеры из мануала рулят. Михаилу респект за библиотеку !
|
|
|
|
a.dobryn
|
Дата: 20.01.2011
а как лучше отслеживать заявки? например, отсылается у меня заявка на продажу n лотов с ценой A. Через некоторое время произошла продажа n-2 лотов и мне нужно снять эту заявку и поставить новую, 2 лота по цене B. Искать их по таблице заявок с параметрами n и A? Или есть риск нарваться на другую, такую же?
upd: точнее, даже не так. Заявок может быть несколько, самых разных, но по их исполнению (даже частичному) надо их заменять. Как это организовать?
|
|
|
|
Alexander
|
Дата: 20.01.2011
D_Alex  а как лучше отслеживать заявки? например, отсылается у меня заявка на продажу n лотов с ценой A. Через некоторое время произошла продажа n-2 лотов и мне нужно снять эту заявку и поставить новую, 2 лота по цене B. Искать их по таблице заявок с параметрами n и A? Или есть риск нарваться на другую, такую же?
upd: точнее, даже не так. Заявок может быть несколько, самых разных, но по их исполнению (даже частичному) надо их заменять. Как это организовать? событие NewMyTrades в данном случае как раз то что надо
|
|
|
|
a.dobryn
|
Дата: 21.01.2011
Alexander  D_Alex  а как лучше отслеживать заявки? например, отсылается у меня заявка на продажу n лотов с ценой A. Через некоторое время произошла продажа n-2 лотов и мне нужно снять эту заявку и поставить новую, 2 лота по цене B. Искать их по таблице заявок с параметрами n и A? Или есть риск нарваться на другую, такую же?
upd: точнее, даже не так. Заявок может быть несколько, самых разных, но по их исполнению (даже частичному) надо их заменять. Как это организовать? событие NewMyTrades в данном случае как раз то что надо спасибо! а статус заявки меняется тогда, когда она исполнена целиком (например, куплено 5 лотов), или частично (куплен хотя бы 1 лот)?
|
|
|
|
Alexander
|
Дата: 23.01.2011
D_Alex  Alexander  D_Alex  а как лучше отслеживать заявки? например, отсылается у меня заявка на продажу n лотов с ценой A. Через некоторое время произошла продажа n-2 лотов и мне нужно снять эту заявку и поставить новую, 2 лота по цене B. Искать их по таблице заявок с параметрами n и A? Или есть риск нарваться на другую, такую же?
upd: точнее, даже не так. Заявок может быть несколько, самых разных, но по их исполнению (даже частичному) надо их заменять. Как это организовать? событие NewMyTrades в данном случае как раз то что надо спасибо! а статус заявки меняется тогда, когда она исполнена целиком (например, куплено 5 лотов), или частично (куплен хотя бы 1 лот)? Смотрите документацию, раздел Состояния заявок: Цитата:Если заявка исполняется частично, то вызываются события ITrader..::.NewMyTrades о новых сделках по выставленной заявке, а так же событие ITrader..::.OrdersChanged, где передается уведомление об изменении баланса по заявке Order..::.Balance
|
|
|
|
Valdis
|
Дата: 24.01.2011
я что то не пойму , почему событие Trader.PositionsChanged вызывается и при выставлении заявок и при исполнении их и даже просто, когда ни чего с позициями/заявками не происходит ? причем в последнем случае это событие приходит с периодичностью примерно раз в минуту . подскажите в чем может быть проблема ? читал мануал но так и нашел точного определения - КОГДА НАДО ПОДПИСЫВАТЬСЯ на события Trader.NewPositions Trader.PositionsChanged Trader.OrdersChanged Trader.NewMyTrades Trader.NewOrders
до коннекта с квиком Trader.Connect(); или после ? или вобще без разницы ?
|
|
|