Добрый день! Сходу не нашел как обратиться к существующей ТТП? Например создаю таблицу, называю её, наполняю и оставляю в квике. А мой скрипт на луа в квике эту таблицу подхватывает и, используя данные в ней, производит операции, или, для простоты, дублирует эту таблицу. Реально такое сделать не ломая квик, не парся поток и т.д?
Не добился ответа с начала дня, может так смогу обратить внимание разработчиков?
После использования SetLabelParams метку не возможно сдвинуть с мета вручную. В докуметации об этом ни слова. Поясните, каким образом можно обойти этот баг? Или,если это не баг, то как правильно задавать новые параметры метки, чтобы ручная перестановка на графике сохранилась?
Добрый день! Скажите, а можно ли с помощью луа на графике нарисовать горизонтальную линию, а потом её двигать мышкой вверх вниз... И чтобы скрипт, который её нарисовал, понимал, что линия передвинулась туда-то.
Вообще это реально средствами луа сделать без длл, корутин и прочих приблуд?
День добрый! Хочу скрипт, который свечи бы собирал и в текстовик отправлял. Сканировал бы ТТП, мне например нужна теор цена опциона, сворачивалв OHLC и в файл дописывал. Может, видел кто, есть уже выложенный? Так не хочется писать...
В ручную поставил заявку на продажу фьюча по цене ниже лучшей. Она выставилась и снялась. А я расчитывал, что исполнится по лучшей. В чем ошибка? Ставил из окна,кликнув по графику. Потом открыл стакан и сделал из него, какуй цену поставил - не помню, но исполнилось. Так в чем проблема была в первый раз?
День добрый! Скажите, есть ли возможность вызвать окно с надписью и кнопками Да Нет и обрабатывать его результаты? Никогда этим не занимался, как называется и где искать даже не знаю.
for key,value in pairs(w) do
print (key,value)
end
не понятен. И, вроде, так и должно быть. Может, кто-то нашел способ перебирать поля и значения по порядку их записи в таблицу? Понимаю, что этот порядок условный, и таблица хранит эти данные в своей форме и своем порядке. Но все же, может есть способ?
Приветствую! Хочу лог не просто в текстовик писать, а отформатировать под экзель. Самое простое, что пришло на ум, формат CSV. Вроде раньше все было просто, создаешь файл в текстовом редакторе, разделитель столбцов - зпт или ; переход строки - новая строка Сейчас не работает. Экзель открывает и игнорирует мои запятые. Или что угодно. Если через экзель открываю и настраиваю разделитель, все корректно открывается. Может, луа скрипт чего-то не дописывает? Но вручную такая же реакция. Кто-нибудь знает, какого формата должна быть строка, чтобы по клику экзель её воспринял как таблицу? формат не важен, подгоню под любой.
Добрый день! Не нашел ни в документации ни на форуме. Скажите, какой символ в пользовательском фильтре таблицы означает "любой символ"? Например мне нужно, чтобы в таблице отображались только опционы сбера. Они имеют формат: SR(страйк)BH5 например Хочу чтобы в таблице отображались только сберовские с любым страйком. Что то типа SR******BH5. (Все колы сбера)
Что это за кодировка, я не силен, но, наверное, Windows)) В самой командной строке шрифт русский, все нормально. Но скрипт с луа на выходе кириллицу не дает. Как перекодировать и получить кириллицу?
День добрый! Столкнулся с проблемой. Очередной.. Даю команду на снятие заявки. Жду сначала ответа от трансрепли, потом от онордера. Макс ожидание 10 сек. Прошла одна пауза (в раб. сессию), потом вторая десятисекундка - тишина. Скрипт решил что не прошло, и продолжил работу, благополучно навертев мне всякой ерунды.
Вопрос. Если я отправил заявку и не пришел ответ, что делать? Ждать до бесконечности? Ведь может же получиться, что и при соединении и при сессии, при всем нормальном, ответа долго не будет, а потом он придет и команда исполнится? И может ли так получиться, что команда просто уйдет в никуда и потеряется. Без всяких ответов? Если такого быть не может, то да, надо ждать, ведь отменить то, что я уже отправил и на что ответа не получил я не могу. Или могу?
День добрый! Согласно документации по клуа, событие в OnTransReply должно появляться всегда в ответ на транзакцию пользователя. Формат следующий (из документации по квику):
«0» - транзакция отправлена серверу,
«1» - транзакция получена на сервер QUIK от клиента,
«2» - ошибка при передаче транзакции в торговую систему, поскольку отсутствует подключение шлюза Московской Биржи, повторно транзакция не отправляется,
«3» - транзакция выполнена,
«4» - транзакция не выполнена торговой системой, код ошибки торговой системы будет указан в поле «DESCRIPTION»,
«5» - транзакция не прошла проверку сервера QUIK по каким-либо критериям. Например, проверку на наличие прав у пользователя на отправку транзакции данного типа,
«6» - транзакция не прошла проверку лимитов сервера QUIK,
«10» - транзакция не поддерживается торговой системой. К примеру, попытка отправить «ACTION = MOVE_ORDERS» на Московской Бирже,
«11» - транзакция не прошла проверку правильности электронной подписи. К примеру, если ключи, зарегистрированные на сервере, не соответствуют подписи отправленной транзакции.
«12» - не удалось дождаться ответа на транзакцию, т.к. истек таймаут ожидания. Может возникнуть при подаче транзакций из QPILE.
«13» - транзакция отвергнута, т.к. ее выполнение могло привести к кросс-сделке (т.е. сделке с тем же самым клиентским счетом).
Вопросы: 1. Всегда ли должен прийти ответ на транзакцию при наличии связи с сервером? Другими словами, значит ли отсутствие ответа в течение какого-то времени (какого?) что связи с сервером нет? 2. Верна ли логика, что если статус не 3, то значит она отвергнута? 3. Наличие статусов 0 и 1 говорит о том, что заявка подвисла и не обработана, но получена и, теоретически, может быть принята. Значит ли это, что надо просто подождать, получив эти статусы? Сколько ждать? 4. И, как результат, сообщите алгоритм, по которому можно 100% выяснить, что заявка прошла или не прошла.
Есть функция, вызывается как корутина. В ней две остановки - после выставления ордера и после снятия ордера. в трансрепли (или в ордеррепли - не важно) стоит разрешение работать дальше. Первая остановка проходит нормально, заявка выставляется. Пока корутина не начала работать её статус - suspended начала - running когда выполняем первый останов статус - suspended транзрепли его отлепляет и статус становится опять running тут все понятно, все логично так и быть должно
но, когда в функции начинает исполнятся другая функция (это единственное наблюдение) статус моей корутины - dead. А я еще не дошел до второй остановки даже. Не с чего ей останавливаться по завершению. Я ведь правильно понимаю, что dead - значит завершена? или я не прав?
День добрый. Хочу, чтобы текущая функция, приостановилась, пока не разрешу идти дальше. Не флагом рубить всю функцию, и колбэком каким-нибудь его скидывать, а прямо посреди работы функции. Это возможно сделать? Есть такой функционал? Что то типа заморозки, а когда можно - отморозить. Но, конечно , не завесить весь терминал и другие скрипты. И сразу еще вопрос. Выход из функции возможен только через return 0 ? Есть что-то вроде break и continue?
Добрый день! Проясните, пожалуйста алгоритм работы. Работает скрипт, происходит событие. Скрипт прерывается и включается обработка? А потом скрипт продолжает работу? Как сделать так, чтобы пока, например, функция не выполнится, обработка не выполнялась? В тех случаях, когда мне так надо. Бывают случаи, например когда нужно снять заявки. Скрипт начинает их удалять, одну удалил, произошло событие - снятие, и скрипт может сбиться, потому что данные для второго удаления уже изменились, а мне надо, чтобы первый "слепок" данных не менялся.
Вечер добрый! Не помню, использовал я раньше на купайле это поле или нет, но в документации по таблице заявок оно было. Имело три значения. Сейчас в документации по клуа я его не вижу, пытаюсь вызвать - nil. Как теперь добраться до этого поля анализируя таблицу заявок? Хочу отсечь те, что "KILLED" например..
Скажите, есть ли возможность напрямую работать со временем? Без разбора на часы/минуты, анализа и т.д.? Например хочу проверить одно время относительно другого. больше оно или меньше.
Вопрос практикам. Может быть ситуация, когда скрипт повторно выставляет заявку, хотя по алгоритму и по работе скрипта такой ситуации быть не должно? Весь скрипт на анализ кидать смысла нет, вопрос в общем, бывает такой баг или нет? Скрипт два дня работает. Выставляет новую заявку только после получения подтверждения о снятии предыдущей. Все работало нормально. Оставил на 2 часа без присмотра, вернулся - две заявки. Одна залипла. С чем связано - не выяснить. Можно, конечно, опять скрипт проверять и т.д.. Если багов таких ни у кого не наблюдалось, тогда буду проверять, копать. Если бывает - оставлю как есть. Зона видимости переменных, надеюсь, на другие открытые скрипты не распространяется, таких-то "чудес" не бывает??))
Добрый день! Решил освоить азы qlua. Не понимаю, какая конструкция должна быть, чтобы запустить свою функцию по событию.
Код
T = getParamEx("SPBOPT","SR6000BQ5","theorprice")
message(T.param_value,2)
а событие - изменение этого параметра в ТТП
Пожалуйста, напишите этот скрипт полностью. С обозначением функции, с main, все как полагается. Очень буду признателен, а то собираю куски по частям, ерунда какая то получается..