"1) исчисляется true and false, результат - false" но результат НЕ false. Hезультат выполнения true. Хотя должен быть false.
Результат исчисления "true and false" - false, расхождений поведения программы с ожидаемым результатом нет. Просим Вас уточнить, каким образом Вы получили результат true для выражения "true and false".
В фиксированном формате описания транзакции признак "Только пассивная" в данный момент не поддержан. Мы можем зарегистрировать пожелание на добавление данного признака. Уточните, пожалуйста, регистрируем такое пожелание?
Ошибок нет, результат верный. Необходимо принимать во внимание порядок выполнения логических операций: конъюнкция ("and") имеет более высокий приоритет, чем дизъюнкция ("or").
Рассмотрим приведенные Вами выражения:
Код
dis_not = true and false or true
1) исчисляется true and false, результат - false; 2) исчисляется false (результат п.1) or true, результат - true.
Код
dis_not = false and false or true
1) false and false, результат - false; 2) false or true, результат - true.
Код
dis_not = true and true or false
1) true and true, результат - true; 2) true or false, результат - true.
Код
dis_not = false and true or false
1) false and true, результат - false; 2) false or false, результат - false.
Если требуется изменить порядок выполнения логических операций, необходимо воспользоваться скобками.
Формат вызова функции getBuySellInfo: TABLE getBuySellInfo (STRING firm_id, STRING client_code, STRING class_code, STRING sec_code, NUMBER price)
Функция возвращает таблицу Lua с параметрами из таблицы QUIK «Купить/Продать», означающими возможность купить либо продать указанный инструмент «sec_code» класса «class_code», указанным клиентом «client_code» фирмы «firmid», по указанной цене «price». Если цена равна «0», то используются лучшие значения спроса/предложения.
Если функция getBuySellInfo действительно возвращает nil, несмотря на корректно переданные параметры, просим Вас прислать фрагмент Вашего скрипта с вызовом данной функции, а также скриншот таблицы "Купить/продать". Запрошенную информацию Вы можете направить на нашу почту quiksupport@arqatech.com, указав в письме ссылку на данную тему форума.
Для экспорта информации из Рабочего места QUIK указанной версии (9.3) ODBC источник необходимо создавать в программе Администратор источника данных ODBC 64-разрядной версии (путь: %windir%\system32\odbcad32.exe).
Рекомендуем Вам убедиться, что источник ODBC был создан корректно, а также в случае необходимости создать новый источник.
Вывод данных с неактивным признаком "Запускать приложение DDE сервера автоматически" возможен, если заполнены поля "Рабочая книга" и "Лист" и соответствующий файл открыт в MS Excel.
Что касается возможности экспорта данных в другие системы, просим Вас уточнить, о каких именно системах идет речь.
Уточните, пожалуйста, о вызове какой функции идет речь? Просим Вас описать проблему более подробно, а также предоставить Lua-скрипт, для которого воспроизводится данное поведение.
С помощью функции getItem(STRING TableName, NUMBER Index) можно обратиться к произвольной таблицы Рабочего места QUIK и получить информацию о данных из строки с номером «Index» из таблицы с именем «TableName».
Для решения описанной Вами задачи необходимо обратиться к таблице "securities" и получить коды для инструментов из интересующего класса (например, TQCB). Код может выглядеть так (с записью кодов инструментов в .txt-файл):
Код
sec = ""
for i = 0, getNumberOf("securities") - 1 do
if getItem("securities", i).class_code == "TQCB" then
sec = sec .. getItem("securities", i).code .. "\n"
end
end
f = io.open("tqcb.txt", "w")
f:write(sec)
f:close()
Более подробная информация о функциях для обращения к данных таблиц Рабочего места QUIK и структурах данных представлена Руководстве пользователя QLua.
Сергей написал: при наложении объектов, их узлов, берётся не то что нужно (не то что выделено).
Ранее Вы действительно упоминали о таком поведении (https://forum.quik.ru/messages/forum8/message63865/topic7426/), однако мы не получили от Вас запрошенную информацию, а именно данные о версии терминала QUIK, в которой наблюдается описанный эффект и, если возможно, видео с его воспроизведением.
Просим Вас предоставить данную информацию (можно направить на нашу почту quiksupport@arqatech.com, указав в письме ссылку на данную тему форума).
Покупка/продажа по рыночной цене на указанную сумму, У акций на moex разная лотность и оперировать кол-вом акций, которые нужно купить/продать не всегда удобно
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Покупка/продажа по рыночной цене на указанную сумму, У акций на moex разная лотность и оперировать кол-вом акций, которые нужно купить/продать не всегда удобно
При вводе заявки Вы можете указать необходимый объем и рассчитать соответствующее количество. В форме ввода заявки необходимо указать интересующую цену (если речь идет о рыночной заявки - отметить признак "Рыночная"), объем в поле "Объем и комиссия" и нажать кнопку "Задать количество", после чего количество инструментов, доступное для покупки на указанную сумму, отобразится в соответствующем поле.
В текущей реализации возможности настроить такое поведение не предусмотрено.
Мы можем зарегистрировать пожелание на доработку функционала Рабочего места QUIK - возможность настроить умолчательные значения для параметров "Срок действия", "Время действия" при вводе стоп-заявок. Уточните, пожалуйста, регистрируем пожелание с такой формулировкой?
В представленной инструкцию подробно описаны шаги, необходимые для установления связи Рабочего места QUIK с источником ODBC и запуска экспорта данных. Если на каком-либо из шагов у Вас возникли затруднения или вопросы, уточните, пожалуйста, что именно Вам не удается сделать.
В Приложении к Разделу 6 Руководства пользователя QUIK представлены форматы параметров в таблицах QUIK. Выбрать наименования для параметров в таблице БД Вы можете самостоятельно, с учетом представленных в инструкции общих рекомендаций (не использовать для названия полей таблиц зарезервированные слова, например, «money», «group», «order», «number», «date» и т.п.). Мы можем предложить Вам зарегистрировать пожелание на дополнение руководства пользователя и добавление в Приложение "Форматы данных для настройки экспорта через ODBC" списка возможных наименований полей в таблицах БД. Уточните, пожалуйста, регистрируем такое пожелание?
Цитата
Игорь написал: ПРИ ПОПЫТКЕ ЭКСПОРТА ПЕРИОДИЧЕСКИ ВЫСКАКИВАЮТ ОШИБКИ В ВИДЕ ОГРАНИЧЕНИЙ (БОЛЕЕ 50 ОКОН ОТКРЫТО) КАКИХ ОКОН НЕ ПОНЯТНО?
Просим Вас прислать скриншот описанной ошибки. Также просим уточнить, появляются ли какие-либо сообщения об ошибках при нажатии кнопки "Начать вывод данных"?
Уточните, пожалуйста, доступен ли в Рабочем месте QUIK созданный Вами ODBC-источник, удается ли присоединиться к нему и получить список доступных таблиц? Какой-либо дополнительной инструкции по настройке вывода данных по ODBC нет. Просим Вас уточнить, на каком именно шаге существующей инструкции Вы столкнулись с трудностями.
Цитата
Игорь написал: будут ли писаться данные если первоначально всем полям задать значение VARCHAR(250) а потом уже изменить значение в самой БД?
Нет, таблица базы данных, предназначенная для экспорта, должна повторять структуру исходной таблицы QUIK, для каждого параметра должен быть задан определенный тип значений и размер поля. Перечень параметров и типов данных в них приведен в Руководстве пользователя QUIK.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
В bat-файл записывается последовательность команд, которые выполняются при открытии данного файла. В некоторых случаях в дистрибутив Рабочего места QUIK помещается bat-файл для "чистого" запуска терминала, который сначала удаляет некоторые .dat и .log файлы в директории с терминалом, а затем выполняет запуск самого .exe приложения QUIK.
Уточните, пожалуйста, не открываете ли Вы подобный файл для запуска терминала? Если запустить info.exe в папке с терминалом, будет ли выводиться сообщение об отсутствии справочников?
Функция getParamEx() принимает на вход 3 параметра: class_code (код класса), sec_code (код инструмента), param_name (наименование параметра из Таблицы текущих торгов).
Посмотреть код класса и код инструмента можно в Рабочем месте QUIK, открыв окно информации об инструменте (ПКМ по интересующему инструменту в Таблице текущих торгов / Информация об инструменте, или сочетание Alt+I).
В текущей реализации Рабочего места QUIK возможно ограничить отображаемый диапазон данных (Редактирование настроек графика / Диаграмма / Свойства диаграммы - Диапазон данных). Таким образом, при изучении истории движения цен Вы можете вывести на графике информацию до определенного периода, что исключит отображение направления индикаторов к "будущим" свечам.
Сообщения говорят о том, что исполнение стоп-заявки привело к порождению лимитированной заявки с ценой 0.00, из-за чего она была отвергнута торговой системой. Возможно, при создании стоп-заявки было указан слишком большое значение защитного спреда, рекомендуем проверить данное предположение. Если указанная проверка не позволит обнаружить каких-либо критичных ошибок, просим Вас уточнить, с какими параметрами была отправлена транзакция на ввод стоп-заявки.
Ваше пожелание (повышение контрастности вкладок и выделение вкладок цветом) уже было зарегистрировано ранее, 31.10.2022. К сожалению, на данный момент решение о реализации данного пожелания еще не принято.
На данный момент ввод заявки с признаком "Только пассивная" с помощью функции sendTransaction возможен при использовании универсального формата транзакций. Чтобы получить необходимое описание в данном формате, Вы можете ввести требуемую транзакцию в "Кармане транзакций" и сохранить ее в .tri-файл, после чего использовать полученные параметры в вызове sendTransaction.
Скорее всего, Вы столкнулись с блокировкой загруженного из Интернета .chm-файла операционной системой. Для доступа к содержимому откройте свойства файла QLUA.chm и на вкладке "Общие" в разделе "Осторожно (Этот файл был получен с другого компьютера...)" отметьте "Разблокировать".
Правильно понимаем, что речь по-прежнему идет о Рабочем месте QUIK версии 8.13? В таком случае рекомендуем Вам выполнить обновление и проверить, будет ли воспроизводиться описанный эффект в актуальной версии приложения.
Статус условной заявки "Исполнена" говорит о том, что были выполнены указанные ценовые условия и выставлена биржевая заявка (лимитированная или рыночная). Снять заявку со статусом "Исполнена" нельзя.
QPILE может отправить любую транзакцию, если известно ее описание. Вы можете получить описание транзакции на ввод алго-заявки с помощью кармана транзакций - необходимо сформировать в кармане транзакций необходимую транзакцию, а затем загрузить транзакцию в tri-файл (см. Раздел 6. Совместная работа с другими приложениями / Импорт транзакций / Универсальный формат файла импорта транзакций).
В QLua для отправки транзакций используется функция sendTransaction(). Подробнее об интерпретаторе QLua и его использовании Вы можете узнать в соответствующей документации.
Скрипт, непосредственно используемый Вами, необходим для дальнейшего изучения вопроса по данному обращению. Просим Вас предоставить запрошенную ранее информацию.
Данное сообщение говорит о том, что транзакция была успешно отправлена на сервер QUIK, но не прошла проверку лимитов на сервере из-за попытки открыть короткую позицию по инструменту, для которого запрещены маржинальные продажи.
Рекомендуем Вам убедиться, что все параметры транзакции (торговый счет, код клиента, инструмент и код класса) указаны корректно и по указанному инструменту у Вас действительно есть открытая позиция. Если каких-либо ошибок в описании транзакции не обнаружится, просим Вас также проверить возможность подачи такой же заявки с помощью sendTransaction в версии Рабочего место QUIK, с которой Вы работали ранее (8.3).
Просим Вас после выполнения предложенных действий сообщить результат.
Установить срок действия "До отмены" возможно для условных заявок. Для подачи стоп-заявки со сроком действия "До отмены" необходимо указать в описании транзакции параметр EXPIRY_DATE со значением "GTC". Список всех параметров транзакции и их возможных значений представлен в Руководстве пользователя Рабочего места QUIK (Раздел 6. Совместная работа с другими приложениями / Импорт транзакций / Фиксированный формат файла импорта транзакций).
Проблема с выводом по ODBC численных значений более 10^15 была исправлена в Рабочем месте QUIK версии 8.2.1. Рекомендуем Вам выполнить обновление до актуальной версии QUIK, поддерживаемой Вашим брокером.
Реализация Lua-машины такова, что перед входом в главный цикл интерпретатора объект синхронизации захватывается и отпускается только в некоторых случаях, например, при вызове внешних функций (в частности, sleep). Рекомендуем использовать вызов функции sleep() внутри цикла, чтобы исключить зависание приложения.
Просим Вас уточнить следующую информацию: 1) в какой версии Рабочего места QUIK столкнулись с описанным поведением; 2) в какой версии Администратора источника данных ODBC выполнялись создание и настройка источника; 3) какой драйвер используется ODBC-источником; 4) какой тип данных, размер указан в БД для поля "Номер заявки".
Воспроизвести описанное поведение у себя не удалось. Просим Вас сделать копию Рабочего места QUIK (без файлов pubring.txk, secring.txk, если используется аутентификация по ключам), в котором наблюдается данный эффект. Вы можете загрузить архив терминала на любой удобный Вам файлообменный сервис и отправить ссылку на файл на нашу почту quiksupport@arqatech.com.
в пользовательской документации, действительно, отсутствуют описания функций TRANS2QUIK_SEND_SYNC_TRANSACTION_EX, TRANS2QUIK_ORDER_QTY_SCALE, TRANS2QUIK_TRADE_QTY_SCALE, TRANS2QUIK_TRANSACTION_REPLY_QTY_SCALE. Остальные функции описаны в разделе "Функция TRANS2QUIK_TRANSACTION_REPLY_CALLBACK".
Мы добавим описания недостающих функций в одной из очередных версий программы.
Причина данной проблемы установлена и будет устранена в одной из ближайших версий библиотеки qlua. В качестве временного решения рекомендуем перед вызовом ds:Close() для закрытия таблицы устанавливать пустую функцию обратного вызова с помощью ds:SetEmptyCallback().
Причина данной проблемы установлена и будет устранена в одной из ближайших версий библиотеки qlua. В качестве временного решения рекомендуем перед вызовом ds:Close() для закрытия таблицы устанавливать пустую функцию обратного вызова с помощью ds:SetEmptyCallback().
Для отправки транзакции с помощью sendTransaction необходимо указать ее параметры в фиксированном формате. Описание фиксированного формата доступно в Руководстве пользователя Рабочего места QUIK: Раздел 6. Совместная работа с другими приложениями / Импорт транзакций / Фиксированный формат файла импорта транзакций / Формат .tri-файла с параметрами транзакций.
Просим Вас уточнить, какие настройки получения данных установлены в Вашем Рабочем месте QUIK: - Основные настройки (F9) / Программа / Получение данных / Котировки; - Основные настройки (F9) / Программа / Получение данных /Обезличенные сделки.
Состояние стоп-заявки "Исполнена" говорит о том, что указанные ценовые условия были достигнуты и в торговую систему отправлено поручение на выставление биржевой заявки (лимитированной или рыночной). Заключение сделки и соответствующее изменение позиций по счету происходит в результате исполнения биржевой сделки.
Судя по прикрепленному Вами скриншоту, исполнение стоп-заявки с номером 10 868 329 привело к подаче заявки с номером 1 925 044 422 702 042 051 - можно проверить значения параметров "Номер заявки" в Таблице стоп-заявок и "Стоп-заявка" в Таблице заявок. Заявка с номером 1 925 044 422 702 042 051 впоследствии же была снята и не привела к заключению какой-либо сделки.
Ознакомиться с описанием функций Trans2QUIK Вы можете в Руководстве пользователя Рабочего места QUIK: Раздел 6. Совместная работа с другими приложениями / Импорт транзакций через API / Функции для работы с транзакциями через API.