Здравствуйте,
Подскажите как получить цену исполнения и ее объем после того как она
исполнилась на бирже? Заявка выставлялась по принципу примера из
SampleSMA.
С уваженим
Дмитрий
Комментарии (9)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
Подскажите такой код может являться гарантией принятия заявки биржей
или я что-то не так понял?
for (int i = 0; i < 30; i++)
{
if (order.Status == OrderStatus.Done)
{
// заявка гарантирована принята
break;
}
System.Threading.Thread.Sleep(1000);
}
if (order.Status != OrderStatus.Done)
{
// заявка не принята
Статус присваивается сразу в момент регистрации. Да и зачем Вам это?
Если у заявки есть номер и регистрация не выбросила исключение -
значит она принята биржей.
Дело в том, что мне необходимо сохранять в БД цену исполнения и объем
на который совершилась сделка, а не цену и объем указанную в заявке.
Ведь в общем случаи они могут отличаться. Поэтому мне необходимо
условие исполнения. Быть может вы что-нибудь посоветуете?
А, кажется понял - просто например метод RegisterOrder синхронный, то
есть ждет ответа от биржи и пока ответ не получен код дальше не
выполняется. Но вопрос сколько он ждет и можно ли это как-то настроить?
Он не ждет. Он вызывает метод Квика, и она этот метод не вернет
управление, то будет ждать до бесконечности. На практике конечно все
намного быстрее - у меня менее секунды.
Согласен, что в большинстве случаев так и будет, вопрос в том, что
будет если произойдет сбой у брокера или биржи, вернет ли метод квика
управление в этом случаи. В общем нужно полагаться на программистов
квика и надеяться, что у них это как-то предусмотрено.
Мы используем куки для обеспечения лучшего опыта на нашем сайте. Продолжая использовать наш сайт, вы соглашаетесь на использование куки.
Комментарии (9)
Вход или Создать аккаунт, Войдите или зарегистрируйтесь, чтобы оставить комментарий
ITrader.GetTrades(matchedOrder). Получаете колекцию сделок по заявке. У нее уже смотрите, цены и объемы.
Спасибо, но честно говоря не нашел метода GetTrades с параметром типа order. Есть с Candle или по времени.
У Вас последяя версия? Вы случайно не смотрите GetTrades в CandleManager? Этот метод имеет то же название, но несет другой смысл
Все, нашел: GetMyTrades!
Подскажите такой код может являться гарантией принятия заявки биржей или я что-то не так понял? for (int i = 0; i < 30; i++) { if (order.Status == OrderStatus.Done) { // заявка гарантирована принята break; } System.Threading.Thread.Sleep(1000); }
if (order.Status != OrderStatus.Done) { // заявка не принята
Статус присваивается сразу в момент регистрации. Да и зачем Вам это? Если у заявки есть номер и регистрация не выбросила исключение - значит она принята биржей.
Дело в том, что мне необходимо сохранять в БД цену исполнения и объем на который совершилась сделка, а не цену и объем указанную в заявке. Ведь в общем случаи они могут отличаться. Поэтому мне необходимо условие исполнения. Быть может вы что-нибудь посоветуете?
А, кажется понял - просто например метод RegisterOrder синхронный, то есть ждет ответа от биржи и пока ответ не получен код дальше не выполняется. Но вопрос сколько он ждет и можно ли это как-то настроить?
Он не ждет. Он вызывает метод Квика, и она этот метод не вернет управление, то будет ждать до бесконечности. На практике конечно все намного быстрее - у меня менее секунды.
Согласен, что в большинстве случаев так и будет, вопрос в том, что будет если произойдет сбой у брокера или биржи, вернет ли метод квика управление в этом случаи. В общем нужно полагаться на программистов квика и надеяться, что у них это как-то предусмотрено.