Список устойчивых ВДО от Иволги Капитал (по оценке самой Иволги)
В качестве эксперимента начинаю обновляемую публикацию «списка устойчивых ВДО» Иволги (возможно, найду более четкое определение). Это список эмитентов, для которых Иволга Капитал – последний...
BRENT: цена мечется между геополитическими страхами и плохой статистикой
Нефть после скачка к локальным максимумам продолжила колебаться вблизи вершины, где удерживалась под влиянием геополитической премии за риск. Первоначальный скачок цены был вызван резким...
Южная Корея: рынок, который смог
Алексей Девятов Президент Южной Кореи в ходе предвыборной кампании в прошлом году обещал поднять индекс KOSPI до 5000 пунктов — эта амбициозная цель предполагала двукратный рост фондового...
Норникель: отчет за 2025 год вселяет оптимизм, хорошо поработали с расходами и отчитались лучше прогноза, впереди рост прибыли и высокие цены на металлы
Норникель сегодня выпустил отчет за 2025 год
Компания заработала 10 рублей чистой прибыли на 1 акцию (за 1-е полугодие 2025 года было 4 рубля). Неплохо!
Сразу сравниваю со своим...
см. Qlua.chm: функция SetTableNotificationCallback
Приложение 3. Примеры обработки событий для таблиц
Пример обработки событий мыши и клавиатуры
Собственно, вот:
smart-lab.ru/blog/454196.php
smart-lab.ru/blog/453384.php
тут просто окошки с таблицами выводятся. Остается только поискать как в окошки добавлять поля для ввода и как пишутся CallBack-и при нажатии на кнопки вроде Update
Не забудь(те) поделиться результатами своих изысканий!)
QLUA.chm
Функции для работы с таблицами Рабочего места QUIK, созданных с помощью скриптов на языке LUA.
Аккуратно посмотрите, что можно и чего нельзя. Там хороший набор функций. Мне хватило возможностей и для управления, и для отображения состояния.
Единственно — добавил сохранение и восстановление размеров и положения окна с таблицей.
а так, визуальный интерфейс на луа пишется довольно просто, вот простейший пример:
stackoverflow.com/questions/18056592/how-can-i-make-an-gui-application-in-lua
Проблема только в том, что гуевина может конфликтовать с квиком, блокировать скрипт, например.
Однако, если Вы понимаете, что существует хотя бы небольшая вероятность увеличения количества одновременно работающих роботов, или значительное увеличение количества обрабатываемых одновременно инструментов, то максимум через годик Вы поймете, что QLua — это тупик.
Настоятельно рекомендую уже сейчас смотреть в сторону C#. Я все это уже прошел, а у Вас есть возможность сэкономить время (как минимум, год).
github.com/finsight/QUIKSharp/issues
Это единственный абсолютно бесплатный проект, с открытым исходным кодом.
На сколько мне известно, ребята из TSLab положили в основу своего коннектора именно этот проект.
www.youtube.com/watch?v=DKkCvKeSFoc
из него понятно, что этот коннектор соединяется с квиком через сокеты по протоколу json. В принципе, это концептуально то же самое что я делаю, только более общо) По скорости мой подход должен быть несколько быстрее, т.к. параметры средствами луа передаются в dll, а не преобразуются внутри луа скрипта в json, а потом уже передаются по тем же сокетам. У меня не передается лишнее, конверсия в числа происходит средствами луа и только тех полей, которые необходимы. К чему это я? К тому, что получается, это то же самое использование qlua, только с переносом исходного кода робота с луа на си шарп. В моем случае — с луа на с++. Кроме бесспорных преимуществ разработки на с#/c++ над lua еще есть какие-то? В чем тупик у qlua, в том, что написав кучу кода, он при определенной сложности робота просто ляжет и будет «неподъемным» для интерпретатором луа, или есть еще что-то, что я не могу понять?
В Вашем случае, конечно же никаких дополнительных преимуществ не будет, т.к. по сути Вы делаете то же самое, но для другой среды. На счет скорости ничего вразумительного сказать не смогу. Помню только что автор проекта утверждал, что скорость работы этого коннектора достаточно большая, чтобы не особо задумываться об этом. Мне скорости хватает, но я не работаю ни с тиковыми данными, ни с обезличенными сделками.
Условно (с учетом изменения структуры запуска роботов после перехода на С#), можно сказать, что сейчас у меня одновременно подключены к одному терминалу и работают в общей сложности 58 роботов + 1 служебный на QLua, и остается немалый запас по увеличению количества запускаемых роботов. На QLua я себе такого позволить не смог бы ни при каких обстоятельствах.
*Кстати, раз коннектор использует сокеты, робота по идее можно не только в отдельный процесс вынести, но и на отдельную физическую машину. Если это в коннекторе еще не реализовано, это достаточно легко сделать, при необходимости. Если машины соединены проводом и стоят рядом, там пинг какие-то микросекунды будет, т.е. ноль считай.