Как вариант, каждый скрипт пишет в свой файл с указанием времени записи, а один из скриптов отслеживает изменения этих файлов и обновляет единый файл сортируя записи по времени.
Владимир, С помощью getParamEx можно узнать только лучшие на данный момент значения предложения и спроса. Иногда, например при автоматическом перемещении заявок, нужно получить стакан целиком. Или продаже нужно посмотреть 2-3 верхних уровня цены. Вариантов когда нужна Subscribe_Level_II_Quotes очень много. Также мне до конца непонятно, где быстрее обновляются данные и в некоторых роботах я использую данные getParamE и Subscribe_Level_II_Quotes вместе.
Ну а то что возможно все, особенно на фондовом рынке, так с этим я согласен. На прошлой неделе в одном из роботов сработала ветка алгоритма которая "молчала" с момента его создания. Ну и конечно же там была ошибка.
Юзер это я, так что он ничего не открыл. Это я гарантирую. Кстати, никогда не проверял, меняет ли физически открытый стакан значение функции IsSubscribed_Level_II_Quotes.
s_mike@rambler.ru, спасибо за интересную идею! Возможно для меня подойдет немного другое решение. В стаканах которые меня интересуют всегда стоят заявки(ну почти всегда) , т.е. bid_count и/или offer_count отличны от нуля и nil. Если создать файл со всеми sec_code, которые мне интересны и проверить bid_count и offer_count на значения отличные от нуля и nil, то вероятно можно получить почти точное количество открытых/заказанных стаканов. Нужно будет проверить на досуге. А оно мне надо вообще?
Здравствуйте! В созданном год назад скрипе использовалась функция getMoney. Возникла необходимость использовать функцию getMoneyEx local t = getMoneyEx(FirmID, ClientCode, Tag, CurCode, 1) для получения остатка на Т1. Скрипт стал эпизодически вылетать по ошибке. Оказалось, что getMoneyEx иногда(до 10 раз за торговую сессию) выдает nil. Пришлось вставить проверку на nil и использовать предыдущее сохраненное значение t.currentbal. Технически такое решение меня устраивает, но осадок остался. Что скажете, господа из техподдержки?
Здравствуйте! Какое количество стаканов может быть открыто или заказано одновременно в Quik? Можно ли средствами QLua определить сколько стаканов открыто или заказано в данный момент?
Установка версии 8.7.1 не помогла, все аналогично. Дело в том, что проблема появляется не постоянно. Есть такая облигация Атомстр 01(RU000A100VS2). При попытке ввести заявку в этом стакане, окно с оповещением по условию появляется так часто, что даже невозможно совершить сделку. Попробуйте поэкспериментировать с ней. Если честно, проблема уже достала.
Если дело в длл, можно какой-то именованный объект ядра создавать, мьютекс например.
Спасибо! Звучит красиво, только вот я совсем не в теме. Думаю периодически выставлять заявки в один лот на дно стакана какой-нибудь облигации и контролировать, а так же и снимать их другим скриптом другим скриптом. Может кто еще чего подскажет?
Здравствуйте. У меня есть девять постоянно используемых роботов на Lua. Часть из них циклические и должны быть запущены постоянно в течении всей торговой сессии, другие запускаются только для выполнения рутинной работы. Иногда я забываю запустить циклических роботов или случайно отключаю их по ошибке. Вопрос, можно ли отследить программно работает робот или нет. Есть разные варианты как это сделать, хочу найти самый простой.
Здравствуйте. Я не стал пока посылать Вам архив моего рабочего места, так как проблема четко повторяется и Вы наверно сможете воспроизвести ее у себя. Для примера я взял облигацию Сбер Sb12R (RU000A100K80). На картинке видно, что в Окне оповещений установлено условие Сбер Sb12R Спрос >= 104,21. В стакане по цене 104,21 стоит моя заявка 1 шт. и она точно не дергается. Я щелкаю на стакане Сбер Sb12R и как бы хочу продать имеющиеся в меня бумаги, но тут же выскакивает оповещение по параметру, которое закрывает окно Ввод заявки и мешает максимально быстро произвести сделку. Это глюк, который мешает нормально работать и которого не было в 7-й версии. Если есть хотя-бы одно условие из Окна оповещений, которое удовлетворяется в данный момент, то любая попытка ввести или заменить заявку приводит к выводу нежелательного окна.
Все оповещения которые у меня установлены мне необходимы и я хочу видеть их в окне, а не панели задач. Таблица оповещений перенесена из Квик 7, где данная проблема не наблюдается. Оповещения должны выполнятся и выполняются когда возникает соответствующее условия для этого. Но окно появляется в тот момент когда условий для этих оповещений нет. Ввод заявки не повод для появления окна оповещений. Проблема возникла с переходом на Квик 8, в Квик 7 в аналогичных ситуациях этого не происходит. Нужно найти решение этой проблемы.
Здравствуйте! При вводе заявки при двойном клике на стакане или при замене заявки, после открытия окна Ввод заявки, появляется нежелательное по оповещение условию. Проблема наблюдается некоторое время после входа в quik и потом исчезает сама.
Здравствуйте. На прошлой неделе вынудили перейти на Quik 8. Работаю на фондовой секции, версия Quik 8.6.0.97 Обнаружилось, что функции getDepoEx, getParamEx, getItem выдают значения объемов t.balance, t.currentbal и других виде чисел с плавающей запятой. Например, объем 1000 шт. визуализируется функциями PrintDbgStr или SetCell как 1000.0(ноль после запятой), а функция sendTransaction выдает ошибку , так как получает значение объема в виде строки. Функция math.type (x) для таких чисел выдает значение float. Как следствие, старый код требует исправления. Вопрос к техподдержке: это баг или это зачем-нибудь нужно?
Добрые люди, поделитесь пожалуйста ссылочкой на библиотеку luacom для Quik 8. Или продайте. Или подскажите другой вариант как работать с Excel файлами в Quik 8 роботу написанному Lua . Поиском не нашел.
Сделал программу на Lua создающую отчет в Excel по итогам торгового дня на данных из Таблицы сделок. Не знаю как сделать следующее: 1. Как записать формулу в ячейку Excel. 2. Как выделить ячейку цветом. 3. Как задать границу (окружить несколько ячеек сплошной чертой) Кто знает, дайте примеры.