Viktor MMM (Автор тем)

Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Обращение к произвольной ТТП, есть возможность?
 
Добрый день!
Сходу не нашел как обратиться к существующей ТТП?
Например создаю таблицу, называю её, наполняю и оставляю в квике.
А мой скрипт на луа в квике эту таблицу подхватывает и, используя данные в ней, производит операции, или, для простоты, дублирует эту таблицу.
Реально такое сделать не ломая квик, не парся поток и т.д?
SetLabelParams, особенности использования
 
Не добился ответа с начала дня, может так смогу обратить внимание разработчиков?

После использования SetLabelParams метку не возможно сдвинуть с мета вручную. В докуметации об этом ни слова.
Поясните, каким образом можно обойти этот баг? Или,если это не баг, то как правильно задавать новые параметры метки, чтобы ручная перестановка на графике сохранилась?
Рисовать линию на графике
 
Добрый день!
Скажите, а можно ли с помощью луа на графике нарисовать горизонтальную линию, а потом её двигать мышкой вверх вниз... И чтобы скрипт, который её нарисовал, понимал, что линия передвинулась туда-то.

Вообще это реально средствами луа сделать без длл, корутин и прочих приблуд?
Как обратиться к Таблице истории значений параметров?
 
Собственно, и весь вопрос.
Через луа можно к полям обратиться?
Выкачивать в текстовик данные из ТТП
 
День добрый!
Хочу скрипт, который свечи бы собирал и в текстовик отправлял.
Сканировал бы ТТП, мне например нужна теор цена опциона, сворачивалв OHLC и в файл дописывал.
Может, видел кто, есть уже выложенный?
Так не хочется писать...
снялась заявка по рынку Почему?
 
В ручную поставил заявку на продажу фьюча по цене ниже лучшей. Она выставилась и снялась. А я расчитывал, что исполнится по лучшей.
В чем ошибка?
Ставил из окна,кликнув по графику.
Потом открыл стакан и сделал из него, какуй цену поставил - не помню, но исполнилось.
Так в чем проблема была в первый раз?
Окно с кнопками Да Нет
 
День добрый!
Скажите, есть ли возможность вызвать окно с надписью и кнопками Да Нет и обрабатывать его результаты?
Никогда этим не занимался, как называется и где искать даже не знаю.
Перебор поименованных полей таблицы по порядку
 
Читал и вижу, алгоритм перебора через

Код
 for key,value in pairs(w) do
print (key,value)


end
не понятен. И, вроде, так и должно быть.
Может, кто-то нашел способ перебирать поля и значения по порядку их записи в таблицу?
Понимаю, что этот порядок условный, и таблица хранит эти данные в своей форме и своем порядке. Но все же, может есть способ?
Формат строки для CSV
 
Приветствую!
Хочу лог не просто в текстовик писать, а отформатировать под экзель.
Самое простое, что пришло на ум, формат CSV.
Вроде раньше все было просто, создаешь файл в текстовом редакторе, разделитель столбцов - зпт или ;
переход строки - новая строка
Сейчас не работает.
Экзель открывает и игнорирует мои запятые. Или что угодно.
Если через экзель открываю и настраиваю разделитель, все корректно открывается.
Может, луа скрипт чего-то не дописывает? Но вручную такая же реакция.
Кто-нибудь знает, какого формата должна быть строка, чтобы по клику экзель её воспринял как таблицу? формат не важен, подгоню под любой.
Флаги при частичном исполнении заявки
 
День добрый.
Не могу сейчас поэкспериментировать, напомните, пожалуйста, при частичном исполнении заявки оба первых флага будут 1?
Любой символ в фильтре таблицы
 
Добрый день!
Не нашел ни в документации ни на форуме.
Скажите, какой символ в пользовательском фильтре таблицы означает "любой символ"?
Например мне нужно, чтобы в таблице отображались только опционы сбера. Они имеют формат: SR(страйк)BH5 например
Хочу чтобы в таблице отображались только сберовские с любым страйком. Что то типа SR******BH5. (Все колы сбера)  
Перекодировка в LUA
 
Вопрос сообществу.
Как средствами луа перекодировать строку?
Это на входе в луа (данные пинга):
Скрытый текст
Что это за кодировка, я не силен, но, наверное, Windows))
В самой командной строке шрифт русский, все нормально. Но скрипт с луа на выходе кириллицу не дает.
Как перекодировать и получить кириллицу?
Время ожидания подтверждения транзакции
 
День добрый!
Столкнулся с проблемой. Очередной..
Даю команду на снятие заявки.
Жду сначала ответа от трансрепли, потом от онордера. Макс ожидание 10 сек.
Прошла одна пауза (в раб. сессию), потом вторая десятисекундка - тишина.
Скрипт решил что не прошло, и продолжил работу, благополучно навертев мне всякой ерунды.

Вопрос. Если я отправил заявку и не пришел ответ, что делать? Ждать до бесконечности? Ведь может же получиться, что и при соединении и при сессии, при всем нормальном, ответа долго не будет, а потом он придет и команда исполнится?
И может ли так получиться, что команда просто уйдет в никуда и потеряется. Без всяких ответов? Если такого быть не может, то да, надо ждать, ведь отменить то, что я уже отправил и на что ответа не получил я не могу. Или могу?
Status в OnTransReply
 
День добрый!
Согласно документации по клуа, событие в 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?
по CALLBACK, алгоритм работы
 
Добрый день!
Проясните, пожалуйста алгоритм работы.
Работает скрипт, происходит событие.
Скрипт прерывается и включается обработка? А потом скрипт продолжает работу?
Как сделать так, чтобы пока, например, функция не выполнится, обработка не выполнялась? В тех случаях, когда мне так надо.
Бывают случаи, например когда нужно снять заявки. Скрипт начинает их удалять, одну удалил, произошло событие - снятие, и скрипт может сбиться, потому что данные для второго удаления уже изменились, а мне надо, чтобы первый "слепок" данных не менялся.
поле STATUS в таблице orders, оно изменилось?
 
Вечер добрый!
Не помню, использовал я раньше на купайле это поле или нет, но в документации по таблице заявок оно было. Имело три значения.
Сейчас в документации по клуа я его не вижу, пытаюсь вызвать - nil. Как теперь добраться до этого поля анализируя таблицу заявок?
Хочу отсечь те, что "KILLED" например..
Поля в OnOrder, требуются разъяснения
 
Скажите, пожалуйста, что означают следующие поля:

1. Идентификатор пользователя (trans_order["uid"])
2 .Комментарий (trans_order["brokerref"]) - в это поле можно что-то вносить при выставлении заявки?
Создание своего события, локальный callback
 
Можно ли в qlua создать свое событие, которое можно было бы перехватывать другим или несколькими скриптами? Создать и, понятно, обработать.
Вставить функцию из источника, Есть ли что-то вроде Include?
 
Можно ли в qlua подключать функции из других своих скриптов, как это делается?
Функции работы со временем, есть ли такие?
 
Скажите, есть ли возможность напрямую работать со временем? Без разбора на часы/минуты, анализа и т.д.?
Например хочу проверить одно время относительно другого. больше оно или меньше.
message, параметры
 
В таблице системных сообщений есть поля - Важность, Источник, Категория. Как свое сообщение дополнить этими данными?
Повторное выставление заявки
 
Вопрос практикам.
Может быть ситуация, когда скрипт повторно выставляет заявку, хотя по алгоритму и по работе скрипта такой ситуации быть не должно? Весь скрипт на анализ кидать смысла нет, вопрос в общем, бывает такой баг или нет?
Скрипт два дня работает. Выставляет новую заявку только после получения подтверждения о снятии предыдущей. Все работало нормально. Оставил на 2 часа без присмотра, вернулся - две заявки. Одна залипла. С чем связано - не выяснить.
Можно, конечно, опять скрипт проверять и т.д.. Если багов таких ни у кого не наблюдалось, тогда буду проверять, копать. Если бывает - оставлю как есть.
Зона видимости переменных, надеюсь, на другие открытые скрипты не распространяется, таких-то "чудес" не бывает??))
Как получить событие - изменение в ТТП?
 
Добрый день!
Решил освоить азы qlua.
Не понимаю, какая конструкция должна быть, чтобы запустить свою функцию по событию.

Код
   T = getParamEx("SPBOPT","SR6000BQ5","theorprice")
    message(T.param_value,2)


а событие - изменение этого параметра в ТТП

Пожалуйста, напишите этот скрипт полностью. С обозначением функции, с main, все как полагается. Очень буду признателен, а то собираю куски по частям, ерунда какая то получается..
Страницы: 1
Наверх