Получение данных о транзакции по стоп-заявке

Страницы: 1
RSS
Получение данных о транзакции по стоп-заявке
 
Доброго времени суток. Есть руками выставленный стоп. Задача: убедиться, что ордер не просто выставился, а произошла покупка. Насколько я понимаю, нужно ловить транзакцию и ее мучить, но в OnTransReply ничего не приходит даже после срабатывания :( Спасибо.
 
Здравствуйте,
В OnTransReply приходят ответы только на транзакции отправленные из Lua
 
Скорее всего нужно ловить OnOrder при выставлении заявка - срабатывании стопа
И потом OnTrade - при срабатывании выставленной стопом заявки - по факту сделки
 
Если заявка исполняется сразу, то, как правило, OnTrade приходит раньше OnOrder.
Поэтому лучше отслеживать статус "Исполнена" порождённой заявки по OnOrder.
Надо делать так, как надо. А как не надо - делать не надо.
 
А разве нельзя просто по trans_id запросец направить? Только с сеточкой для ловли транзакций стоять?
 
Цитата
WennY написал:
А разве нельзя просто по trans_id запросец направить? Только с сеточкой для ловли транзакций стоять?

на транзакциях отправленных через интерфейс терминала, параметр trans_id отсутствует и установить его нельзя.
 
Хорошо, допустим, я отловил таблицу с моей транзакцией. Как теперь достоверно определить, была ли открыта (а не просто выставлена) позиция?
 
Цитата
WennY написал:
Хорошо, допустим, я отловил таблицу с моей транзакцией. Как теперь достоверно определить, была ли открыта (а не просто выставлена) позиция?
смотря что понимать под "открыта позиция", некоторые понимают под этим заявку, а некоторые сделку.
Вот Вы как это понимаете?
 
Цитата
Sergey Gorokhov написал:

смотря что понимать под "открыта позиция", некоторые понимают под этим заявку, а некоторые сделку.
Вот Вы как это понимаете?
Заявка - это лимитный биржевой ордер, выставленный напрямую или через условный стоп на брокере. Под сделкой я имею в виду именно свершившийся акт входа в позицию, а не отправку на биржу лимитной заявки.
 
Цитата
WennY написал:
Цитата
Sergey Gorokhov   написал:

смотря что понимать под "открыта позиция", некоторые понимают под этим заявку, а некоторые сделку.
Вот Вы как это понимаете?
Заявка - это лимитный биржевой ордер, выставленный напрямую или через условный стоп на брокере. Под сделкой я имею в виду именно свершившийся акт входа в позицию, а не отправку на биржу лимитной заявки.
Соответственно, если Вам нужна сделка смотрите колбек для сделок OnTrade.
Или саму таблицу сделок через getItem
 
Дополню, если нужно увидеть изменение статуса заявки, это делается через поле flags
 
Цитата
Sergey Gorokhov написал:

Соответственно, если Вам нужна сделка смотрите колбек для сделок OnTrade.
Или саму таблицу сделок через getItem
А как связать открытый руками ордер и сделку?
 
Не по order_num случаем?
 
Цитата
WennY написал:
Цитата
Sergey Gorokhov   написал:

Соответственно, если Вам нужна сделка смотрите колбек для сделок OnTrade.
Или саму таблицу сделок через getItem
А как связать открытый руками ордер и сделку?

По номеру заявки который присутствует в таблице сделок.
 
Цитата
WennY написал:
Не по order_num случаем?

да именно он
 
Понятно, спасибо, ща будем пробовать :wink:
 
А что такое linkedorder? Его можно использовать в качестве привязки? Только что скриптом провел куплю-продажу; у заявки и сделки одно и то же значение. В чем отличия от trans_id?
 
Цитата
WennY написал:
А что такое linkedorder?
в таблице стоп заявок это номер заявки в торговой системе, зарегистрированной по наступлению условия стоп-цены.
в таблице заявок это исходный номер заявки с указанной датой исполнения при замене заявки в ходе клиринга. Параметр заявок срочного рынка FORTS.

Цитата
WennY написал:
Его можно использовать в качестве привязки?
в сделках этого параметра нет, но там есть order_num по которому можно найти заявку и стоп заявку (как раз по полю linkedorder)

Цитата
WennY написал:
В чем отличия от trans_id?
trans_id задает робот как ему угодно
а linkedorder задается сервером
 
Параметр linkedorder, указанный в стоп-заявке, сразу в ней доступен или он туда прописывается уже после срабатывания условий стопа?
 
Цитата
WennY написал:
Параметр linkedorder, указанный в стоп-заявке, сразу в ней доступен или он туда прописывается уже после срабатывания условий стопа?

Пока стоп не сработает не будет заявки и значит нечего писать в linkedorder
 
Цитата
Sergey Gorokhov написал:
Пока стоп не сработает не будет заявки и значит нечего писать в linkedorder
Ну, может стоп заранее резервирует id под будущий трейд  :smile:

А зачем нужен flags сделкам? Сделка - это ведь исполненная заявка, так какие ещё статусы там могут быть?
 
Цитата
WennY написал:
Ну, может стоп заранее резервирует id под будущий трейд  
На московской бирже, где собственно и исполняются заявки, нет возможности заранее зарезервировать номер заявки.
Цитата
WennY написал:
А зачем нужен flags сделкам? Сделка - это ведь исполненная заявка, так какие ещё статусы там могут быть?
посмотрите документацию, там не только статусы.
 
Я нашел только "Флаги для таблиц Заявки, Заявки на внебиржевые сделки, Сделки, Сделки для
исполнения".
 
Я лишь хочу быть уверенным, что сделка состоялась или же, если она может не состояться, что она предприняла отчаянную попытку, которая закончилась провалом. Означает ли заполнение 22526627011 у стопа-заявки гарантией того, что сделка состоялась? или она может все-таки не состояться?
 
* Под цифрами я конечно же имел в виду linkedorder, прошу прощения.
 
Поставим задачу более предметно. Есть выставленный руками/робот стоп-ордер. Как мне наиболее грамотно проконтролировать осуществление им сделки в формате "успешно осуществлена/попытка осуществлена, но неудачно"?
 
Может, понадобится кому. Ищет по linkedorder. Исходит из предпосылки, что ежели транзакция помещена в trades, то позиция была открыта. Если данная предпосылка не совсем верна и в таблицу trades может затесаться непроведенная транза, то просьба поправить.
Код
-- проведена ли сделка по данному стоп-ордеру
function isTradeOfStopOrderWasDone(stopOrder)
    for i = 0, getNumberOf("trades") - 1 do
        local tradeOrderNum = getItem("trades", i).order_num
        if tonumber(stopOrder.linkedorder) == tradeOrderNum then
            return true
        end
    end
    return false
end
 
Цитата
WennY написал:
Я лишь хочу быть уверенным, что сделка состоялась или же, если она может не состояться, что она предприняла отчаянную попытку, которая закончилась провалом.

Сделка не может "предпринять попытки"! Это сделка - факт совершения операции. Если сделка сама по себе просто существует, это уже означает что заявка исполнилась, либо частично исполнилась.

Цитата
WennY написал:
Означает ли заполнение 22526627011 у стопа-заявки гарантией того, что сделка состоялась? или она может все-таки не состояться?

Совершенно нет, linkedorder это заявка!, а не сделка. Грубо, приходите на рынок и говорите что хотите купить, но не факт что у Вас кто-то что-то купит.

Цитата
WennY написал:
Есть выставленный руками/робот стоп-ордер. Как мне наиболее грамотно проконтролировать осуществление им сделки в формате "успешно осуществлена/попытка осуществлена, но неудачно"?

По количеству исполненного количества. Как контролировать исполненное количество уже на Ваш вкус, хотите через заявки, хотите по сделкам.
 
Понятно, спасибо
Страницы: 1
Читают тему
Наверх