Здравствуйте, Alex! Транзакции перестановке на фондовом рынке Московской биржи, к сожалению, нет. Однако, есть транзакция изменения заявки и речь, вероятнее всего, идет именно о ней. Проверить заполнение параметров можно следующим образом: 1. В терминале QUIK создать таблицу "Карман транзакций". 2. В эту таблицу добавить транзакцию изменения заявки и, после, поместить подготовленную транзакцию по изменению заявки в карман. 3. После, через контекстное меню таблицы (нажатие правой кнопкой мыши) выберите пункт "Сохранить транзакции в tri-файл". В сохраненном tri-файле Вы сможете увидеть корректное заполнение всех необходимых параметров. Останется только заполнить аналогичным образом те же параметры при подаче транзакции через API.
Старатель написал: На Junior будет этот вид транзакций?
на Junior нет биржевой фондовой секции и никогда не было, там работает наш эмулятор. так что у него нет ничего общего с ядром ТС, в том числе и транзакции перестановки заявок. Доработка в этом месте не планируется
Данная транзакция должна быть доступна в "Кармане транзакций" - проверяли ее наличие в данном окне?
При создании окна Кармана транзакций в разделе доступные транзакции есть "Изменение заявки". При выборе раздела можно задать столбцы создаваемой таблицы Кармана транзакций. В созданной таблице появляется поле "Снять исходную заявку". Далее пытаюсь добавить в созданную таблицу такую транзакцию, которая бы снимала указанную заявку и это уже никак не получается сделать. При всех разных вариациях добавления транзакций поле Снять исходную заявку всегда пустое, а заполнить руками нельзя. Как добавить в таблицу такую транзакцию?
Не могли бы вы еще привести такой же пример кода для английских наименований полей и их значений? Например, у меня используется 'ACTION': 'NEW_ORDER', а тут как будет для изменения?
bespalex написал:
Не могли бы вы еще привести такой же пример кода для английских наименований полей и их значений?
Например, у меня используется 'ACTION': 'NEW_ORDER', а тут как будет для изменения?
Загрузил из .tri файла в "Карман транзакций". Переключил язык терминала на английский. Сохранил в файл. Получилось такое:
К сожалению, для транзакции "Изменение заявки" описание в фиксированном формате не предусмотрено. Рекомендуем использовать описание параметров в универсальном формате, пример которого приведен выше.
К сожалению, для транзакции "Изменение заявки" описание в фиксированном формате не предусмотрено. Рекомендуем использовать описание параметров в универсальном формате, пример которого приведен выше.
Здесь "Заявка" это order_num? "Примечание" "W1//ORDER_AMEND" это значимое поле с жестко заданным значением? В поле цена "Цена" в качестве десятичного разделителя точка? Значение поля "К/П" в случае продажи "Продажа"? Как себя ведет эта транзакция в случае если исходная заявка была частично исполнена до изменения?
"Заявка" - номер исходной заявки, параметры которой необходимо изменить.
Цитата
"Примечание" "W1//ORDER_AMEND" это значимое поле с жестко заданным значением?
В параметр "Примечание" помещается код клиента и комментарий к заявке, разделенные слэшем (либо двойным слэшем, в зависимости от настроек брокера).
Цитата
В поле цена "Цена" в качестве десятичного разделителя точка?
Верно.
Цитата
Значение поля "К/П" в случае продажи "Продажа"?
Верно.
Цитата
Как себя ведет эта транзакция в случае если исходная заявка была частично исполнена до изменения?
Точного ответа у нас нет. Вы можете уточнить эту информацию у специалистов Московской биржи
Спасибо, с учетом вашего ответа, стоит ли заморачиваться с реализацией или более надежно отменить старую и поставить новую заявку?
Что-то никак не удается мне победить эту команду. Посмотрите пожалуйста. Вот как у меня формируется транзакция: sell_transaction = { # Все значения должны передаваться в виде строк 'TRANS_ID': str(sell_order_id), # Номер транзакции задается клиентом 'CLIENT_CODE': '62665', # Код клиента. Для фьючерсов его нет 'ACCOUNT': 'L01-00000F00', # Счет 'ACTION': 'NEW_ORDER', # Тип заявки: Новая лимитная/рыночная заявка 'CLASSCODE': class_code, # Код площадки 'SECCODE': symbol, # Код тикера 'OPERATION': 'S', # B = покупка, S = продажа 'PRICE': str(sell_order_lmtPrice), # Цена исполнения. Для рыночных фьючерсных заявок наихудшая цена в зависимости от направления. Для остальных рыночных заявок цена = 0 'QUANTITY': str(int(order_size / lot_size)), # Кол-во в лотах 'TYPE': 'L'}#, # L = лимитная заявка (по умолчанию), M = рыночная заявка
Что тут необходимо передать, чтобы изменить заявку? Я пробовал все из того, что вы писали выше, поля на русском, ничего не получается, мне возвращается моя строка.
Уточните, пожалуйста, с отправкой какой транзакции возникает проблема? Пример транзакции "Изменение заявки" мы приводили в сообщении #8 этой темы. Если трудности возникают с отправкой другой транзакции, просим описать ситуацию более подробно.
Уточните, пожалуйста, с отправкой какой транзакции возникает проблема? Пример транзакции "Изменение заявки" мы приводили в сообщении #8 этой темы. Если трудности возникают с отправкой другой транзакции, просим описать ситуацию более подробно.
Трудности именно с транзакцией "Изменение заявки". Пробовал разные комбинации названия полей и их значений (на русском, на английском), но так и не смог ни разу добиться изменения хотя бы цены активной заявки. Эксперименты ставил на коротком скрипте, который больше ничего не делает, только ставит и пытается изменить заявку.
Уточните, пожалуйста, с отправкой какой транзакции возникает проблема? Пример транзакции "Изменение заявки" мы приводили в сообщении #8 этой темы. Если трудности возникают с отправкой другой транзакции, просим описать ситуацию более подробно.
не могли бы вы уточнить, какие поля являются строго обязательными для изменения и какие они могут принимать заданные значения?
Просьба прислать используемый код (или его фрагмент). Информацию можно направить на нашу почту quiksupport@arqatech.com, в этом случае необходимо указать ссылку на данную тему форума в письме.
Просьба прислать используемый код (или его фрагмент). Информацию можно направить на нашу почту quiksupport@arqatech.com , в этом случае необходимо указать ссылку на данную тему форума в письме.
хорошо, подготовлю код. А документации совсем нет, где структура данных описана?
Просьба прислать используемый код (или его фрагмент). Информацию можно направить на нашу почту quiksupport@arqatech.com , в этом случае необходимо указать ссылку на данную тему форума в письме.
Код получили, предлагаем продолжить обсуждение вопроса в рамках почтовой переписки.
Цитата
А документации совсем нет, где структура данных описана?
Прикрепляли ранее документ МБ с описанием транзакции.
В соответствии в этим документом пробовал именовать поля, не помогло. Хотя там тоже странно, например поле CLIENTCODE. Я использую в новой заявке CLIENT_CODE и оно работает. Исходя из этого непонятно, кто и где осуществляет конверсию полей, либо есть какие-то допустимые варианты написаний. Как например во всех ответах присутствует как ordernum, так и order_num.
Наименования параметров стоит использовать те, которые мы привели в примере кода. Документ МБ в данном случае применим для ознакомления с особенностями транзакции и возможными значениями параметров.