Хитрость ссылки на данное указание в том, что блокирование средств клиентов под стоп-заявки ухудшает качество услуги, а это по закону не допустимо, если нет основания для этого.
Стоп-заявка выставляется как лимитная.
Пользователь
Сообщений: Регистрация: 30.01.2015
05.03.2026 10:39:21
Цитата
paluke написал: К примеру, фраза "с учетом принятых, но не исполненных к указанному моменту поручений клиента" не может иметь отношения к стоп-заявкам?
Дело в том, что брокеру не надо указаний блокировать или нет деньги под стоп-заявки. Он вправе это делать без указаний, записав это в свой регламент. ----------------- А вот в маржинальные сделки, когда брокер дает в долг деньги и акции своих клиентов, слабо регулируются законом и практически никем не контролируются. Поэтому для них периодически выпускаются подобные указания.
Вопрос к разработчикам: можно ли вызывать getQuoteLevel2 в потоке main?
LUA_REGISTRYINDEX — псевдоиндекс в языке Lua, по которому расположена предопределённая таблица (реестр), доступная для хранения любых Lua-значений. Это специальное местоположение, которое не входит в обычный стек.
Реестр используется в C-коде для хранения данных, которые невозможно хранить в чистом виде в C-коде (например, метатаблиц пользовательских библиотек). Также реестр может использоваться для:
Распределения данных между несколькими модулями — если нужно разделить данные между несколькими модулями, проще использовать реестр, чем общую память.
Сохранения предопределённых значений — при создании нового Lua-контекста реестр содержит некоторые предопределённые значения, которые индексируются целочисленными ключами, определёнными как константы в lua.h.
Например, LUA_RIDX_MAINTHREAD — по этому индексу в реестре расположен главный поток контекста,
LUA_RIDX_GLOBALS — по этому индексу в реестре расположено глобальное окружение.
Любая C-библиотека может хранить данные в реестре, но должна выбирать уникальные ключи — это поможет избежать коллизий с другими библиотеками.
Стоп-заявка выставляется как лимитная.
Пользователь
Сообщений: Регистрация: 30.01.2015
05.03.2026 05:41:25
Читаем внимательно о чем это указание:
Код
устанавливает требования к имуществу,
которое может быть передано брокеру в качестве обеспечения обязательств клиента перед брокером,
в том числе по предоставленным брокером займам,
случаи, когда сделки брокера за счет клиента без его поручения,
могут совершаться не на организованных торгах,
требования к внутренним документам брокера, а также требования к осуществлению брокерской деятельности,
в том числе требования к соблюдению
брокером нормативов при совершении им следующих сделок:
сделок за счет денежных средств и (или) ценных бумаг, и (или) драгоценных металлов,
которые в соответствии с договором о брокерском обслуживании находятся в
распоряжении брокера или должны поступить в его распоряжение,
в случае их недостаточности для исполнения обязательств по
указанным сделкам;
и ВСЕ !!! Ни к каким стоп-заявкам это указание не имеет отношение.
На самом деле Указание Банка России от 12 февраля 2024 г. № 6681-У на которое ссылается ВТБ не относится к стоп-заявкам. Это указание относится к сделкам, а не к заявкамю Оно так и называется: "О требованиях к осуществлению брокерской деятельности при совершении брокером отдельных сделок за счет клиента" Прикольно то, что и до него существовали аналогичные указания.. --------------------- Если не согласны, то дайте выдержку из данного указания о стоп-заявках. ------------------------
Стоп-заявка выставляется как лимитная.
Пользователь
Сообщений: Регистрация: 30.01.2015
04.03.2026 18:19:50
По-моему мнению все дело в переходе сбера на единый счет.. Но сбер прав - это фигня сделана в QUIK.
Вопрос к разработчикам: можно ли вызывать getQuoteLevel2 в потоке main?
Пользователь
Сообщений: Регистрация: 30.01.2015
04.03.2026 16:12:13
Цитата
Serge123 написал: Поэтому в одном потоке (в обработчике OnAllTrade) можно "запечь" ссылку в registry, взяв её с вершины стека
Код
luaL_ref(L, LUA_REGISTRYINDEX)
А в другом потоке (main) registry будет содержать то, что туда "запёк" OnAllTrade?
Поясню. В скриптах реализован такой механизм. Основной скрипт - это VMLua, a main - это корутина, которая создается в новом потоке Для корутины создается state внутри state основной VMLua. В итоге пространство основной VMLua доступно внутри корутины. Это библиотеки переменные и функции в т числе колбеки.
Вопрос к разработчикам: можно ли вызывать getQuoteLevel2 в потоке main?
lua_State - это структура т е область памяти и она одна для VMLua.
Код
struct lua_State {
CommonHeader;
unsigned short nci; /* количество элементов в списке 'ci' */
lu_byte status;
StkId top; /* первый свободный слот в стеке */
global_State *l_G;
CallInfo *ci; /* информация о вызове текущей функции */
const Instruction *oldpc; /* последний отслеженный ПК */
StkId stack_last; /* последний свободный слот в стеке */
StkId stack; /* основание стека */
UpVal *openupval; /* список открытых значений в этом стеке */
GCObject *gclist;
struct lua_State *twups; /* список потоков с открытыми значениями */
struct lua_longjmp *errorJmp; /* текущая точка восстановления после ошибки */
CallInfo base_ci; /* CallInfo для первого уровня (вызов Lua из C) */
volatile lua_Hook hook;
ptrdiff_t errfunc; /* текущая функция обработки ошибок (индекс в стеке) */
int stacksize;
int basehookcount;
int hookcount;
unsigned short nny; /* количество невызываемых функций в стеке */
unsigned short nCcalls; /* количество вложенных вызовов C */
l_signalT маска подключения;
lu_byte allowhook;
};
линкер помещает туда адрес в т числе и указатель global_State *l_G; на глобальную таблицу.
Код
typedef struct global_State {
lua_Alloc frealloc; /* функция для перераспределения памяти */
void *ud; /* вспомогательные данные для 'frealloc' */
l_mem totalbytes; /* количество выделенных в данный момент байтов - GCdebt */
l_mem GCdebt; /* выделенные байты, которые еще не компенсированы сборщиком мусора */
lu_mem GCmemtrav; /* память, обработанная сборщиком мусора */
lu_mem GCestimate; /* оценка объема используемой памяти, не являющейся «мусором» */
stringtable strt; /* хеш-таблица для строк */
TValue l_registry;
unsigned int seed; /* случайное начальное значение для хеширования */
lu_byte currentwhite;
lu_byte gcstate; /* состояние сборщика мусора */
lu_byte gckind; /* тип запущенного сборщика мусора */
lu_byte gcrunning; /* true, если запущен сборщик мусора */
GCObject *allgc; /* список всех объектов, подлежащих сборке */
GCObject **sweepgc; /* текущая позиция в списке */
GCObject *finobj; /* список собираемых объектов с финализаторами */
GCObject *gray; /* список «серых» объектов */
GCObject *grayagain; /* список объектов, которые нужно пройти атомарно */
GCObject *weak; /* список таблиц со слабыми значениями */
GCObject *ephemeron; /* список эфемерных таблиц (слабых ключей) */
GCObject *allweak; /* список всех слабых таблиц */
GCObject *tobefnz; /* список пользовательских данных, подлежащих сборке мусора */
GCObject *fixedgc; /* список объектов, которые не подлежат сборке */
struct lua_State *twups; /* список потоков с открытыми upvalues */
unsigned int gcfinnum; /* количество финализаторов, которые нужно вызвать на каждом этапе сборки мусора */
int gcpause; /* размер паузы между последовательными сборками мусора */
int gcstepmul; /* «степень детализации» сборки мусора */
lua_CFunction panic; /* вызывается при незащищенных ошибках */
struct lua_State *mainthread;
const lua_Number *version; /* указатель на номер версии */
TString *memerrmsg; /* сообщение об ошибке при обращении к памяти */
TString *tmname[TM_N]; /* массив с именами методов тегов */
struct Таблица *mt[LUA_NUMTAGS]; /* метатаблицы для базовых типов */
TString *strcache[STRCACHE_N][STRCACHE_M]; /* кэш для строк в API */
} global_State;
В функцию на С передается указатель на это структуру
Можно ли уточнить задержку в Интернете до выставления заявок?, Как можно раньше выставить заявку после начала их приёма
local function waitForDateTime (datetime)
local seconds_since_epoch = ostime(datetime)
assert(ostime() < seconds_since_epoch)
while ostime() < seconds_since_epoch do sleep ( 1 ) end
end
можно сделать так. Не будет расходоваться время процессора на цикл и сравнение.
Код
local t=os.date("*t"); local x=os.time(t); t.hour=6; t.min=49; t.sec=59; sleep(1000*(os.time(t)-x)
Почему Quik ест так много памяти??
Пользователь
Сообщений: Регистрация: 30.01.2015
03.03.2026 13:35:35
Добрый день, Можете объяснить почему при подключении к серверу терминал закачивает 500 Мбайт. а объем занятой памяти возрастает до 1 ГБайта. Подписка всего на 100 инструментов. -------------------------- Но самое удивительное, что такой объем занятой памяти в начале торгов и он самый большой за весь торговый день.
* в Сбербанке, Сбербанк перевел на *
Пользователь
Сообщений: Регистрация: 30.01.2015
03.03.2026 05:24:18
Цитата
tempo написал: Сбеобанк перевел на единый брокерский счет. Торгую только фьючерсы. Таблица ограниченияя по клиентским счетам перестала показваать лимиты...,план по позициям..., короче все кроме вариационки. Переписка/звонки с брокером ничего не дала - они перенесли это аж до 22 марта - думаю просто не знают что делать. Что сделать чтобы видеть что с деньгами...
Тоже торгую только фьючерсами. Рассказывал про это на прошлой неделе. ------------------- Беседовал с тех поддержкой.Про это тоже рассказывал на форуме. -------------------- Теперь некую мешанину Вы можете видеть в клиентском портфеле. Причем если у Вас расчетная моржа (не реальная) будет уходить в минус, то будут прилетать маржинкол как если бы Вы заняли деньги у брокера для маржинальной торговли. -------------------- Это не только чушь, но и нарушения ФЗ о рынке ЦБ и ГК РФ. ---------------------- Вам же юр отдел пришлет отписку в которой расскажут про то, что есть таблица ограничения по клиентским счетам и Вы можете ее настроить. -------------------- А тех отдел скажет то, что написал выше. - таблица ограничений теперь не работает см в клиентском портфеле. ---------------------- Благодарить за такую хрень надо разработчиков QUIK.
Вопрос к разработчикам: можно ли вызывать getQuoteLevel2 в потоке main?
Пользователь
Сообщений: Регистрация: 30.01.2015
03.03.2026 05:11:57
Цитата
Serge123 написал: Такое впечатление, что Квик в разных потоках может давать разный Lua State L... Ладно, завтра выведу адрес этого L в разных потоках и сравню.
Вы правы. Это так. Я об этом рассказывал на форуме.
Получить ГО на едином брок.счете?, Получить ГО на едином брок.счете?
Пользователь
Сообщений: Регистрация: 30.01.2015
02.03.2026 14:59:55
если ваш брокер бкс, то читайте здесь
Получить ГО на едином брок.счете?, Получить ГО на едином брок.счете?
Пользователь
Сообщений: Регистрация: 30.01.2015
02.03.2026 14:55:16
Но можете ли Вы этот займ использовать на срочном рынке тоже спросите у брокера.
Получить ГО на едином брок.счете?, Получить ГО на едином брок.счете?
Пользователь
Сообщений: Регистрация: 30.01.2015
02.03.2026 14:53:37
Возможно Ваш брокер дает заем под акции. Но это маржинальная торговля. Какие активы и по какой цене берет брокер в залог спросите у своего брокера.
Получить ГО на едином брок.счете?, Получить ГО на едином брок.счете?
Пользователь
Сообщений: Регистрация: 30.01.2015
02.03.2026 14:48:56
ГО отображается в ТТТ (Таблица текущих торгов)
Получить ГО на едином брок.счете?, Получить ГО на едином брок.счете?
Пользователь
Сообщений: Регистрация: 30.01.2015
02.03.2026 14:47:35
Цитата
EugeneE написал: Приветствую. На * куплены активы , под которые брокер дает ГО на срочке. Как в lua расчитать текущий лимит для ГО?
брокер не дает никакого ГО на срочном рынке. ГО берет биржа как залог по будущему контракту на актив . ГО устанавливается клиринговой компанией во время клиринга.
Вопрос к разработчикам: можно ли вызывать getQuoteLevel2 в потоке main?
Пользователь
Сообщений: Регистрация: 30.01.2015
02.03.2026 07:15:13
Цитата
Serge123 написал: И ещё вопрос: если в моей длл вызываются функции Квика через стек Луа (напр., main вызывет getQuoteLevel2), то правильно ли будет перед выходом из моего обработчика события (соответственно, после вызова из main getQuoteLevel2) быстро очистить стек с помощью
Код
lua_settop(L, 0 );
Или надо перед вызовом функции Луа из длл сначала делать
Код
n = lua_gettop(L);
И после вызова (перед выходом из обработчика события) делать
Код
lua_settop(L, n);
?
Для любого языка программирования правило входа и выхода функций , при использовании стека для передачи параметров , одно и оно указано в любом учебнике по программированию. Состояние стека после выхода из функции должно быть таким же как до входа в функцию. Иначе будет утечка емкости стека.
Очереди и двойные очереди в луа, Пример из книги Р.Е.
tbl = {} -- создать таблицу
tbl[ # tbl + 1 ] = v -- добавить в конец таблицы
v = tbl[ # tbl] -- получить последний элемент таблицы
tbl[ # tbl] -- удалить последний элемент таблицы
tbl[ # tbl] -- удалить последний элемент таблицы Как это удаляет? ================= Так просто лишь у дилетантов. --------------------- Посмотрите как реализован стек в VMLua. ========================== Операции Некоторые операции, которые можно производить со стеком:
Push — добавляет новый элемент в стек.
Pop — удаляет элемент, который находится сверху.
Peek (или Top) — показывает верхний элемент стека, но не убирает его.
Size — возвращает количество элементов, которые находятся в стеке.
СложностьВременная сложность всех основных операций стека, работающих по принципу LIFO, — O(1). Пространственная сложность — O(n), где n — количество элементов. ПрименениеПринцип LIFO используется в разных областях, например:
Программирование — например, когда одна задача вызывает другую и нужно вернуться обратно после завершения.
История действий в браузере — каждый переход по ссылке сохраняется в стек, при нажатии «Назад» происходит pop, и открывается предыдущая страница.
Управление товарными запасами на складе — первыми отгружаются товары, поступившие на склад последними. Новая партия размещается поверх предыдущей, что упрощает процессы погрузки и разгрузки.
Важно: в некоторых языках и системах у стека фиксированный объём памяти, например, в низкоуровневых языках (C, C++). В многопоточных приложениях доступ к стеку нужно контролировать — если два потока используют стек одновременно, могут возникнуть ошибки из-за конфликта при обращении к данным ======================================== Программировать тоже надо учиться.
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
26.02.2026 16:50:12
, В итоге Вы наблюдали отсутствие сообщений , так как функции ничего не возвращали, но ошибочно считали, что зависает скрипт. ---------------------- Тестировать скрипты тоже надо учиться.
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
26.02.2026 16:45:38
Полагаю, что разработчики либо должны исправить функции, либо исправить документацию.
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
26.02.2026 16:40:08
это получается СИ функциях для луа, когда в конце return 0; вместо записи в стек nil и возврата return 1
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
26.02.2026 16:35:52
Поясняю: Эти функции не возвращают переменную, а возвращают пустой стек. Поэтому если Вы укажите функцию как параметр , как у Вас в примере, то получите ошибку параметра.
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
26.02.2026 16:32:40
Поэтому их результат нельзя передавать в функцию например в type. Надо делать это через присвоение переменной.
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
26.02.2026 16:28:53
, Сделал несколько тестов для проверки Вашей гипотезы. ------------------- Я с Вами согласен. ----------------------- Эти функции не возвращают nil. -------- Мне лень глубоко копать, но предположу, что в них ошибка связана с неправильным управлением стеком.
странные проценты изменения, процент изменения цены инструмента не соотносится с отображением на графике цены
Пользователь
Сообщений: Регистрация: 30.01.2015
26.02.2026 13:42:35
по фьючерсам новый день начинается от закрытия основной сессии. Потому , что расчет по сделкам выполняется в вечерний клиринг.
Функция getDepoEx может приводить к зависаниям терминала
function main ()
local x=getDepoEx("", "", "", "", 0);
message(tostring(x),1)
end
свободные средства для срочного рынка на едином счете
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 16:53:22
Цитата
VPM написал: А если серьезно, возможно у кого еще было подобное? Возможно что то нужно поменять в настройках, рабочего места?
Есть две рекомендации 1) Перезаказать данные 2) Пересоздать таблицу клиентского портфеля ------- но если у вас в стакане все не активно, то проблема у сбера и они это знают и решают Если Вы сделаете как я написал, то проблему решат за 2 часа. Они так и говорят: Перезагрузим.
свободные средства для срочного рынка на едином счете
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 16:48:35
Цитата
VPM написал: Попробовал "Алор" кое что есть интересное, но пока не однозначно. Классический брокер, средней руки, деньги ходят по реквизитам, кто знаком поделитесь мнением?
Я знаю их с момента их создания. Проблема не в брокере. Все брокеры , кто создавался еще в прошлом веке работают нормально Это финам,бкс, алор. Проблема с вводом и выводом денег. Если Вы не Москве то банки этих брокеров не внушают доверие. Сейчас эта проблема немного исчезла с появлением СБП. Но все зависит от сумм которые Вы вводите и выводите. -----------------
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 16:39:39
Цитата
Йцукен написал: , не в обиду: от вас помощи мне точно не нужно, вы не умеете читать, до вас очень туго доходит (если вообще доходит) смысл написанного. Вы даже первое сообщение не прочитали, зачем залезли в тему со своими комментариями - мне не понятно. Ну а что касается поиска причины, то это уже не ко мне вопрос. Я локализовал проблему, предоставил достаточно данных, чтобы проверить и убедиться в наличии проблемы. Вообще торгую только на срочном рынке. Но вот в демке тестировал фондовую секцию, и в какой-то момент квик завис. Я сохранил все данные, чтобы иметь возможность их предоставить. Для проверки и запуска скрипта подключение к серверу не требуется.
Если это никому не нужно, включая разработчиков, то мне тем более: на боевом квике getDepoEx не использую. Но когда посреди торгов, у вас неожиданно всё зависнет, - прибежите на форум.
Ну и прекрасно. Если бы сразу написали что и как делали, то и вопросов Вам бы я не задавал. По-вашему , я не умею читать По-моему, Вы не умеете писать...программы.
Если очередной ответ будет про метки, то метки отвратительны! Метки носятся по всему графику как угорелые. Это еще скрин не самый худший. Метка ставится в нужную точку графика рядом со сделкой, а потом начинается вот это все растягивание и расползание по всему графику.
Это делается с помощью скрипта-индикатора. Пишем сделки в файл. Скрипт-индикатор читает сделки прошлых дней и выставляет метки треугольниками где купили где продали. Рядом с метками можете вывести текст все что душе угодно. Ничего не будет убегать все будет стабильно:
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 16:20:56
и еще.. Если Ваша проблема связана с конкретной ситуацией на рынке, то выложенный Вами пакет ничего не дает. если я его скачаю то я не подключусь к серверу как вы а могу подключится как я. если это на демо сервере, то ваш пакет не нужен.
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 16:17:32
Цитата
Йцукен написал: Товарищи, которые пишут тут: "я проверил на своём квике, и у меня не зависает", я и без вас знаю, что скрипт зависает не всегда. В getDepoEx есть ошибка, которая при определенных условиях, может привести к зависанию терминала. Предполагаю, что это зависит от открытых позиций по бумагам. Но, какие именно данные приводят к зависанию - мне не известно. Вам тем более. Поэтому, не надо мне тут писать, не проверив на предложенных данных. Ваши сообщения не несут никакой смысловой нагрузки.
Не в обиду, но Вы читали про проблему долгой загрузки которая у меня была. Я ее решал сам затратил на тесты неделю. -------------------------- Все проблемы, о которых писал на форуме решал самостоятельно. ------------------------- Хотите решение - делайте тесты и ищите причину. потом ищите решение сами или пишите на форум поможем. Разработчики ничего делать в ближайшие надцать дней, недель,месяце, лет(не нужное зачеркнуть) с вашей проблемой не будут. --------------------- Спасение утопающих - дело рук самих утопающих.
свободные средства для срочного рынка на едином счете
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 16:11:28
Делать надо так: ----------------------- Сначала вам отвечает робот. Вы ему - "тех поддержка QUIK" --------------- Потом вас соединяют с колл центром. Они тоже ничего не знают толком. Говорите: Пропали позиции по фьючерсам. Вчера были сегодня нет В сбербанке онлайн они есть Данные перезаказывал Таблицу пересоздавал. -------------------- Вас либо соединят с тех поддержкой либо скажут, что записали и передадут Спросите когда исправят ответят часа через 2. ------------------ Скорее всего исправят раньше, но не факт.
свободные средства для срочного рынка на едином счете
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 16:06:03
Цитата
VPM написал: Не у меня круче! После того как, головы брокера Сбер посетил * , пропали торговые операции. Не актируется функции выставления заявок, ни из одного источника? Понятно, что накрутили что то на сервере? Обратился в тех. поддержку. А сей час самое интересное. Вот ответ: " Мы начали работать с вашим вопросом № 260225-7000-942752 от 25 февраля 2026. Вернёмся с результатом не позднее 17 марта 2026 . Если сроки изменятся, сообщим. Следить за статусом заявки удобно в разделе «Мои обращения»: sberbank.com/sms/ob "
А как Вам брокер? У кого круче?
У меня так было сначала в тот же лень как ввели единый счет. проблему решили за 5 часов после 3-х звонков. Это был четверг Пятницу работал нормально В понедельник все сначала. проблему решил после 4-звонков за 4 часа.
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 16:02:31
Цитата
Йцукен написал: , вы сначала проверьте свой код, на архиве из первого сообщения . А коль не можете - брысь из темы.
Нафига? Я не знаю что Вы там наделали. А разбираться в вашей куче нет желания. поставьте нормальный пакет и будет Вам счастье. возможно Ваш скрипт у вас не работал из-за ошибок. ------------------- вот Ваш скрипт который я запускаю:
Код
function main ()
local n = getNumberOf ( "depo_limits" )
message ( "Number depo_limits:" .. n,1)
if n > 0 then
getDepoEx( "NC0011100000" , "10547" , "SBER" , "NL0011100043" , 20260216 )
end
message ( "Завершение работы main.",1)
end
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 15:49:59
Цитата
Йцукен написал: Нафига здесь циклы, слипы? Товарищи, которые тут советуют вкрячить циклы со слипами, вы сначала проверьте свой код, на архиве из первого сообщения. Потом можно предметно что-то обсуждать. Я просто диву даюсь
Пардон, Ваш скрипт работает. Вы просто все мозги мне засрали своими воплями.
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 15:35:23
Не надо так уродовать скрипт.
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 15:34:49
, Пардон, я не увидел что Вы main вызываете без цикла. ------------------- Возможно у вас ничего не успевает нормально отработать и вы все вешаете. ---------------------- Это как у автомобиля отвинтить два колеса. И думать что это велосипед.
Функция getDepoEx может приводить к зависаниям терминала
При том, что его там нет. Именно это и приводит к "зависанию" терминала.
Серьёзно? А если нам нужно, чтобы скрипт что-то рассчитал и завершил работу?
Изменил скрипт в таком виде:
Код
function main ()
local n = getNumberOf ( "depo_limits" )
message ( "Number depo_limits:" .. n)
if n > 0 then
getDepo Ex( "NC0011100000" , "10547" , "SBER" , "NL0011100043" , 20260216 )
end
message ( "Завершение работы main." )
end
Скрипт стоит, как вкопанный на getDepoEx:
Даже не представляю, куда тут вкрячить sleep?
Код
function main ()
local n = getNumberOf ( "depo_limits" )
message ( "Number depo_limits:" .. n)
if n > 0 then
getDepo Ex( "NC0011100000" , "10547" , "SBER" , "NL0011100043" , 20260216 )
end
message ( "Завершение работы main." )
sleep(1)
end
свободные средства для срочного рынка на едином счете
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 15:30:03
Табл Позиции... есть, а Ограничения -нет. ------------------ Прикольно, теперь маржинальная торговля сваливается в кучу с доступными средствами по фьючерсам. ------------------- Это не только дурдом, но и прямое нарушение законодательства. Но так как терминал qUIK это тоже самое, что надпись на заборе, то все замечательно.
свободные средства для срочного рынка на едином счете
написал: Все теперь в клиентском портфеле. Все смешалось - кони,люди
Но в окне запись же по-прежнему есть - неужели ее невозможно достать? И как-то странно, что функция не может ее вернуть. Ну и если "в портфеле", то это getPortfolioInfoEx? Что в ней смотреть, и какое по смыслу событие аналогично OnFuturesLimitChange?
Когда сбербанк перешел на единый счет, то у меня в таблице нули. Связался с тех поддержкой. Сказали что все теперь в клиентском портфеле. У Вас в таблице все есть?
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 15:01:13
Возможно поток блокирует отображение сообщений.
свободные средства для срочного рынка на едином счете
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 14:59:29
Цитата
Kilor написал: Добрый день! После объединения счетов фондового/срочного рынков в Сбере перестала работать функция получения лимитов по срочному счету. Работало так:
Теперь в окне "Ограничения по клиентским счетам" видно, что "фирма" теперь сменилась на MC0002500000, как для счетов фондового рынка. Но тот же вызов что с прежним значением, что с замененным аргументом теперь возвращает nil. Подскажите, как можно теперь вытащить информацию о "занятых" средствах и актуальной суммарной вармарже?
Все теперь в клиентском портфеле. Все смешалось - кони,люди
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 14:56:33
Цитата
Йцукен написал: if n > 0 then getDepoEx("NC0011100000", "10547", "SBER", "NL0011100043", 20260216) end
поставьте Sleep(1)
Функция getDepoEx может приводить к зависаниям терминала
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 14:48:12
В зависимости от назначения бота использую несколько вариантов начального чтения позиции и параметры доступных инструментов. ----------------------- Чаще всего начальное чтение позиций и параметров инструментов делаю в main перед циклом, после идентификации соединения с сервером.
разработчики, а вы чем заняты то?
Пользователь
Сообщений: Регистрация: 30.01.2015
25.02.2026 07:50:13
Цитата
Лена написал: Почитала проблемы пользователей с программой и возникает закономерный вопрос- почему квик настолько похабно сделан?
бесконечные косяки, сбои, ошибки и прочая хрень.. Вы может отдадите это в нормальные руки?
Все банально просто. Изначально терминал QUIK был задуман более 20-ти лет назад как альтернатива подачи заявок по телефону. ----------------------------- Все основные моменты архитектуры были заложены и реализованы в то время. ----------------------------------- В настоящее время терминал QUIK продолжает быть именно таким приложением : ------------------------------------ " Брокер, продай(купи) мне вот это" -"Заявку принял, если смогу, то сделаю" --------------------- Все , что отображается в терминале несет лишь информационный характер (из регламента брокера) -------------------- Т е за качество и достоверность работы терминала никто перед клиентами брокера не отвечает.
ошибка показа подсказки
Пользователь
Сообщений: Регистрация: 30.01.2015
24.02.2026 19:00:30
версия 12.8.4.9 Воз и ныне там. Если окно с графиком вынести и сделать поверх всех окон, то подсказка не отображается, а окно дергается.
ошибка показа подсказки
Пользователь
Сообщений: Регистрация: 30.01.2015
24.02.2026 10:52:36
версия 12.8.3.4 Если окно с графиком вынести и сделать поверх всех окон, то подсказка не отображается, а окно дергается.
Уменьшаю время локальной загрузки QUIK до нуля.- Это просто.
Пользователь
Сообщений: Регистрация: 30.01.2015
21.02.2026 11:57:02
режим гибернации особо полезен для устройств с батарейным питанием(ноутбука и планшета).