- QPILE
-
QPILE
QPILE (аббрев. QUIK Programmable Interface and Logic Environment) — внутренний интерпретируемый командный язык торгового терминала QUIK (разработчик ARQA Technologies).
Изначально язык задумывался как средство расчета собственных показателей на основе уже существующих таблиц данных. Однако, с течением времени, прислушавшись к пожеланиям пользователей, разработчики значительно расширили набор используемых команд.
Содержание
Возможности языка
В текущей версии языка QPILE доступны следующие категории команд:
- Обращение к строкам произвольных таблиц;
- Обращение к спискам доступных параметров;
- Работа с программируемой таблицей;
- Получение значений таблицы Текущих значений параметров;
- Получение значений Окна котировок;
- Функции расчета маржинальных позиций;
- Получение значений таблиц «Клиентский портфель» и «Купить/Продать»;
- Работа с файлами;
- Работа с графиками, в том числе c графическими метками;
- Работа с заявками (трансакциями);
- Функции для работы с внутренними типами данных (числами, строками, коллекциями, map-массивами);
- Сервисные функции (мат. вычисления, дата/время, состояние подключения и т. д.).
Области применения QPILE
Прежде всего QPILE разрабатывался для вывода поставляемых биржевых данных в удобной форме с добавлением собственных расчетных индикаторов.
С появлением функций отправки заявок стало возможным написание программ-помощников, таких например как, . Отличительной особенностью этих программ являлась возможность выставления заявок в соответствии с быстроменяющимися условиями рынка.
Позднее функционал таких программ перерос в полноценных торговых роботов, которые в автоматическом режиме могли анализировать рынок и совершать сделки.
Введение возможности работы с графическими метками позволило создавать некое подобие экспертных систем.
Такие системы могут анализировать графическую и не только информацию и давать подсказки трейдеру в виде графических меток (например, «покупка» или «продажа»).Особенности QPILE программ
Главной особенностью QPILE программ является то, что весь набор команд, составляющий программу, исполняется торговым терминалом QUIK с определенной частотой (не чаще 1 раза в секунду).
Если интерпретатор не успел исполнить все команды за отведенное время, следующая итерация не начнет выполняться пока не будет выполнена предыдущая.
Именно поэтому в синтаксисе языка отсутствуют бесконечные циклы (while(true){} и т. д.)
Для удобства работы в QPILE программу обычно включают счетчик итераций, реализуемый через глобальную переменную.
Например так:NEW_GLOBAL("Program_Count", 1) ...Код рабочего блока программы... Program_Count = Program_Count + 1
Используя данный счетчик совместно с IF-блоками, возможно программно понижать частоту исполнения алгоритма или делать паузы нужной длительности.
Пример программы
Программа выводит сообщение «Hello World!» каждые N секунд. Где N заданная в QUIK периодичность запуска программы.
PORTFOLIO_EX HelloWorld; DESCRIPTION Выводим надпись Hello World!; CLIENTS_LIST ALL_CLIENTS; FIRMS_LIST ALL_FIRMS; PROGRAM Message("Hello World!", 1) END_PROGRAM PARAMETER Column; PARAMETER_TITLE Cтолбец1; PARAMETER_DESCRIPTION В этот столбец можно что-то выводить; PARAMETER_TYPE STRING(255); END END_PORTFOLIO_EX
См. также
Ссылки
Wikimedia Foundation. 2010.
QUIK — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете отре … Википедия
Интернет-трейдинг — В этой статье не хватает ссылок на источники информации. Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена. Вы можете … Википедия