поправил, чтобы тест бесконечно не работал при втором запуске
Код
local code_class1 = "TQBR"
local code_paper1 = "GAZP"
local interval1 = INTERVAL_TICK
local code_class2 = "TQBR"
local code_paper2 = "SBER"
local interval2 = INTERVAL_TICK
------------------------
local function my_cb_CDS(my_table_data_, code_class_, code_paper_, interval_, cntr)
message(code_paper_,1)
Sleep(100);
end
-----------------------------------------------------------------------------------------------------------int main:-----------------------------------------------------------------------------------------------------
local n=20;
function main()
while n>0 do
if my_table1==nil then my_table1, err = CreateDataSource(code_class1, code_paper1, interval1);
if my_table1 then
my_table1:SetUpdateCallback(function(idx)my_cb_CDS(my_table_data1, code_class1, code_paper1, interval1) end)
end
end
if my_table2==nil then my_table2, err = CreateDataSource(code_class2, code_paper2, interval2);
if my_table2 then
my_table2:SetUpdateCallback(function(idx)my_cb_CDS(my_table_data2, code_class2, code_paper2, interval2) end)
end
end
-------------------------
-- message(tostring(my_table1:Size()),1)
sleep(1000)
n=n-1
end
-------------------------
end -- end main()
function OnInit(script_path)
end
local code_class1 = "TQBR"
local code_paper1 = "GAZP"
local interval1 = INTERVAL_TICK
local code_class2 = "TQBR"
local code_paper2 = "SBER"
local interval2 = INTERVAL_TICK
------------------------
local function my_cb_CDS(my_table_data_, code_class_, code_paper_, interval_, cntr)
message(code_paper_,1)
Sleep(100);
end
-----------------------------------------------------------------------------------------------------------int main:-----------------------------------------------------------------------------------------------------
function main()
while not stopped do
if my_table1==nil then my_table1, err = CreateDataSource(code_class1, code_paper1, interval1);
if my_table1 then
my_table1:SetUpdateCallback(function(idx)my_cb_CDS(my_table_data1, code_class1, code_paper1, interval1) end)
end
end
if my_table2==nil then my_table2, err = CreateDataSource(code_class2, code_paper2, interval2);
if my_table2 then
my_table2:SetUpdateCallback(function(idx)my_cb_CDS(my_table_data2, code_class2, code_paper2, interval2) end)
end
end
-------------------------
message(tostring(my_table1:Size()),1)
sleep(1000)
end
-------------------------
end -- end main()
function OnInit(script_path)
end
я отвечал на вопрос темы, повторю свой ответ. скрипт написан в целом рабочий ---------------------- подтверждаю что при первом запуске подписка не происходит при втором происходит. ---------------------- Подписка при первом запуске вроде бы произойдет если ручками установить флаги инструментов в заказе данных через меню. -------------- Иначе никакие танцы с бубном проблему не решают. =============== считаю, что такое поведение функции подписки мягко сказать - странное.
Nikolay написал: Да, счета и субсчета (т.е. коды) у брокера. Однозначно связать счет и код клиента нельзя, т.к. в таблице кодов больше ничего нет. Но.
Смотрим на таблицу money_limits (Лимиты по денежным средствам), для нее код имеет смысл. В ней есть фирма, есть счет, есть код клиента. Так и выходит, что можно только сказать - а можно ли с этим кодом, на этом счете, по этой фирме что-то сделать. Кодов же много может быть. На одном есть деньги, на другом нет. Хотя подать транзакцию можно, раз доступен код по фирме, счету. Ну и сколько брокеров не видел, фирма для срочного рынка отличается от фондового. По ней, как минимум, отсечь недоступные классы инструментов. И выбирая инструмент, по его классу даем список сочетаний доступных счетов, субсчетов.
Очевидно не правильно объяснил. Да у брокера в амбарной книге записано сколько денег вы ему дали и сколько у вас на ИИС Но бирже это по... ---------------------- Поэтому брокеру Вы можете что угодно сообщать Это никакого отношения к торговле на бирже не имеет так как биржа знает лишь брокера. -------------------------- Более того, если у Вас будет маржин кол, и денег не хватит на одной записи в амбарной книге, то брокер спишет с другой записи. ---------------------- Все эти субсчета - это лишь строчки текста в амбарной книге брокера. Реально с финансами брокер ничего делать не может это делают лишь финансовые организации. -------------- Поэтому все эти коды клиентов и ваши записки брокеру с какого счета взять деньги лишь ваши хотелки и добрая воля брокера поиграть с вами в ваши желания. --------------------- Примерно так.
Добрый день, всем! -------------- Вопрос в продолжении темы топика ------------ Если код клиента нужен для идентификация клиента и таких кодов в терминале может быть несколько ( иначе этот код тождественно равен UID терминала), то почему этого кода вообще нет в заявке на фьючерсы и опционы. как в этом случае различаем клиентов? ------------------ Мое мнение, прежнее - код клиента - это атавизм . Поэтому в документации QLUA этот параметр в транзакции можно не заполнять. ------------------ Хотелось бы услышать начальника транспортного цеха.
nikolz написал: ------------------------ Возможно изначально он был обязателен, но сейчас он подобен аппендиксу у человека. --------------------------- Типа есть, но нафиг нужен.
Нужен. Я меня счет один, а два кода клиента. И необходимо указывать тот, с которого идет торговля. Это субсчет - на одном ИИС, другой простой. На одном есть деньги, на другом нет.
На самом деле это вам лишь видимость. Такая игра кошки с мышкой. Вы сами не торгуете. ИИС это такое искусственное нагромождение с ограничением Ваших прав распоряжение. Поэтому у Вас для как бы счета. но на бирже торгует брокер вас там нет факт исполнения вашего поручения вы можете реально увидеть лишь в его отчете. Терминал квик не является каким либо документом подтверждающим факт исполнения Он лишь подтверждает факт отправки вашего поручения брокеру. Брокер имеет полное право сделать со сделкой все что захочет. ---------------------- Прикольно но факт, реально заключение сделки произойдет лишь на клиринге, так как брокер не имеет право проводить расчеты по сделке. ---------------------- Брокер лишь подает ваши заявки и списывает с вас свое вознаграждение . ----------------------- прикольно, но во времена глобальной компьютеризации брокер - это тоже аппендикс в торговле на бирже.
открываете Руководство пользователя QUIK Раздел 6. Совместная работа с другими приложениями Импорт транзакций Формат .tri-файла с параметрами транзакций Примеры строк, которые могут содержаться в файле -------------- и там есть пример
Тейк-профит и стоп-лимит Лукойл, покупка 1 лота, активация тейк-профита при достижении цены 2000 с отступом в 5% и защитным спредом в 3%, стоп-цена 2222, цена лимитированной заявки 2255, время действия с 10:00:01 по 19:45:45
Nikolay написал: Да, счета и субсчета (т.е. коды) у брокера. Однозначно связать счет и код клиента нельзя, т.к. в таблице кодов больше ничего нет. Но.
Смотрим на таблицу money_limits (Лимиты по денежным средствам), для нее код имеет смысл. В ней есть фирма, есть счет, есть код клиента. Так и выходит, что можно только сказать - а можно ли с этим кодом, на этом счете, по этой фирме что-то сделать. Кодов же много может быть. На одном есть деньги, на другом нет. Хотя подать транзакцию можно, раз доступен код по фирме, счету. Ну и сколько брокеров не видел, фирма для срочного рынка отличается от фондового. По ней, как минимум, отсечь недоступные классы инструментов. И выбирая инструмент, по его классу даем список сочетаний доступных счетов, субсчетов.
теперь я Вам поясню а за одно и себе напомню, про код клиентов, код фирмы и торговый счет. -------- На бирже торгует брокер, а не его клиенты. Код клиента нужен опять же лишь брокеру. Это как бы метка. Она нужна брокеру (бирже она пофиг) чтобы в конце торгового дня списать комиссионные с клиентов и раздать им сальдо. Поэтому код клиента не является обязательным при подаче заявки, так как брокер знает кто подает по UID терминала и автоматом пометит клиента. --------------- Вот поэтому нам и нет надобности знать код клиента и где либо его выставлять. ------------------------ Возможно изначально он был обязателен, но сейчас он подобен аппендиксу у человека. --------------------------- Типа есть, но нафиг нужен.
Пока вам объяснял, то сам вспомнил то, что забыл. ---------------------------- На бирже нет торговых счетов клиентов. ------------------------------- Клиенты все есть лишь в амбарной книге брокера. ---------------------------- Поэтому правильно будет то, что торговый счет - это счет брокера на бирже, куда брокер слил деньги всех клиентов как свои. -------------------------------------- Так как на бирже торгует брокер, а не его клиенты -------------------- Новое, это хорошо забытое старое. ------------------ вопрос снят.
Nikolay написал: Не разработчик, но, кажется, соответствие идет от фирмы, не счета. Счет от класса инструмента. Также от класса инструмента фирма. И по уже по фирме проверяем, что код клиента и счет для одной фирмы.
в качестве примера, что Вы не правы. Предположим несколько клиентов выставляют заявки на одну и ту же акцию Так как класс один и тот же то и фирма одна и та же. Тогда как связать код клиента с его торговым счетом, где его деньги лежат?
это ошибка, которая возникает при частом выделении памяти приложениями. Симптомы Приложения, которые часто выделяют память, могут испытывать случайные ошибки из памяти. Такие ошибки могут привести к другим ошибкам или неожиданному поведению в затронутых приложениях.
Причина Сбои в распределении памяти могут возникать из-за задержки, связанные с ростом размера файла страницы для поддержки дополнительных требований к памяти в системе. Возможной причиной этих сбоев является настройка размера файла страницы в качестве «автоматического». Автоматический размер файла страницы начинается с небольшого файла страницы и автоматически растет по мере необходимости. Корпорация Майкрософт подтвердила, что это проблема в Windows 10. -------------------- Возможно Вы в луа скрипте активно создаете и уничтожаете объекты. Но надо смотреть скрипт.
Nikolay написал: Не разработчик, но, кажется, соответствие идет от фирмы, не счета. Счет от класса инструмента. Также от класса инструмента фирма. И по уже по фирме проверяем, что код клиента и счет для одной фирмы.
если я правильно понимаю, то фирма - это код брокера на бирже поэтому она одна и та же для конкретной биржи а код клиента - это код клиента брокера, который брокер сообщает бирже, когда выставляет заявку А счет торговый - это счет на который клиент заводит деньги и лимит по которому контролирует брокер перед тем как послать заявку на биржу. ---------------- В итоге с одного терминала можно посылать заявки от разных клиентов каждый клиент может иметь несколько торговых счетов но фирма, которая пошлет эти заявки на биржу будет одна и та же - это ее код на бирже. ------------------- код фирмы будет разный лишь для разных бирж и возможно для разных секций. ----------------- Но счета где деньги лежат - связаны в первую очередь с клиентами и потом через код фирмы с биржей. ------------------------- Вопрос остается в силе.
Добрый день, решил написать робота, который работает со всеми доступными в терминале кодами клиентов и вдруг откуда не возьмись появился ... затык. ----------------------- Вопрос: ---------------- Каким образом ,т е на основе каких таблиц или функций, можно установить соответствие кода клиента (таблица client_codes) торговому счету (таблица trade_accounts) ------------------- Спасибо
Дмитрий написал: Добрый день! Вопрос почему то приходит ответ на сделку 2-3-4 раза в function OnTrade(trade_data) [img]file:///C:/Users/algon/OneDrive/%D0%98%D0%B7%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F/inet/%D1%81%D0%B4%D0%B5%D0%BB%D0%BA%D0%B8.JPG[/img]
так как нет никакой картинки, то попробую гадать по звездам - возможно это заявка исполняется кусками?
32-разрядное беззнаковое целое число. Этот тип объявлен в Windef.h как показано ниже:
typedef unsigned long DWORD;
и это не long положительного значения, а беззнаковое число. Беззнаковое от знакового отличается лишь исполнением операций сравнения на больше меньше а бинарный код у них одинаковый. ---------------------- Учите мат часть.
nikolz написал: но и бесплатный и безвозвратный заем их активов
с бесплатным понятно, а почему безвозвратный ?
потому что никто не выводит ту сумму ,которую завел. Выводят либо прибыль, либо снова заводят пополняя убытки. В итоге все что завели клиенты это бессрочная и бесплатная халява для брокера. -------------------- Из 24 миллионов буратин (счетов) на бирже активные лишь 1 . Остальные дали беспроцентный заем брокеру.
так как у сбербанка актуальная версия 9.7, то в очередной раз установил ее и снова вернул 8.7 ---------------- 9.7 заметно тормознутая на графиках. ----------------- сейчас на демо тестирую версию 10 пока вроде бы нормально. --------------------- предложите сберу версию 10 вместо кривой 9.
торговля на бирже это не только кило шерсти с клиентов, но и бесплатный и безвозвратный заем их активов на нужды брокера и крупных проф участников. ---------- А В РФ уже 24 млн граждан отнесли свои деньги брокерам. пора уже стричь начинать.
Откуда появляются сверхбольшие годовые ставки по 200 и 300% годовых, или они всегда плавающие для розничных клиентов? Возможно ли при короткой продаже акций нарваться на такие %, если на счете есть денежное обеспечение 100% или от суммы шорта ?
Цитата
25 февраля, на следующий день после рекордного обвала рынка, все активы клиентов «Универ капитала» на общем торговом разделе Московской биржи оказались заблокированы из–за задолженности по сделкам: брокер утратил возможность самостоятельно заключать сделки РЕПО. После этого, пишет Кожевников, Национальный клиринговый центр (НКЦ, входит в группу Мосбиржи) начал осуществлять перенос общей отрицательной денежной позиции клиентского счета штрафными сделками РЕПО, заключаемыми без участия брокера. C 28 февраля по 17 марта НКЦ начислял штрафные проценты за перенос маржинальных клиентских позиций: по ставке 200% годовых в долларах, 300% годовых в евро и 40% годовых в рублях. За указанный период НКЦ начислил процентов на 880 млн руб
Не только у клиентов может быть маржин кол, но и у брокеров тоже может быть и этот кол брокер перекладывает на клиентов. --------------------- Из жалобы этого брокера видно, что на момент продажи активов клиентов, доходность по долларовым облигациям доходила до 400% Так что НКЦ продал по рынку. --------------------------- Далее из письма следует, что убыток составил 15% от объема проданного. ------------------------------ По идее брокер должен был это покрыть своим средствами (он же считает себя крутым), а он просто кинул клиентов и включил дурочка с протянутой рукой к ЦБ.
наступает момент, когда количество ошибок переводит систему на совершенно новый уровень. ------------------------------ И тогда появляется название этому новому. --------------------------------- Ибо если нет названия, то и нет явления.
nikolz написал: на бирже надо не расходы экономить, а убытки сокращать.
Экономия на комиссии биржи хоть и копейки, но если их можно будет избежать добавив одну строчку кода, то почему бы и нет?
Я не против, но суть в том, что Вы реально будете стоять либо вдали от рынка либо против рынка. так как это правило направлено на уменьшение движения рынка, т е Вы станете бесплатным маркет-мейкером, которым биржа платит за сжатие спреда..
чтобы не быть голословным вот Вам пример с биржи. посмотрите сколько в процентах Вы экономите. и сравните с Вашими возможными потерями. А это величина комиссии в процентах на фьючерсы от базового актива.
Возможно я не совсем точно выразился. Я уверен, что теряете Вы не на комиссии , а на убытках при движении рынка против вашей позиции. И эти потери гораздо больше . Но экономия на комиссии - это не способ получить прибыль на рынке, тем более на фьючерсе. Фьючерс - это торговля с плечом. Посчитайте величину комиссии от стоимости актива и сравните это с убытком при движении актива против вашей позиции хотя бы на 1%. -------------------- Если экономить на комиссии, то лучше вообще не ставить заявки. Экономия максимальная.
Anton Belonogov написал: Герман , дополнительных действий с Вашей стороны не потребуется. Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Антон, убедительная просьба с этим не затягивать. Эта опция актуальна и реально поможет деньги сэкономить.
на самом деле это не так реально это не поможет экономить деньги. Так как комиссия брокера остается, а она всегда существенно больше биржевой. Если заявка не пассивная, то она просто отклоняется и правило это лишь к лимитированным заявкам.
сделал такой финт ушами: --------- подключился к WebQUIK подключение прошло, но данные с биржи не транслировались. Вышел из webQUIK ========== подключился к QUIK полет нормальный.
сегодня в сбербанке все началось как вчера ---------------- полный писец. ----------------- TTT не меняется, портфель не пересчитывается время отстает меняется лишь график и стакан. =================== пытаюсь переключиться идет подключение и писец.
nikolz написал: У сбербанка указан лишь один ip сервера
У них много серверов за одним адресом. По этому было сказано "переподключиться", а не поменять сервер
вот этим (переподключится ) я и занимался вчера весь день. К вечеру заработало. очевидно, сделали. -------------------- проблема больше не в том, что сломалось, а в том что ничего не сообщают клиентам о проблеме. ---------------------------- Получается, что им просто наплевать на клиентов.
В сбербанке полный писец. сейчас время 12:50 Сервер подключен к КВИКу но трансляции никакой нет Полная хрень, Индикатор подключения - зеленый а время последней сделки 11:55
сегодня дурдом какой-то Во-первых, при подключении исчез вчерашний день торгов . Во-вторых, сейчас соединение с сервером разорвалось и не восстанавливается. интернет норма скорость 100 Мбод
Nikolay написал: А прямо сейчас цена последней сделки в ТТТ, видимо, отстает от графика. Время сервера встало на 10 утра. Данные ТТТ видимо тоже. Для целей автоматизации брокер просто нерабочий. Да и для торговли тоже т.к. вчера графики просто стояли.
Вам повезло У меня сбер вообще на сообщении - соединение установлено прислал код а меню для ввода не выдает
У брокера сбер вчера сначала время сервера отставала на 50 минут. после двух кратного переподключения время сервира стало нормальным но цена последней сделки в ТТТ стала отставать минут на 30 от цены на графике. Потом графики встали , а цены в ТТТ изменялись. ============= раньше уже писал про выкрутасы сбера. ============== хорошо бы что-то в консерватории изменить.
Иван Иванов написал: + "; CLIENT_CODE=" + comment;
читаем внимательно документацию: =================================== Настройки автозаполнения полей ввода заявки Заполнение полей «Код клиента» и «Поручение» ======================== Применение глобальной настройки управляется параметром «set-comment-mode», который может быть указан как в секции [Global], так и в секции настроек для какого-либо класса. Параметр может принимать следующие значения:
«0» – применение глобальной настройки отключено,
«1» – включено автозаполнение поля «Поручение» значением глобальной настройки, значение берется из параметра «sell-default-client-code» для заявок на продажу и «buy-default-client-code» для заявок на покупку в секции [Global]. Если в параметрах указан код клиента, то он игнорируется. Например, если параметром «sell-default-client-code=77//global» задана подстановка кода клиента «77» и поручения «global», то код клиента не будет использоваться для автоподстановки.
Александр написал: Можно конечно, но почему вывод данных так работает? Если есть 40 строк в стакане, так и он должен выводить 40 строк, даже если они пустые. Или по какому принципу работает вывод данных из стакана?
возможно он и выводит. Возможно это эксель не отображает пустые строки та как после них ничего нет.