Может, понадобится кому. Ищет по 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
Поставим задачу более предметно. Есть выставленный руками/робот стоп-ордер. Как мне наиболее грамотно проконтролировать осуществление им сделки в формате "успешно осуществлена/попытка осуществлена, но неудачно"?
Я лишь хочу быть уверенным, что сделка состоялась или же, если она может не состояться, что она предприняла отчаянную попытку, которая закончилась провалом. Означает ли заполнение 22526627011 у стопа-заявки гарантией того, что сделка состоялась? или она может все-таки не состояться?
А что такое linkedorder? Его можно использовать в качестве привязки? Только что скриптом провел куплю-продажу; у заявки и сделки одно и то же значение. В чем отличия от trans_id?
смотря что понимать под "открыта позиция", некоторые понимают под этим заявку, а некоторые сделку. Вот Вы как это понимаете?
Заявка - это лимитный биржевой ордер, выставленный напрямую или через условный стоп на брокере. Под сделкой я имею в виду именно свершившийся акт входа в позицию, а не отправку на биржу лимитной заявки.
Доброго времени суток. Есть руками выставленный стоп. Задача: убедиться, что ордер не просто выставился, а произошла покупка. Насколько я понимаю, нужно ловить транзакцию и ее мучить, но в OnTransReply ничего не приходит даже после срабатывания :( Спасибо.
Sergey Gorokhov написал: Здравствуйте, Функция getItem возвращает строку из таблицы. В частности у Вас в примере, выводит цену из последней строки таблицы обезличенных сделок. В этой таблице может быть несколько разных инструментов. В примере никакой сортировки нет, а значит вернется просто какая-то цена по непонятному инструменту. Если нужен конкретный инструмент, напишите цикл который будет перебирать строки таблицы от последней к первой и при нахождении нужного инструмента выходить из цикла.
помимо этой функции, цену последней сделки можно получить через функции CreateDataSource, getCandlesByIndex или getParamEx
Насколько я понял, getCandlesByIndex ограничен последней свечей, которая строится не менее чем по минуткам. А мне требуются именно тики ибо робот выступает тейк-профитом.
Доброго времени суток. Увы, ордера, полученные посредством getItem("stop_orders", i) идут по порядку начиная с первого и до последнего. В итоге чтобы получить последний ордер мне нужно как-то получить все стопы, пересчитать их и только затем уже ловить последний из них. Какие-то более цивилизованные методы существуют? Возможно я просто проморгал что-то в ФАКе. Спасибо.
WennY пишет: иначе образуется временной промежуток, поскольку после поимки события на постановку стопа-ордера на вход в позицию выскакивает форма точек выхода из позиции, которую юзер должен заполнить
Для некоторых людей, в детстве отстававших в развитии, я могу, конечно, еще на пару языков эту фразу перевести: вход в позицию ... форма цен выхода из позиции ... которую юзер должен заполнить.
В помощи Вас, Imersio Arrigo, более я не имею чести нуждаться. Не задерживаю и прошу в дальнейшем не чтить своими визитами моей скромный топ с таким тоном.
Касательно темы. Невозможно, так невозможно. Можно считать топ себя изжившим. Спасибо всем за потраченное время на скроллинг страницы.
Imersio Arrigo пишет: Зачем ловить стоп и ставить на паузу?
Цитата
WennY пишет: иначе образуется временной промежуток, поскольку после поимки события на постановку стопа-ордера на вход в позицию выскакивает форма точек выхода из позиции, которую юзер должен заполнить
Я хочу свою последовательность сделок оформлять. В идеале - чтобы юзер ограничивался заполнением форм моей проги, после чего в дело вступал бы уже робот. В целом, есть вариант с отловом стоп-ордера и постановкой его на паузу (иначе образуется временной промежуток, поскольку после поимки события на постановку стопа-ордера на вход в позицию выскакивает форма точек выхода из позиции, которую юзер должен заполнить). Но если по теме топа удастся что-то придумать, то буду рад.
Доброго времени суток. Стоит задача среагировать на открытие формы оформления заявки (т.е. ещё до её отправки. Допустим, на двойной клик по свече или на форму, вызываемую по F6). Это реализуемо встроенными средствами? Спасибо.
Я уже просто запутался в источниках: то в гугле пусто, в справке есть; оказывается, иногда бывает и наоборот... Просьба уже все сорсы материала в одно место тогда уж расшарить куда-нибудь, чтобы у вновь пришедшего нубья голова кругом не шла. Далее просьба по теме, хотя вопросов у автора топа более нет.
s_mike@rambler.ru пишет: На такие вопросы обычно ответ в студию приносит гугл
В прошлый раз мне гугл не помог буквально ничем, потому посмел предположить, что если нету в офф. доке, то и нечего дергаться. Вы тогда в сл. раз уточняйте, в каком именно месте что искать.
Полагаю, однако, что при реализации пожелания товарища Старателя (доступ к хэндлу окна выполняемого индикатора из самого индикатора) смысл в идентифицированных окнах без доступа к списку активных на данный момент будет сомнителен. Если же будет возможность получить лист идентификаторов открытых окон, то это позволит делать выборку, либо же залезть в каждое окно.
Впрочем, я погорячился: мой пост можно рассматривать как самостоятельное пожелание, касающееся специфицированной идентификации (хэндлинга) открытых индикаторов (подокон), к которым можно было бы - без дополнительных танцев - обращаться из любого скрипта.
WennY пишет: Что касательно идентификации индикаторов. Полагаю, нет ничего невозможно в том, чтобы предоставить api открытых графиков примерно следующего формата: BRV5_1min Price Volume ADX Stohastic
Раз уж речь зашла об авто-проставлении айдишников, то вот моя цитата, как я это дело вижу касательно самоидентификации индикаторов. Выглядеть конечный айди конкретного индикатора может примерно так: BRV5_1min_Price. BRV5 - первичное окно; Price - индикатор. Дубли индикаторов с одним тайтлом можно разделять примерно так: BRV5_1min_Price_1, BRV5_1min_Price_2. Как и было сказано в последнем посте, зная спецификацию наименований, можно без диких плясок с бубном вокруг ручного забивания id напрямую из скриптов преспокойным образом взаимодействовать с открытыми графиками. Поскольку пожелание уже было зарегано, мой пост можно просто приаттачить в качестве доп. нагрузки.
Доброго времени суток. Имею выставленный стоп-лимит. Хочу скриптом проверять успешное исполнения (не просто выставление) конечной заявки. Это возможно? Спасибо.
Sergey Gorokhov пишет: Боюсь что 99% пользователей будут с Вами несогласны. То что в QUIK можно добавлять несколько разных инструментов в одно окно, дает просто колоссальные возможности в теханализе. взять ту же нефть и и доллар рубль.
Ок, верю, у меня аналитических выкладок на тему мнения юзеров нет. Но неужели целая толпа прогеров не сумела придумать, как можно калбэк было бы сделать? Либо удобство работы из графика, либо бакс и нефть в одной рамке?
Sergey Gorokhov пишет: В общем, если у Вас нет конкретных предложений
Ок, тупо: предлагаю сделать, как в мете. Но ведь у вас, как я смею подозревать, были причины все устроить именно так, как сейчас, и менять вы здесь ничего не намерены.
Sergey Gorokhov пишет: Там та же история. Нет технической возможности определить инструмент по которому выставить заявку. Кроме как ткнуть по свечке. Есть предложения в решении?
Неужели два окошка в одном того стоят? Упускается масса возможностей упростить существование юзерам. Например, можно было бы планировать заход в сделку (или даже в целую последовательность) исключительно горизонтальными линиями. Поставил зеленую - вот тебе вход на покупку. Расставил красных - вот тебе выходы. По хоткею - запуск. Я с вас, конечно же, не требую такое бежать запиливать, но и вы и плагинерам вход сюда закрыли.
Sergey Gorokhov пишет: Вообще то торговать с графика можно стандартными средствами
1) Как там можно открыть форму оформления заявки, не играя курсором мыши в вар-крафт со свечами? 2) Какую ещё заявку можно выставить таким образом, помимо как по рынку?