Академический Документы
Профессиональный Документы
Культура Документы
Краткая инструкция
по языку QPILE
© СМВБ-информационные технологии, август 2008
Содержание
1. Введение 1
2. Первые шаги. Как начать писать программу 1
3. Описание языка QPILE 3
4. Загрузка программы 4
5. Советы по программированию 6
6. Часто задаваемые вопросы 6
1. Введение
Программу на языке QPILE можно написать в любом текстовом редакторе. Наиболее удобными
в этом плане являются программы: FAR (с плагином Colorer) и Notepad++ (с установленным
синтаксисом QPILE). Файлы с кодом программы должны иметь стандартное расширение *.QPL.
Условно любую программу на QPILE можно поделить на три обязательных раздела: заголовок
программы, тело программы и описание столбцов таблицы. В коде программы эти разделы должны
идти друг за другом и именно в такой последовательности.
Для начала необходимо задать значения параметров в заголовке программы:
1. PORTFOLIO_EX – название программируемой таблицы;
2. DESCRIPTION – текстовое описание таблицы (краткое пояснение о том, что делает данный
код);
Любая программа на языке QPILE должна содержать как минимум один параметр (столбец
таблицы). Данные параметры могут быть как строкового, так и числового типа. Следует учесть, что
вывод данных в программируемую таблицу не является обязательным. Каждый параметр в коде
программы описывается следующими строками:
• PARAMETER - название параметра, которое должно соответствовать названию ключа в MAP-
массиве;
• PARAMETER_TITLE - название параметра, отображаемое в созданной таблице;
• PARAMETER_DESCRIPTION - расширенное описание параметра;
• PARAMETER_TYPE - тип данных, выводимых в данный параметр.
Описание параметра всегда завершается оператором END. Пример описания двух столбцов
различных типов:
Далее, после описания всех параметров таблицы следует последний оператор END_PORTFOLIO_EX.
На сайте www.quik.ru в разделе «Файловый архив» выложены примеры программ на языке QPILE
(данный архив также включен в состав Руководства пользователя системы QUIK). Представленные
программы являются примерами кода на языке QPILE и могут использоваться в качестве основы
для пользовательских программ.
Полное описание всех функций, используемых в языке QPILE, приведено в Разделе 8. Руководства
пользователя системы QUIK. Ниже рассмотрены наиболее часто используемые функции и
операторы.
Для вывода информации в программируемую таблицу используется функция ADD_ITEM.
Необходимо предварительно сформировать MAP-массив, в котором будут содержаться выводимые
значения. Ключи в MAP-массиве должны соответствовать названиям параметров (столбцов)
таблицы, описанных в поле PARAMETER. Рассмотрим простой пример использования данной
функции.
В приведенном ниже примере описаны два столбца: SecCode и LastPrice. Тело программы
начинается со строки DELETE_ALL_ITEMS. С помощью данной функции из программируемой
таблицы будут удаляться старые строки. Далее создается MAP-массив с идентификатором «mp».
Переменной «last_price» присваивается значение параметра «Цена последней сделки» из Таблицы
текущих параметров. Значения в массив «mp» записываются с помощью функции SET_VALUE.
В итоге в массиве будут храниться значения с ключами: SecCode и LastPrice («Код бумаги» и «Цена
последней сделки» соответственно). Функция ADD_ITEM добавляет в программируемую таблицу
строку со значениями ассоциативного массива «mp». В итоге, в таблице будет отображаться одна
строка, которая будет обновляться при каждом расчёте портфеля.
4. Загрузка программы
В окне «Доступные портфели» будут отображены все загруженные на данный момент портфели.
Нажатием кнопки «Добавить» или «Добавить все» из списка «Доступные параметры» нужно
сформировать заголовки столбцов пользовательской таблицы и затем нажать кнопку «Да».
В результате загрузки портфеля сформируется пользовательская таблица (OWN) с выбранными
параметрами. Если в теле программы будет найдена ошибка, то расчёт портфеля прервётся.
В появившемся окне сообщений будут указаны имя файла и номер в строки, в которой была
найдена ошибка.
• У меня стоит период расчёта портфеля 5 секунд, что будет, если сам портфель будет
рассчитываться более пяти секунд?
Период расчёта (в данном случае — 5 секунд) определяет интервал между расчётами
портфеля. Отсчёт этого времени начинается после окончания расчёта портфеля.
• Если задать параметр «interval» в функции GET CANDLE как дневной (недельный, месячный),
то какое значение должен принять параметр «Time»?
Параметр «Time» нужно задавать равным нулю.