Список доступных для транзакций инструментов

Страницы: 1
RSS
Список доступных для транзакций инструментов, получение списка инструментов для совершения транзакций с учетом различных аккаунтов у одного и того же брокера.
 
Уважаемые разработчики, подскажите, пожалуйста, как получить список инструментов доступных для транзакций, с учетом ограничений брокера по различным счетам. Например, есть счета по торговли на ММВБ и ФОРТС, но в различных режимах (как то, единый, на котором учитываются разнонаправленные позиции при расчете ГО, или разные коэффициенты предоставляемых брокером плеч и пр.)
 
В справке делаем поиск по "Торговые счета"
Выходим на таблицу trade_accounts
В ней для каждого счета есть фирма, собственно счет и список классов (оно же режимы торгов), доступных для этого торгового счета.
 
Этот способ себя не оправдывает, вот код для тестирования

Код
local function trade_acc_class_codes()
local trd = {}
local tmp = getNumberOf('trade_accounts')
   message("Number of trade_accounts : "..tostring(tmp),1)
   for k = 0,tmp-1 do
      trd[k]={}
      for key,v in pairs(getItem("trade_accounts",k)) do
         if key == 'class_codes' then 
            trd[k][key]={}
            trd[k][key]=split(string.sub(v,2,-2),'|')
            message(table.concat(trd[k][key],'; '),1)
         else
            trd[k][key]= v
            message(k..": "..key.." : "..trd[k][key],1)
         end
      end
      if trd[k]['trdaccid'] == "SPBFUT000??" then
         message("BCS FORTS_Low_Deposit trade account "..tostring(trd[k]["trdaccid"]).." available for transations",1)
      elseif trd[k]["trdaccid"] == 'L01-00000???' then
         message("BCS Universal MISX-FORTS trade account "..tostring(trd[k]["trdaccid"]).." available for transations",1)
      else
      end
   end
return trd
end
 
в результате на счете пониженного ГО (брокер БКС), где брокером запрещены операции с опционами выдается следующее:

SPBFUT; PSFUT; SPBOPT; PSOPT; OPTEXP; FUTARENA; PSFUTARENA; FUTSPREAD; PSFSPREAD

т.е. в этом случае скрипт может считать опционы доступными для торговли и начать слать не исполняемые транзакции с ними.
Вопрос именно поэтому и возник, где взять реальный список доступных для транзакций инструментов, ведь брокер также может урезать и инструменты внутри класса для торговли. В этом случае вполне резонно ожидать, что торговая платформа должна предоставить список реально доступных инструментов для транзакций, иначе останется только возможность абстрактно высылать транзакции чтобы удостовериться в доступности инструмента для транзакций.
 
Такого списка не существует и взять его нигде в QUIK нельзя. Ну просто потому, что настроить разные ограничения можно самыми причудливыми образами в самых разных частях системы, т.е. в итоге лишь подав транзакцию можно реально узнать доступна она тебе или нет.
Разве что запросить у брокера, наверняка он предоставляет такой список где-то в регламенте.

Если честно - то не очень ясна решаемая задача. Типа супер универсальный робот с интерфейсом для пользователя по выбору только гарантировано доступных транзакций? ну как-то вроде трейдер (тут за таковых ратуют прямо очень) как бы сам должен быть в курсе каким инструментом он желает торговать (видимо ожидая прибыль), а каким не желает. Это же касается и режимов торгов.
 
Ну есть же список инструментов с датафиде Квика (через getClassesList и getClassSecurities), почему бы и не быть такому списку по доступным для транзакциям инструментам? иначе можно было и не предоставлять указанные функции, ведь трейдер знает все (чем, как и когда торговать).
Что касается ограничений, то они вводятся брокером также в через Квик, так что предоставить такую информацию пользователю КВИКА, заявляющего себя в качестве торговой платформы, само собой должно подразумеваться.
Относительно, решаемой задачи, она не совершенно конкретная, если имеются несколько счетов у одного брокера (как указано в названии этой темы) то вопрос абсолютно не праздный и не абстрактный, а более чем конкретный, неужели трейдер должен наизусть помнить на каких счетах какие инструменты доступны?
Задача в том, что при открытии позиций по инструменту, код самостоятельно решал такую рутинную задачу как определение по каким счетам клиента и в каком количестве открывать позиции (разумеется если они доступны для транзакций с этих счетов), а не уповал на "всезнающего" трейдейра, "подталкивающего" код в нужный момент, опережая код ручными манипуляциями через GUI, и уж тем более "не долбил" терминал заранее не исполняемыми ордерами.
Это становится реальной потребностью при наличии нескольких счетов у брокера или брокеров, так что речь не о создании суперботов для очередных "космических войн".
 
Тут вопрос ещё в том, а знает ли сам терминал по каким инструментам трейдеру разрешены операции?
Или он узнаёт об этом только, когда в ответ на транзакцию с сервера приходит ответ с ошибкой?
Надо делать так, как надо. А как не надо - делать не надо.
 
Ну, а как вообще терминал узнает, что доступно,например, для датафида? Так и может узнать какие инструменты доступны для торговли. Ведь брокер подключается к КВИК серверу через Брокерский КВИК, вносит туда ограничения и к нему уже и подключаются терминалы клиентов брокера, так что информация о доступности для транзакции конкретного инструмента в самом КВИКЕ имеется. Вопрос заключается каким именно способом его получить.
 
Цитата
Серж пишет:
Тут вопрос ещё в том, а знает ли сам терминал по каким инструментам трейдеру разрешены операции?
Или он узнаёт об этом только, когда в ответ на транзакцию с сервера приходит ответ с ошибкой?
Здравствуйте,
Есть два пути.
1) по классу может стоять запрет на транзакции в правах.
В этом случае подать заявку через интерфейс нельзя, просто пункт меню будет не активен.
Через Lua определить такие классы можно, например подав заведомо неисполнимую транзакцию. Если в ответ придет что-то вроде, для данного класса транзакция не найдена, значит стоит запрет в правах.
2) Транзакции могут быть доступны, но ограничены брокером. Способов ограничить великое множество. В этом случае транзакция в терминале будет, и ее даже можно будет подать. Но в ответ будет приходить тот-или иной отказ в зависимости от способа ограничения.
 
Здравствуйте Сергей!
То есть если я правильно понял, в первом случае речь идет о "глубоко научном методе тыка", исключая возможность оптимизации круга инструментов (исключив не доступные для транзакций) количество лотов в ситуации, когда нужно быстро определиться?
А втором случае есть какие либо специальные коды отказов в транзакции (либо четко ограниченный круг таковых, обусловленных именно наличием такого рода ограничений)?
 
Цитата
Albert Eritsyan пишет:
То есть если я правильно понял, в первом случае речь идет о "глубоко научном методе тыка", исключая возможность оптимизации круга инструментов (исключив не доступные для транзакций) количество лотов в ситуации, когда нужно быстро определиться?
Да речь идет о глубоко научном... Собственно можно поступить проще, как подсказали участники форума выше. Просто указать нужные классы. Это будет куда разумней, иначе есть шанс попасть "не в ту дырку".
Цитата
Albert Eritsyan пишет:
А втором случае есть какие либо специальные коды отказов в транзакции (либо четко ограниченный круг таковых, обусловленных именно наличием такого рода ограничений)?
Если в ответ на транзакцию нет номера заявки, и нет какого либо цифрового кода в круглых скобках и нет слова FORTS, значит заявка была отвергнута сервером.
Кроме случая когда транзакции не доступны (нет прав) И кроме случаев когда тест транзакции содержит синтаксическую ошибку. В этом месте ошибку возвращает терминал Quik
 
Цитата
Sergey Gorokhov пишет:
Да речь идет о глубоко научном... Собственно можно поступить проще, как подсказали участники форума выше. Просто указать нужные классы. Это будет куда разумней, иначе есть шанс попасть "не в ту дырку".
Приведенный мной выше код и его результаты показали ошибочность такого подхода, так как в этом случае "как раз приглашают не в ту дырку" (см выше класс Опционов, когда они не доступны для торговли)
Цитата
Sergey Gorokhov пишет:
Если в ответ на транзакцию нет номера заявки, и нет какого либо цифрового кода в круглых скобках и нет слова FORTS, значит заявка была отвергнута сервером.
Кроме случая когда транзакции не доступны (нет прав) И кроме случаев когда тест транзакции содержит синтаксическую ошибку. В этом месте ошибку возвращает терминал Quik
Т.е. проверка наличия или отсутствия номера заявки и цифрового кода в скобках гарантия, что транзакцию отвергли по причине ограничений Брокера? Или возможны ситуации, когда Брокерские ограничения отсутствуют но отклик такой же?

Хотел также уточнить, а возможность доработки самого Квика, в плане предоставления клиентам списка доступных для транзакций инструментов в принципе не выполнима? Ведь это избавит от необходимости нагружать КВИК подобного рода проверочными ордерами.
 
Цитата
Albert Eritsyan пишет:
Приведенный мной выше код и его результаты показали ошибочность такого подхода, так как в этом случае "как раз приглашают не в ту дырку" (см выше класс Опционов, когда они не доступны для торговли)
Я не вижу в Вашем коде применение названного подхода.
Еще раз, рекомендация была явно указать какие классы Вам нужны для торговли а не вычислять их.
Цитата
Albert Eritsyan пишет:
Т.е. проверка наличия или отсутствия номера заявки и цифрового кода в скобках гарантия, что транзакцию отвергли по причине ограничений Брокера? Или возможны ситуации, когда Брокерские ограничения отсутствуют но отклик такой же?
Нет, я же сказал, это гарантия что транзакция была отвергнута сервером. Это НЕ тоже самое что отвергнута из за ограничений брокера. Но для решения Вашей задачи это одно и тоже. Ситуации могут быть разные, например брокер не загрузил лимиты, или какой-то сбой. Это не является ограничением, но тем не менее сервер отвергает заявку.
Цитата
Albert Eritsyan пишет:
Хотел также уточнить, а возможность доработки самого Квика, в плане предоставления клиентам списка доступных для транзакций инструментов в принципе не выполнима? Ведь это избавит от необходимости нагружать КВИК подобного рода проверочными ордерами.
На счет технической возможности я не могу сейчас дать ответ. На первый взгляд такое возможно, однако точно можно сказать только после регистрации пожелания и проведения анализа.
Другой вопрос, в том а чем это лучше проверочных ордеров? Вам все равно также придется перебирать классы.
 
Да, и Вы не ответили на самый главный вопрос, чем эта проверка лучше заранее определенного списка классов заданных пользователем?
На наш взгляд заранее заданный список куда лучше, так как избавляет от ошибок
 
Сергей, давайте зарегистрируем пожелание по добавлению в КВИК  возможности клиенту, не отправляя транзакцию, получать сведения о доступности конкретного инструмента для транзакций, например, при получении списка инструментов класса через getClassSecurities.
В моем понимании в КВИКе вся необходимая информация имеется, нужно только лишь предоставить их по запросу клиента. На мой взгляд для этой цели getClassSecurities удобнее всего использовать, хотя, конечно же, Вам виднее.

На счет:
Цитата
Sergey Gorokhov пишет:
Да, и Вы не ответили на самый главный вопрос, чем эта проверка лучше заранее определенного списка классов заданных пользователем?
На наш взгляд заранее заданный список куда лучше, так как избавляет от ошибок
Вы сами указали,что
     Sergey Gorokhov пишет:
Способов ограничить великое множество

так что предварительный выбор классов пользователем, может натолкнуться на ограничение Брокера по инструментам внутри класса, не говоря о том, что по разным счетам клиента у Брокера доступны разные классы и инструменты.
  Ведь речь идет о ситуации когда принято решение о входе в позицию, и оно исполняется по всем доступным счетам клиента, здесь-то и возникает обсуждаемый вопрос, а именно доступен ли данный инструмент с конкретных счетов для транзакций или нет?
Его можно решить и топорно (высылая ордера и дождавшись ответа пытаться догадаться от чего это вдруг отказ, и для убедительности послать вдогонку второй ... третий и т.п. пока не наступит "твердое убеждение...в единственно верном и правильном учении") или цивилизованно (имея предварительные сведения о возможность совершать транзакцию с инструментом и не напрягая клиента, не сервер, никому не нужными ордерами с последующим гаданием на гуще причин отказа).
 
Еще раз: прямая задача "Можно ли по данному инструменту на данном класcе этому пользователю в данный момент времени подать такую вот транзакцию" - решаема в QUIK (методом подачи транзакции здесь и сейчас и анализа полученного ответа).
Обратная задача "тай список классов/инструментов, по которым я сейчас точно могу подать транзакции" в общем случае - не решаема в принципе.
Решаема лишь частично и лишь в тех рамках, в каких терминал QUIK отображает или не отображает транзакции, основываясь на правах пользователя, но это лишь одна весьма ограниченная часть всех доступных ограничений.
В самом деле, вы ведь наступали на недоступные транзакции, когда их подавали руками? наступали, значит заранее точно выявить таковые - нельзя.

Если честно, исходная задача ТС для меня так и осталась не понятной, ну разве что он пишет свой терминал, но стесняется об этом казать.
 
Цитата
swerg пишет:
Обратная задача "тай список классов/инструментов, по которым я сейчас точно могу подать транзакции" в общем случае - не решаема в принципе.
Вопрос можно поставить иначе, а именно, получить список  класс/инструмент по которым нельзя подавать ордера из-за ограничений заранее известных квику от брокера, либо передавать специальный код отказа в транзакции - "Ограничение операций Брокером". Понятно, что 100% гарантии исполнения ордера по реально доступному для транзакций инструментам никто не дает, из-за множества иных причин. Но и вопрос так не ставился, речь шла именно о доступном для транзакций, а не гарантированном к исполнению списке инструментов.
Согласитесь, Брокер может со временем вносить изменения в своих ограничениях на транзакции, причем через КВИК, а у пользователя отсутствует элементарная возможность узнать об этом через терминал КВИКА перед тем как выставить ордер. При этом Пользователь может всего лишь один раз перед торговой сессией уточнить ограничения по счету от Брокера и не тыркаться туда своими ордерами.
     Согласен, можно и каждый раз тыркаться ордерами, анализировать их, и т.д. и это сработает.
     По сути речь идет об уточнении ""политики партии" в вопросе что лучше нормально использовать терминал, получая доступ к содержащейся в нем информации, необходимой для трейдинга, или же "нежно, но фанатично надругаться над ним"?
У меня создается впечатление, что негласно установлено второе как основа в подходе к решению всех проблем.
 
выскажу своё мнение:

брокеру для этого придётся писать, а точнее, опять же заказывать ЗА СВОЙ СЧЁТ серверный модуль для квика у ARQA, который будет являться по сути динамическим фильтром списков с функцией возможного оповещения тем или иным способом. Что брокер, разумеется делать не будет.

касаемо основного вопроса: вот, у меня была ситуация: опционы у меня присутствовали во всех списках в квике, лимит позволял но, у брокера была в своё время отключена по умолчанию эта возможность для всех клиентов (дабы оптимизировать свои риск-параметры). всё решилось только звонком брокеру.

Почему это не может сделать ARQA? Ответ: спрос на такую услугу - единичный. К тому же придётся переписывать часть квика для динамического апдейта всех списков. В конечном итоге, из-за такого сомнительного нововведения неизбежно возрастёт траффик и понизится производительность самого квика. (здесь могу, конечно, ошибаться)

Почему это не может да и врядли будет делать брокер? Ответ: Брокер не пишет серверные модули, а покупает их у той же ARQA.

Главный вопрос: Что будет, если в один момент прошла транзакция на основании информации из старых списков, а в следующий момент списки изменились и оказалось, что новая связанная транзакция уже невозможна исходя из изменившихся списков?
 
Цитата
sam063rus пишет:
Главный вопрос: Что будет, если в один момент прошла транзакция на основании информации из старых списков, а в следующий момент списки изменились и оказалось, что новая связанная транзакция уже невозможна исходя из изменившихся списков?
Изменения в доступности списков вступают после реконекта клиента к серверу. Поправьте, если не прав.
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Sergey Gorokhov пишет:
Цитата
Albert Eritsyan пишет:
А втором случае есть какие либо специальные коды отказов в транзакции (либо четко ограниченный круг таковых, обусловленных именно наличием такого рода ограничений)?
Если в ответ на транзакцию нет номера заявки, и нет какого либо цифрового кода в круглых скобках и нет слова FORTS, значит заявка была отвергнута сервером.
Кроме случая когда транзакции не доступны (нет прав) И кроме случаев когда тест транзакции содержит синтаксическую ошибку. В этом месте ошибку возвращает терминал Quik
Несмотря на то, что способов запретить транзакции "великое множество", есть какой-то определённый список ошибок, возвращаемых на такую транзакцию, и этот список ограниченный. Верно?

Sergey Gorokhov, чтобы облегчить автору задачу, вы могли бы опубликовать этот список ошибок, чтобы он мог определённо знать, что вот эта вот транзакция не прошла по причине того, что брокером запрещены операции по данному классу/инструменту.

Далее на сегодняшний день, я вижу только один вариант решения поставленной задачи: безусловная отправка транзакции и анализ ответа. Если ответ пришёл с ошибкой, подтверждающей, что транзакция по инструменту запрещена, то данный инструмент заносится в "чёрный список", и по нему транзакции более не отправляются.
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
sam063rus пишет:
брокеру для этого придётся писать, а точнее, опять же заказывать ЗА СВОЙ СЧЁТ серверный модуль для квика у ARQA
Вот эту часть уже сейчас можно было бы реализовать без каких либо изменений в серверной части, просто создав в Lua функцию, возвращающую список классов, по которым запрещены транзакции:
Цитата
Sergey Gorokhov пишет:
1) по классу может стоять запрет на транзакции в правах.
В этом случае подать заявку через интерфейс нельзя, просто пункт меню будет не активен.
Это сняло бы большую часть вопросов, т.к. чаще ограничения ставятся на весь класс.
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Серж пишет:
просто создав в Lua функцию, возвращающую список классов, по которым запрещены транзакции
Вернее, функцию, возвращающую список классов, по которым разрешены транзакции. Соответственно, по остальным классам транзакции запрещены - можно даже не пытаться.
Ну, а дальше, как уже упоминалось, "методом научного тыка", при необходимости, проверять требуемые бумаги.
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Серж пишет:
Это сняло бы большую часть вопросов, т.к. чаще ограничения ставятся на весь класс.
Совсем не обязательно. Знаю случай, когда брокер ограничивал список инструментов в пределах класса "фьючерсы", по которым можно было совершать сделки.
 
Конечно наличие подобной функции LUA разрешит вопрос.
Можно будет всего один раз уточнить запреты Брокера и не высылать заведомо не исполняемые ордера. Тогда подобная причина отказа транзакции просто исчезнет. Ведь вопрос как раз в том что отсутствует специальный код отказа "Запрет Транзакции Брокером". Проверять выставленные ордера и анализировать причины отказа по любому придется, но с учетом запрещенных к торговле инструментов с аккаунта.

При этом динамического апдейта всех списков никто и не спрашивал, вообще, это статический список, обновляемый разве что, при реконнекте, ведь список датафида, который гораздо больше грузится именно так! Так, что никакой перегрузки трафика не должно возникнуть.

Относительно затронутого глубоко философского вопроса "Почему АРКА не должна.."
     Напомню, что КВИК является платной торговой платформой, поэтому АРКА ДОЛЖНА, способствовать максимальной оптимизации торговли, в частности, сообщив терминалу содержащуюся в КВИКЕ информацию, что транзакции с аккаунта запрещены Брокером. И это каких-то особых усилий не потребует, ни от АРКИ, и уж тем более от Брокера.
 
вообще-то у большинства брокеров КВИК - бесплатная прога для подачи поручений и только,
А не торговая платформа  (можно почитать регламент брокера на досуге)
 
Николай Камынин, вообще-то QUIK - платная ИТС: http://quik.ru/bank/products/quik-broker/order/tariffs/
То, что вы ею пользуетесь бесплатно, не отменяет сего факта.
Вы либо оплачиваете её использование из комиссии, либо это оплачивает другой клиент вашего брокера, у которого оборот выше.
Надо делать так, как надо. А как не надо - делать не надо.
 
Серж,
Вы заблуждаетесь.
Ответ на вопрос платная или нет очень простой.
Если Вы платите за эту программу,
то она для Вас платная, если нет - то бесплатная.
--------------------------------------------
Т е программу покупает проф участник рынка(брокер) , который вам оказывает услуги.
Для него она платная.
Но Вам он может предоставлять как платные так и бесплатные услуги.
Большинство брокеров не берет плату за предоставление данной программы,
что снимает с них ответственность за качество этой услуги.
В этом случае данная услуга бесплатная для клиентов брокера.
Кроме того, терминал QUIK  -это программа подачи поручений, исполнение которых не является обязательным для брокера.
Т е Вы ему сообщили? Он Вас услышал?
Все!!
Если окажет услугу (купит или продаст) - возьмет денюшку если нет, то нет.
---------------------------------------------------------------------------
Вместо того, чтобы наезжать на разработчиков ,
перечитайте внимательно ГК РФ, ФЗ о защите прав потребителя, ФЗ о рынке ценных бумаг и регламент брокера.
Претензии к бесплатным продуктам не имеют никаких правовых последствий.
----------------------------------------------------------------------
"Дареному коню в зад, т е в зубы не смотрят" - народная мудрость.
 
Цитата
Николай Камынин пишет:
Кроме того, терминал QUIK-это программа подачи поручений, исполнение которых не является обязательным для брокера.
Честно сказать, даже не знаю, что сказать.... :)))))
То есть, получается, я, к примеру, купил-брокер исполнил, далее: я захотел продать-брокер НЕ захотел. Так что ль, получается???:))))))
Вообще-то, это его прямая обязанность исполнять поручения и действовать в интересах клиента. И НЕ ВАЖНО бесплатная там какая-то программа или нет. Вот есть к примеру, не программа, а телефон (или по другому ещё один канал связи с брокером для ввода поручений. рассматривайте его именно так) - он бесплатный. Я звоню брокеру, а брокер мне говорит: "а вот х.. тебе". Так что ль? Вы не перестаёте меня удивлять)))
 
Ниже под спойлером текст, относящийся только к Николай Камынин
Скрытый текст
Надо делать так, как надо. А как не надо - делать не надо.
 
Открою для всех секер
Цитата
Albert Eritsyan пишет:
Вопрос можно поставить иначе, а именно, получить списоккласс/инструмент по которым нельзя подавать ордера из-за ограничений заранее известных квику от брокера,
Как было сказано, есть два варианта
1) транзакций нет в принципе
2) транзакции есть, но установлены ограничения со стороны брокера.
Следует понимать что в 99% случаев это условные ограничения.
То есть торговать можно, но только с некоторыми ограничениями.
Например не больше какого-то объема, или по ограниченному диапазону цен.
Так вот, чтобы точно решить поставленную Вами задачу, нужно делать запрос именно с теми параметрами которые будут в заявке.
Таким образом, для 2го случая, просто так взять и получить список, не представляется возможным.
 
Здравствуйте Сергей!
Речь идет не о любых ограничениях, а только об исключенных брокером вообще т.е. о Вашем первом варианте (транзакций нет в принципе). О втором случае речи вообще не идет.
 
Повторюсь, имеется ввиду, получение клиентом информации об инструментах с которыми можно совершать транзакции в принципе. Так как ограничения всегда есть, на то и претрейд контроль Брокера. Речь идет об исключении ситуаций когда транзакция не возможна в принципе, чтобы в случае исполнения сигала о входе в позицию с нескольких счетов клиента скрипт видел что в принципе не возможно с конкретного аккаутна и не выставлял по ним заведомо не выполнимые ордера и не тратил время на ожидание ответа и анализ причин отказа, так как такого специального кода отказа как "транзакций нет в принципе" не предусмотрено.
Разумеется, даже в случае когда транзакция возможна, но с ограничениями, проверять исполнение ордеров придется.
Просто хочется исключить саму возможность выставления ордеров по инструментам с которыми транзакций нет в принципе с конкретного аккаунта.
 
не хочу повторяться но, такой момент: отказ на транзакцию может зависеть по трём причинам:
1. на основе данных о клиенте, которые меняются динамически.
2. на основе данных полученных от биржи, где параметры тоже динамические.
3. на основании риск-параметров брокера (или других параметров)

вопрос: кто и главное, как это всё дело будет учитывать? (вообще, это по сути повторение поста #17). Можно ли это сделать? можно, НО! не бесплатно. Есть ли от этого выгода? вопрос - спорный. если это всё надо только лишь для увеличения быстродействия то, существуют и другие методы повысить его.

И мне, кстати, толком не ответили, если даже внедрить такую систему:
Что будет, если в один момент прошла транзакция на основании информации из старых списков, а в следующий момент списки изменились и оказалось, что новая связанная транзакция уже невозможна исходя из изменившихся списков?
 
Цитата
Albert Eritsyan пишет:
тобы в случае исполнения сигала о входе в позицию с нескольких счетов клиента скрипт видел что в принципе не возможно с конкретного аккаутна и не выставлял по ним заведомо не выполнимые ордера и не тратил время на ожидание ответа и анализ причин отказа,
я думаю, самый правильный и действенный вариант в данном случае - это client-side. т.е. пишите на QLUA не большой пре-трейд модуль в котором:
при поступлении сигнала на открытие позиции проверяете валидность этой транзакции следующим образом: для каждого счёта составляете доступный перечень классов и инструментов, а также перечень доступных операций.
Этим Вы отсеете на собственной стороне часть транзакций,
остаётся 2 пункта: брокер и биржа.
брокер, в основном, отклоняет по риск-параметрам, редко когда по инструментам и классам. тут. как уже было сказано, никто не будет переписывать квик или ставить/писать/заказывать на брокерский сервер новый модуль. Соизмерять свои риски с теми, которые указаны в спецификациях к инструментам. Если к примеру, идёт 3 раза подряд отклонение транзакции и риск-параметры в норме то, можно просто опять же client-side сделать чёрный список (таблицу например) в которую добавлять эти классы/бумаги. Очень сильно на это похожее - существует в Wealth-Lab.
Остаётся биржа: биржа уведомляет остальных участников двумя способами: через свой сайт и в любой другой но, письменной форме (как правило после форс-мажора). Список классов и инструментов насколько мне известно (могу ошибаться, конечно) не обновляется на бирже чаще - чем он обновляется в квике. так что с этой стороны - лишнего, ничего городить не надо.
 
Повторяю, речь идет не об отслеживании любого ограничения как такового, а только о получении списка инструментов с которыми транзакции возможны в принципе. Разумеется, названные Вами ограничения распространяются на именно этот список, как то не разумно ограничивать транзакции не возможные в принципе.
Цитата
sam063rus пишет:
1. на основе данных о клиенте, которые меняются динамически.
2. на основе данных полученных от биржи, где параметры тоже динамические.
3. на основании риск-параметров брокера (или других параметров)
Названные вами причины контролируются Брокером на уровне претрейдконтроля, его никто не собирается обойти, да и вряд ли у кого получится.
Задачи контролировать со стороны клиента правильность работы претрейдконтроля которое, также склонен думать не должно быть бесплатным, но в рамках обсуждаемой темы такой задачи не ставилось.
Цитата
sam063rus пишет:
И мне, кстати, толком не ответили, если даже внедрить такую систему:
Что будет, если в один момент прошла транзакция на основании информации из старых списков, а в следующий момент списки изменились и оказалось, что новая связанная транзакция уже невозможна исходя из изменившихся списков?
А какая разница есть такая система на стороне клиента или нет? Ваш вопрос относится к работе претрейдконтроля Брокера.
Если Вам интересно, то обычно в таких случаях оставляют возможность закрывать открытые позиции, либо их принудительно полностью либо частично закрывают со ссылкой на соответствующий регламент, ведь речь идет о рисках.

Простите, но Ваш вопрос не очень вписывается в тему.
Обсуждаемый вопрос это получение статического списка инструментов доступных для транзакций, т.е. с которыми транзакции возможны в принципе.
 
Цитата
Albert Eritsyan пишет:
Цитата
Albert Eritsyan пишет:
тобы в случае исполнения сигала о входе в позицию с нескольких счетов клиента скрипт видел что в принципе не возможно с конкретного аккаутна и не выставлял по ним заведомо не выполнимые ордера и не тратил время на ожидание ответа и анализ причин отказа,
я думаю, самый правильный и действенный вариант в данном случае - это client-side. т.е. пишите на QLUA не большой пре-трейд модуль в котором:
при поступлении сигнала на открытие позиции проверяете валидность этой транзакции следующим образом: для каждого счёта составляете доступный перечень классов и инструментов, а также перечень доступных операций.
Этим Вы отсеете на собственной стороне часть транзакций,
Замечательно, чтобы это сделать как раз и требуется получить список инструментов, с которыми транзакции возможны в принципе! О чем, собственно, и идет речь в рамках обсуждаемой темы.
Цитата
sam063rus пишет:
остаётся 2 пункта: брокер и биржа .
брокер, в основном, отклоняет по риск-параметрам, редко когда по инструментам и классам.
Если бы это было так то, вопроса как такового бы не стало. Но на самом деле Брокеры предлагают различные счета с различным покрытием доступных для транзакций инструментов у каждого типа счетов. Именно поэтому вопрос и возник.
 
ну вы же сами говорите, что нужен статический список - ну так составьте его сами и для каждого счёта сделайте, так называемый класс, описывающий его поведение (доступность тех или иных бумаг для транзакций). информацию о доступности можно взять на основании приложений к брокерскому договору по этим счетам и фильтровать её раз в день или после каждого клиринга.
 
Он статический в течение торговой сессии а то и нескольких, но Брокеры периодически его меняют. Но не так часто, чтобы речь шла о динамическом обновлении данного списка перед каждой транзакцией.
 
если вы про то, что нужно узнать какие бумаги доступны для лонга/шорта или какие в данный момент торгуются (по которым открыта торговая сессия) - то, это всё можно узнать с помощью той же QLUA и стандартных таблиц квика.
 
Цитата
sam063rus пишет:
если вы про то, что нужно узнать какие бумаги доступны для лонга/шорта или какие в данный момент торгуются (по которым открыта торговая сессия) - то, это всё можно узнать с помощью той же QLUA и стандартных таблиц квика.
Если Вы уверены, что можно получить указанный список, и с конкретного аккаунта транзакция по ним в принципе возможна, подскажите как это сделать. Ведь именно об этом идет речь.
 
http://help.qlua.org/ch4_5.htm
http://help.qlua.org/ch4_5_16.htm
Цитата
Albert Eritsyan пишет:
или какие в данный момент торгуются
об этом можно узнать из таблиц текущих параметров.

остальные функции доступны в библиотеке QL.lua. Информация о ней, тут: http://forum.qlua.org/forum4.html

-------------------------------------------------------------------------
Вам в следующий раз нужно более конкретно задавать вопрос, а то, получается аж целую ветку на это потратили:)))))))
 
Прежде чем писать это проверьте там много случаев не срабатывания. И просьба на конкретный вопрос давайте конкретный ответ, а не ссылки на основы "единственно верного и правильного учения в МИРЕ".
 
да без проблем. удачи:)
 
Цитата
Sergey Gorokhov пишет:
Открою для всех секер
Цитата
Albert Eritsyan пишет:
Вопрос можно поставить иначе, а именно, получить списоккласс/инструмент по которым нельзя подавать ордера из-за ограничений заранее известных квику от брокера,
Как было сказано, есть два варианта
1) транзакций нет в принципе
2) транзакции есть, но установлены ограничения со стороны брокера.
Следует понимать что в 99% случаев это условные ограничения.
То есть торговать можно, но только с некоторыми ограничениями.
Например не больше какого-то объема, или по ограниченному диапазону цен.
Так вот, чтобы точно решить поставленную Вами задачу, нужно делать запрос именно с теми параметрами которые будут в заявке.
Таким образом, для 2го случая, просто так взять и получить список, не представляется возможным.
Здравствуйте Сергей!
Речь идет именно о первом варианте "Транзакций нет в принципе", как получить этот список, если он доступен? Если нет то просьба зарегистрировать пожелание по предоставлению доступа к нему, причем либо этот список либо обратный к нему "Транзакции в принципе разрешены" в зависимости от того который из них короче.
Страницы: 1
Читают тему
Наверх