Доброго времени суток. Есть руками выставленный стоп. Задача: убедиться, что ордер не просто выставился, а произошла покупка. Насколько я понимаю, нужно ловить транзакцию и ее мучить, но в OnTransReply ничего не приходит даже после срабатывания :( Спасибо.
Скорее всего нужно ловить OnOrder при выставлении заявка - срабатывании стопа И потом OnTrade - при срабатывании выставленной стопом заявки - по факту сделки
Если заявка исполняется сразу, то, как правило, OnTrade приходит раньше OnOrder. Поэтому лучше отслеживать статус "Исполнена" порождённой заявки по OnOrder.
Надо делать так, как надо. А как не надо - делать не надо.
WennY написал: Хорошо, допустим, я отловил таблицу с моей транзакцией. Как теперь достоверно определить, была ли открыта (а не просто выставлена) позиция?
смотря что понимать под "открыта позиция", некоторые понимают под этим заявку, а некоторые сделку. Вот Вы как это понимаете?
смотря что понимать под "открыта позиция", некоторые понимают под этим заявку, а некоторые сделку. Вот Вы как это понимаете?
Заявка - это лимитный биржевой ордер, выставленный напрямую или через условный стоп на брокере. Под сделкой я имею в виду именно свершившийся акт входа в позицию, а не отправку на биржу лимитной заявки.
смотря что понимать под "открыта позиция", некоторые понимают под этим заявку, а некоторые сделку. Вот Вы как это понимаете?
Заявка - это лимитный биржевой ордер, выставленный напрямую или через условный стоп на брокере. Под сделкой я имею в виду именно свершившийся акт входа в позицию, а не отправку на биржу лимитной заявки.
Соответственно, если Вам нужна сделка смотрите колбек для сделок OnTrade. Или саму таблицу сделок через getItem
А что такое linkedorder? Его можно использовать в качестве привязки? Только что скриптом провел куплю-продажу; у заявки и сделки одно и то же значение. В чем отличия от trans_id?
в таблице стоп заявок это номер заявки в торговой системе, зарегистрированной по наступлению условия стоп-цены. в таблице заявок это исходный номер заявки с указанной датой исполнения при замене заявки в ходе клиринга. Параметр заявок срочного рынка FORTS.
Цитата
WennY написал: Его можно использовать в качестве привязки?
в сделках этого параметра нет, но там есть order_num по которому можно найти заявку и стоп заявку (как раз по полю linkedorder)
Я лишь хочу быть уверенным, что сделка состоялась или же, если она может не состояться, что она предприняла отчаянную попытку, которая закончилась провалом. Означает ли заполнение 22526627011 у стопа-заявки гарантией того, что сделка состоялась? или она может все-таки не состояться?
Поставим задачу более предметно. Есть выставленный руками/робот стоп-ордер. Как мне наиболее грамотно проконтролировать осуществление им сделки в формате "успешно осуществлена/попытка осуществлена, но неудачно"?
Может, понадобится кому. Ищет по 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 написал: Есть выставленный руками/робот стоп-ордер. Как мне наиболее грамотно проконтролировать осуществление им сделки в формате "успешно осуществлена/попытка осуществлена, но неудачно"?
По количеству исполненного количества. Как контролировать исполненное количество уже на Ваш вкус, хотите через заявки, хотите по сделкам.