Функции

  • Общие положения
  • Функции языка QPILE
  •  

    Общие положения

    1. Описания функций могут находиться в любом месте программы.
    2. Все функции должны иметь различные имена – перегрузка по типу параметров и их количеству не осуществляется.
    3. Функции могут возвращать значение с помощью переменной с именем «RESULT».
    4. Все параметры передаются в функции по значению.
    5. Функция может являться процедурой. В этом случае в месте вызова такой функции не используется возвращаемое значение, и присваивание переменной с именем «RESULT» внутри такой функции не обязательно.
    6. Для выхода из тела функции может использоваться оператор «RETURN».

    1. В описании синтаксиса функций, возвращающих или принимающих переменную любого типа, для обозначения применяется тип «ANY».
    2. Таблица, создаваемая при расчете программы, обозначается «OWN».

    Функции, определенные пользователем, имеют следующий синтаксис:

    FUNC функция (список 
    аргументов)
    последовательность инструкций
    END FUNC

    В операторе «END FUNC» допускается только один пробел.

    Пример:

    FUNC ignore_negative(x)
    
    If x > 0
    RESULT =x
    Else
    RESULT = 0
    End If
    END FUNC

    Функции языка QPILE

    Стандартные функции языка QPILE предназначены для работы со структурными типами переменных и получения значений из таблиц QUIK.

    Функция Назначение
    NEW_GLOBAL Инициализация глобальной переменной
    MESSAGE Вывод текста в Окне сообщений

    Математические функции

    ABS Модуль
    ACOS Арккосинус
    ASIN Арксинус
    ATAN Арктангенс
    CEIL Округление вверх
    COS Косинус
    EXP Экспонент
    FLOOR Округление вниз
    LOG Логарифм
    POW Возведение в степень
    RAND Случайное число
    RANDOMIZE Генерация случайных чисел
    SIN Синус
    SQRT Квадратный корень числа
    TAN Тангенс

    Функции для работы с коллекциями объектов

    CREATE_COLLECTION Определение коллекции
    GET_COLLECTION_COUNT Количество элементов в коллекции
    REMOVE_COLLECTION_ITEM Удаление элемента коллекции
    INSERT_COLLECTION_ITEM Вставка элемента коллекции
    SET_COLLECTION_ITEM Замена значения элемента коллекции
    GET_COLLECTION_ITEM Чтение значения элемента коллекции

    Функции для работы с ассоциативными массивами

    CREATE_MAP Определение массива
    SET_VALUE Добавление нового элемента в массив
    GET_VALUE Чтение значения элемента из массива

    Функции для обращения к строкам произвольных таблиц QUIK

    GET_ITEM Строка с указанным номером из таблицы QUIK
    GET_NUMBER_OF Количество записей в указанной таблице QUIK

    Функции для обращения к спискам доступных параметров

    GET_CLASSES_LIST Список кодов классов, доступных в текущем сеансе связи
    GET_CLASS_SECURITIES Список кодов инструментов для заданного списка классов
    GET_SECURITY_INFO Информация по инструменту с определенным кодом из заданного класса

    Функции для работы с программируемой таблицей

    ADD_ITEM Добавление новой строки в таблицу
    MODIFY_ITEM Изменение указанной строки таблицы
    DELETE_ITEM Удаление указанной строки таблицы
    DELETE_ALL_ITEMS Очистка всех значений таблицы
    SET_ROW_COLOR Указание цвета подсветки для строки таблицы
    SET_ROW_COLOR_EX Указание цвета фона и шрифта для строки таблицы

    Функции для получения значений Таблицы текущих торгов

    GET_PARAM* Получение значений из Таблицы текущих торгов
    GET_PARAM_EX Получение всех значений из Таблицы текущих торгов

    Функции для получения значений Окна котировок

    GET_QUOTES_II_LEVEL_DATA Получение значений из Таблицы котировок

    Функции для получения значений таблицы «Позиции по инструментам» *

    DEPO_OPEN_BALANCE Входящий остаток по инструментам
    DEPO_OPEN_LIMIT Входящий лимит по инструментам
    DEPO_CURRENT_BALANCE Текущий остаток по инструментам
    DEPO_CURRENT_LIMIT Текущий лимит по инструментам
    DEPO_LIMIT_AVAILABLE Доступное количество инструментов
    DEPO_LIMIT_LOCKED Заблокированное Количество лотов инструментов
    DEPO_LIMIT_LOCKED_BUY Количество лотов инструментов, заблокированных на покупку
    DEPO_LIMIT_LOCKED_BUY_VALUE Стоимость инструментов, заблокированных на покупку

    Функции для получения значений таблицы «Позиции по деньгам» *

    MONEY_OPEN_BALANCE Входящий остаток по денежным средствам
    MONEY_OPEN_LIMIT Входящий лимит по денежным средствам
    MONEY_CURRENT_BALANCE Текущий остаток по денежным средствам
    MONEY_CURRENT_LIMIT Текущий лимит по денежным средствам
    MONEY_LIMIT_AVAILABLE Доступное количество денежных средств
    MONEY_LIMIT_LOCKED Заблокированное в заявках на покупку количество денежных средств

    Функции расчета маржинальных позиций

    SHORT_VALUE Стоимость всех коротких значений
    LONG_VALUE Стоимость всех длинных позиций

    Функции получения значений таблиц «Клиентский портфель» и «Купить/Продать»

    GET_CLIENT_MARGINAL_PORTFOLIO_INFO Значения параметров таблицы «Клиентский портфель»
    GET_CLIENT_MARGINAL_BUY_SELL_INFO Значение параметров таблицы «Купить/Продать»

    Функции для работы с файлами

    CLEAR_FILE Очистить файл
    WRITE Записать строку в конец файла
    WRITELN Записать строку с переводом строки в конец файла
    GET_FILE_LEN Количество строк в файле
    READ_LINE Прочитать из файла строку с заданным номером

    Функции для работы со строками

    LEN Количество символов в строке
    TRIM Отсечение пробелов в конце строки
    SUBSTR Подстрока
    FIND Поиск в строке позиции подстроки

    Функции для работы с графиками

    GET_CANDLE Значения цен и объемов (OHLCV) «свечи» на графике и ее индикаторов
    GET_CANDLE_EX Значения цен и объемов (OHLCV) «свечи» на графике и ее индикаторов, состоящих из нескольких линий

    Функции для работы с заявками

    SEND_TRANSACTION Ввод новой заявки

    Функции для работы с метками

    ADD_LABEL Добавить метку
    DELETE_LABEL Удалить метку
    DELETE_ALL_LABELS Удалить все метки
    GET_LABEL_PARAMS Получить параметры метки
    SET_LABEL_PARAMS Задать параметры метки

    Сервисные функции

    GET_TRADE_DATE Дата текущей торговой сессии
    GET_DATETIME Текущие дата и время
    APPLY_SCALE Округление с заданной точностью
    IS_CONNECTED Определить состояние подключения клиенткого места к серверу
    GET_INFO_PARAM Позволяет получить параметры для информационного окна (Связь / Информационное окно)
    BREAKPOINT Позволяет прервать выполнение программы и вызвать окно «Отладка»

    * - функции предыдущей версии языка QPILE, сохраненные для совместимости. Значения, возвращаемые этими функциями, также могут быть получены чтением строки таблицы функцией «GET_ITEM» и выборкой из нее значения функцией «GET_VALUE».

    Функции предыдущих версий, поддержка которых прекращена: