Egor Zaytsev пишет: Подробно по LUA можете ознакомиться по ссылке: http://www.lua.ru/
А Вы тот сайт посещали? Там по ссылке "Документация" - Not Found, по ссылке "Статьи" - Not Found, ещё несколько ссылок ткие же, Форум - Service Temporarily Unavailable, последняя новость от 15 Января 2008 и т. п.
Мне в теме https://forum.quik.ru/forum10/topic670 подсказали, что даже "классическая" print() в квиковской Lua отсутствует, что уж говорить об остальном! Ведь очевидно, что реализация Lua для Quik отличается от стандартного Lua. Потому я спрашивал:
Цитата
Виталий пишет: Тогда вопрос: где взять полную информацию по Lua, реализованному в Quik?
Видимо, нет полной документации по Lua, реализованному в Quik ?
А ещё мне понравилось:
Цитата
Виталий пишет: Тогда вопрос: где взять полную информацию по Lua, реализованному в Quik?
Цитата
Egor Zaytsev пишет: Все зависит от того, какую задачу Вы хотите решить.
Т. е. для разных задач разная документация?
Виталий, сайт посещали и раньше он работал. В наши задачи отлеживать его работоспособность не входит и проверять доступные ли его ссылки тоже. Поэтому Вы можете поискать информацию на других ресурсах.
Документация, которая имеется сейчас вполне полная. Дело в том, что сам по себе язык Lua имеет большие возможности и не все в нашей библиотеке поддержано. Например, ранее нельзя было создавать свои индикаторы, сейчас такая возможность есть. Какие то задачи можно решить при помощи дополнительных библиотек, которые не являются нашей разработкой.
1. Да, основные функции и их описание для работы с таблицами в Quik 2-3. Это означает, что брокер на своей стороне может либо включить, либо отключить использование данного модуля.
Напомним, что Прибыль/Убытки в клиентском портфеле считаются по всем бумагам и исходя из текущей цены спроса или предложения в зависимости короткая это позиция или длинная. Комиссия на нашем Quik Junior следующая:
Начиная с оборота(руб.) за день=Комиссия в % от объема сделок 0=0.08 250001=0.064 500001=0.048 1000001=0.032 2500001=0.028 5000001=0.024 10000001=0.020 15000000=0.016
1. Перед запуском программы убедитесь, что в диспетчере задач отсутствует процесс winros.exe 2. Проверьте в настройках экспорта, как понимаем возможность выбрать экспорт в Метасток присутствует. В противном случае выполните следующее:
- закройте программу QUIK; - создайте пустой файл "__iwr.log" (два нижних подчеркивания) и скопируйте в корень диска "С"; - создайте пустой файл "quik_metastock.log" и скопируйте в папку с программой QUIK; - запустите программу QUIK и начните экспорт; - подождите 10-15 мин; - затем пришлите нам, пожалуйста, на quiksupport@arqatech.com (указав в теме письма эту ветку форума)
Да, комиссия на Quik Junior имеется. Необходимо понять, что именно вы сравнивали т.е какие параметры. Прибыль/Убытки считаются так: Рыночная оценка бумаг для длинных позиций считается исходя из текущей цены спроса, а для коротких позиций, исходя из текущей цены предложения
Олег Хуснутдинов пишет: даже если OnTrade вызывается более одного раза по одной и той же сделке, такое тоже может быть
Считаете ли вы эту информацию существенной? Почему данный факт не отражён в официальной документации по QLUA, а узнаём мы об этом только сейчас случайным образом?
Цитата
Старатель пишет: В каких ещё ситуациях OnTrade по одной сделке может вызываться более одного раза?
Добрый день.
Данный вопрос уже поднимался и не раз. Да в документации это не описано, но готовы зарегистрировать соответствующее пожелание.
Ontrade может быть вызван два раза например, в случаях потери связи между торговой системой и сервером QUIK, а затем получение всей информации заново. В таком случае клиент два раза получит не только заявки, но и сделки.
Проверил - свечи с заданным временем на графике есть. Ведь на 32-хбитной Windows 8.1 всё работает нормально. А вот когда тот же самый QUIK переносишь простым копированием файлов (т.е. все графики при этом переносятся один-в-один) на другую ОС - работать перестаёт.
Дмитрий, проблема не в Windows. Попробуйте удалить портфель из Quik и загрузить его снова, также попробуйте удалить все настройки. Пересоздайте график, присвойте заново идентификатор, так же проверьте, что показывает в режиме отладки.
Проблема может быть в том, скрипт берет локальное время компьютера, а оно может и не совпадать со временем на графике. Возможно, что на графике и нет свечи с указанным временем. Проверьте этот момент. Так ли это.
Алексей Смирнов пишет: Сделал все параметры по max - задержка осталась.
Добрый день.
Алексей, задержка может быть по разным причинам. На трансляцию могут влиять настройки Quik или же, сам DDE сервер просто не успевает обрабатывать все поступающие в него данные. То есть, либо Quik слишком быстро отправляет данные на DDE сервер и он не справляется, либо на оборот, он их сам по себе получает слишком медленно.
На скорость отправки по DDE как уже сказали, влияют настройки в меню Настройки - Основные - Программа - Экспорт данных. Секция Экспорт по DDE На скорость получения данных влияют настройки в меню Настройки - Основные - Программа - Получение данных. Секция "Интервал обновления данных с текущим состоянием"
Поэтому попробуйте менять значения либо в большую либо в меньшую степень. Вам нужно самостоятельно подобрать нужные параметры.
В настройках Quik пункте Настройки/Основные/Программа/Экспорт данных установите значения "при выдаче целиком таблицы" и "при выдаче очередной строки" больше, чем сейчас установлено.
Серж пишет: А пока данное пожелание не реализовано, разумно ли вместо OnParam использовать функции CreateDataSource и SetUpdateCallback на каждый из отслеживаемых параметров ? Не окажет ли это негативного влияния на производительность?
Здравствуйте, На производительность не должно оказать влияния, но с оговоркой что речь идет о разумном количестве заказываемых параметров.
Уделив этому вопросу некоторое время (на самом деле, потратив кучу времени), я пришёл к выводу, что созданный колбек по какому-либо параметру из ТТП через SetUpdateCallback всё равно будет вызываться при изменении любого параметра по данной бумаге. Т.е., получим тот же самый OnParam, только по конкретной бумаге. Но после получения колбека всё равно нужно проверять, был ли вызван этот колбек по изменению отслеживаемого параметра.
А теперь внимание вопрос: Sergey Gorokhov , почему вы не сказали, что для решения данного вопроса создание колбека через SetUpdateCallback не имеет смысла
Добрый день,
Описанная ошибка будет исправлена в одной из очередных версий программы. Приносим извинения за причиненные неудобства.
Пытаюсь сделать транзакцию через файл по переносу 100 руб. с FORTS на валютный рынок МБ: ACTION=NEW_INSTR_TYPE_3; TRANS_ID=3; CLASSCODE=INSTR; INSTR_RATE=1; CLIENT_CODE=4xxxx/00; AGREE_SERV=4xxxx-БФ|xxxxxxxx|; VOLUME=100; SECCODE=RUR_2; SECCODE_CP=RUR_2; CLIENT_CODE_CP=4xxxxFX; TS=FORTS; CLIENT_ACCOUNT=4100xxx; CLIENT_SUB_ACC=00; CLIENT_CP_SUB_ACC=FX; DOC_COMMENT=Перевод ДС; EXPIREDAY=0;
Ругается на "Неверное значение счета клиента". Какое значение нужно ставить в поля CLIENT_ACCOUNT=; CLIENT_SUB_ACC=; CLIENT_CP_SUB_ACC=; , чтобы выполнить транзакцию?
Добрый день.
Данная диагностика означает, что на стороне брокера для поручений "перевод ДС" для параметра "лицевой счет (списание) настроено правило невидимости и необязательности заполнения этого поля.
В загружаемой файле TRI это параметр CLIENT_ACCOUNT. У Вас в файле указано значение: CLIENT_ACCOUNT=4100xxx. Но так как данное поле невидимо и необязательно, но при этом присутствует в транзакции, то Вы получаете эту ошибку. Т.о. для решения этого вопроса нужно из файла TRI убрать параметр CLIENT_ACCOUNT
Сергей Королев пишет: PS: уточню задачу: имелось ввиду вычислить свечу не по абсолютному(!) значению, а относительному (типа - 95 дней назад). Ну и чтобы можно было использовать эту функцию для циклов перебора больших интервалов дат.
Добрый день.
Сергей, в qpile таких функций нет. Конечно, получить дату там можно, но это займет гораздо больше времени, нежели например в Qlua. По qpile этот вопрос уже на форуме поднимался.
Что касается Qlua, то с ним будет проще, написали маленький пример, который позволяет вычислить дату, которая была n- дней назад:
sec=60*60*24 day=95*sec T = os.date("!*t",os.time()-day) message(T.day.."."..T.month.."."..T.year)
Если вы не используете единую денежную позицию, то вариационную маржу считает биржа.
Код
при обращении из купайла Пред. оценка, шаг цены и его стоимость обнулены.
Данные оценки и шага в цены обнулены и в самой таблице или qpile нули возвращает? Проверьте еще настройку Зайдите в пункт меню Настройки/Основные/Программа/Получение данных/ и выберите пункт "Исходя из настроек открытых пользователем таблиц"
Да, можно. Можно реализовать данную задачу через tri файл. Более подробное описание в руководстве пользователя Quik. Раздел 9. Неторговые операции и Отчеты/ Импорт поручений из файла/Примеры строк в файле транзакций
lergen пишет: И еще вопрос в догонку. Похоже на моем аккаунте подключена единая денежная позиция? Если можно отключите её и средства переведите на FORTS.
Роман пишет: А вообще, как от этой проблемы можно устранить (реально - не контролируя в ручную), это не первый раз ...
Добрый день.
Роман, если вы говорите, что свечи исчезают, то это не нормальное поведение. С этим вопросом нужно разбираться, без информации от брокера эту проблему не решить. Возможно проблема имеет место быть в клиентской части, но мало вероятно. Обратитесь к брокеру, пусть он проверит свои графики, которые вы от него получаете, если действительно проблема есть, то необходимо, чтобы брокер к нам обратился. Будем разбираться.
Роман пишет: - перезаказ архива графиков не помогает!!!
Рекомендуем обратиться к брокеру, нужно смотреть на его стороне, какие графики он транслирует Вам. Если проблема именно с трансляцией с сервера, то искать проблему на стороне брокера.
Да, такую заявку выставить возможно. В формате транзакции у Вас ошибок не видим. Возможно тишина потому, что не наступает не одно из указанных условий? При ручной постановки с такими же параметрами стоп заявка срабатывает?
при заполнении заявки TAKE_PROFIT_STOP_ORDER указывается цена STOPPRICE - цена начала отслеживания максимума/минимума но есть еще параметр PRICE - причем указано что это обязательный параметр, возникает вопрос какую цену надо указывать в этом параметре?
Добрый день.
Евгений, для тейк профита указывать цену не надо. В документации PRICE описан, как общий случай.
p_classcode = "CETS" --Код класса
p_seccode_usdrubtom = "USD000UTSTOM" --Код инструмента
p_seccode_usdrubtod = "USD000000TOD"
p_seccode_eurrubtod = "EUR_RUB__TOD"
p_seccode_eurrubtom = "EUR_RUB__TOM"
is_run=true
function main()
while is_run do
sleep(2000)
end
end
function OnQuote(class_code, sec_code)
if class_code==p_classcode and sec_code==p_seccode_eurrubtom then
tbid = getParamEx(class_code, sec_code, "last")
message(tostring(tbid.param_value), 1)
end
end
Когда вместо p_seccode_eurrubtom подставляется p_seccode_usdrubtom или p_seccode_usdrubtod - цена последней сделки выводится. Когда подставляешь p_seccode_eurrubtom - скрипт не выводит ничего, просто молчит.
К сожалению, не успел попробовать на p_seccode_eurrubtod, торги закончились, попробую завтра.
Если у кого-либо есть мысли о причинах неполадок - буду очень благодарен.
Добрый день.
Проверьте не стоит ли фильтров в таблице Связь/Списки. Возможно eurrubtom отфильтрован.
Есть ли возможность получать из стакана облигаций поле "доходность" у заявок? Возможно ли выставлять заявки по доходности, а не по цене? Как вообще узнать доходность по заданной цене, если не рассчитывать ее самостоятельно?
Добрый день.
Для получения полей доходность покупки и доходность продажи можно воспользоваться параметрами BUY_YIELD и SELL_YIELD
Интересует выставление заявки при помощи Qpile? Если да, то пример такой транзакции можно получить путем сохранения через карман транзакции. Т.е нужно положить в карман транзакции заявки с типом "доходность", сохранить ее в tri файл и тем самым получите текст заявки с доходностью.
Добавьте в функцию OnDisconnected() возвращаемое значение код ошибки для диагностики ошибки подключения.
Здравствуйте!
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Если сворачиваете приложение в фон или ждущий режим, то в течении минуты соединение разрывается и при повторном входе в программу приложение требует авторизоваться вновь. На стороне брокера есть настройка, которая позволяет единожды вводить данные при переподключении к серверу. Т.е при такой настройки ввод пароля требуется только при первой попытке авторизации. При этом период экспирации не истекает никогда, и пароль запрашивается заново только при смене параметров подключения.
Владимир Беретов пишет: Можно ли сделать так, чтобы трендовые линии на графике предназначенные для одного инструмента, не отображались на другом инструменте? Сейчас у меня на разных инструментах близких по ценам (например: нефть, USD, Сбербанк) отображаются трендовые линии всех инструментов.
Добрый день.
Такой возможно нет, только если отключить режим связанных окон. Реж
Egor Zaytsev пишет: переместились на другую вкладку
табл доступные скрипты просто исчезла, ни на каких вкладках ее нет. хотелось бы чтоб при повторном запуске эта табл была там где ее оставили. те так же как и другие таблицы квика
Добрый день.
Сейчас именно так и работает. Зарегистрировали соответствующее пожелание.
Дмитрий пишет: Здравствуйте! Суть пожелания в теме. Хотелось бы еще, чтобы новый размер окна запоминался после его закрытия и использовался при повторном открытии. Окно по умолчанию небольшое, из-за чего иногда приходится прокручивать список скриптов, что не слишком удобно. Или хотя бы просто увеличьте размеры этого окна по умолчанию.
Добрый день, Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что мы также считаем целесообразным его реализацию и постараемся включить в план доработок при выпуске одной из следующих версий нашего ПО.
green_X5 пишет: Уважаемые разработчики QUIK. Ещё и ещё раз спасибо за возможность работать на LUA. И за развитие QLUA также низкий поклон.
Прошу сделать ещё немного. Добавить в панель инструментов кнопку быстрого вызова доступа к списку скриптов . И назначить сюда же горячие клавиши . По-сути дублирование нажатия вот сюда
Ну очень нужно. Будьте милосердны! Спасибо.
Добрый день,
Мы рассмотрели Ваше пожелание. По итогам анализа сообщаем Вам, что мы также считаем целесообразным его реализацию и постараемся включить в план доработок при выпуске одной из следующих версий нашего ПО.
Сергей, мы рассмотрели Ваши пожелания. По итогам их анализа сообщаем Вам, что мы также считаем целесообразным их реализации и постараемся включить в план доработок при выпуске одной из следующих версий нашего ПО.
roman пишет: каким образом, можно поместить на вынесенное окно графика горизонтальную линию (про способ с помощью шифт я знаю, тренды рисуются)? или уровни фибоначи?
Добрый день,
На данный момент, к сожалению, нет возможности рисовать остальные фигуры на вынесенном окне графика. Можем зарегистрировать от Вас пожелание по реализации данного функционала.
ок
Добрый день, Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что мы также считаем целесообразным его реализацию и постараемся включить в план доработок при выпуске одной из следующих версий нашего ПО.
Will Will пишет: проблема:Делаю вкладку LUA, на вкладке открываю таблицы-луа-доступные скрипты. Перезапускаю квик табл исчезает.
просьба: сделать табл "доступные скрипты" по образу других таблиц квика (обычн грид), чтоб было удобно ее растягивать. просьба: присвоить скриптам горяч клавиши для запуска и остановки просьба: чтоб в клуа так же была доступна эта табла
спасибо
Добрый день, Мы рассмотрели Ваши пожелания. По итогам их анализа сообщаем Вам, что мы также считаем целесообразным их реализации и постараемся включить в план доработок при выпуске одной из следующих версий нашего ПО.
Egor Zaytsev пишет: Если же все таки это предторговая сессия, то регистрируем пожелание на возможность в рамках настроек графика игнорировать данное время на всем промежутке, а не только в рамках текущей сессии.
предторговая сессия или глюк на индексе - без разницы, главное поймите из-за них не корректно отражаются графики и ошибки при расчете возникает которую не как не исправишь, а это очень важно
Добрый день, Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что мы также считаем целесообразным его реализацию и постараемся включить в план доработок при выпуске одной из следующих версий нашего ПО.
А также возможность управления опциями: Закрепить окно, Убрать заголовок и Поверх всех окон. Спасибо!!!
Добрый день, Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что мы также считаем целесообразным его реализацию и постараемся включить в план доработок при выпуске одной из следующих версий нашего ПО.
Eys Eys пишет: По факту,конечно,биржа не зарегистрирует цену выше рыночной,не будет ждать заявку на покупку 50050, а исполнит заявку по рыночной цене(если она в текущий момент где-то между 50000 и 50049),то тогда лучше эти 50 пунктов (отступ цены) были бы просто защитой от проскальзывания,то есть заявка срабатывает по рыночной выше 50000 и не больше 50050,как то так.
Добрый день,
Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что мы также считаем целесообразным его реализацию и постараемся включить в план доработок при выпуске одной из следующих версий нашего ПО.