Инструменты пользователя

Инструменты сайта


atf:функции_по_версиям

Функции ATF по версиям

ATF 1.20

  • EMPTY_STATLINE_PARAM - константа, присваиваемая параметрам объекта statline, не полученным от сервера.
  • subscribeTicks(sec_id, board_id) - подписаться на сделки
  • unsubscribeTicks(sec_id, board_id) - отписаться от сделок
  • getTick(sec_id, board_id) - получить структуру сделки
  • onTick(sec_id, board_id, price, trdid) - событие рыночной сделки по подписанному инструменту
  • В структуре заявки, передаваемой в функцию trade_action::transact теперь так же можно передавать поле board. При его отсутствии будет взят либо текущий борд (если заявка по бумаге, к которой привязан робот), либо произвольный борд, допускающий выставление обыкновенных зявок.
  • statline.subscribe_byboard(secid, boardid) - подписаться на статистику по бумаге в заданном режиме торгова
  • statline.getparam_byboard(secid, boardid, param) - получить параметр param по бумаге в заданном режиме торгов
  • statline.unsubscribe_byboard(secid, boardid) - отписаться от статистике по бумаге в заданном режиме
  • book.setboard(boardid) - установить режим торгов для получения стакана

ATF 1.19

  • Поле balance (неудовлетворенный объем) в струкруте заявки.
  • strfind(str1, str2) - поиск подстроки str2 в строке str1. Возвращается номер позиции либо -1, если не найдено.
  • strfind(str1, str2, from) - поиск подстроки str2 в строке str1 начиная с позиции from. Возвращается номер позиции либо -1, если не найдено.
  • strfind(str1, str2, from, to) - поиск подстроки str2 в строке str1 начиная с позиции from вплоть до позиции to. Возвращается номер позиции либо -1, если не найдено.
  • split(str) - разбить строку по пробельным символам (результатом вычисления будет массив)
  • split(str, sep) - разбить строку по символу sep (результатом вычисления будет массив)
  • split2hash(str) - разбить строку в хещ. Поля хеша разделяются переносами на новую строку, символами ';' и ',', ключ от значения отделяется символами '=' либо ':». Ведущие и конечные пробельные символы в ключах и значениях обрезаются.
  • split2hash(str, assign_key, sep_key) - разбить строку в хеш, используя для разбиения записей sep_key и для отделения ключа от значения assign_key. Ведущие и конечные пробельные символы в ключах и значениях будут удалены.
  • lstrip(str) - удалить начальные пробелы в строке
  • lstrip(str, symbols) - удалить из начала строки str все символы, содержащиеся в строке symbols
  • rstrip(str) - удалить конечные пробелы в строке
  • rstrip(str, symbols) - удалить из конца строки str все символы, содержащиеся в строке symbols
  • strip(str) - удалить начальные и конечные пробелы в строке
  • strip(str, symbols) - удалить из начала и конца строки str все символы, содержащиеся в строке symbols
  • getMarket() - получить структуру с информацией о рынке для текущего инструмента
  • getMarket(id) - получить структуру с информацией о рынке с идентификатором id
  • getMarket(literal) - получить структуру с информацией о рынке с именем literal
  • getSecInfo(id) - получить структуру инструмента с идентификатором id
  • findSecID(isin, market_id) - получить идентификатор бумаги с заданным isin и идентификатором рынка
  • findSecID(isin, market_literal) - получить идентификатор бумаги с заданным isin и литералом рынка
  • INVALID_SEC_ID - предопределенная константа, используемая в случае, когда идентификатор бумаги не найден или неизвестен.
  • round(x) - округление числа x
  • make_array(…) - быстрое создание массива из переданных в функцию параметров
  • rand_int(to) - случайное целое число от 0 до to включительно
  • rand_int(from, to) - случайное целое число от from до to включительно
  • rand_uniform() - случайное число в диапазоне [0; 1]
  • rand_uniform(to) - случайное число в диапазоне [0;to]
  • rand_uniform(from, to) - случайное число в диапазоне [from;to]
  • rand_normal() - случайное число из стандартного нормального распределения
  • rand_normal(sigma) - случайное число из нормального распределения с нулевым матожиданием и заданным СКО
  • rand_normal(mean, sigma) - случайное число из нормального распределения с заданными матожиданием и СКО
  • requestClientLimits(client) - запросить позиции клиента client (когда они придут асинхронно, будет сгенерировано событие окружения CLIENT_LIMITS)
  • getClientLimits(client) - получить хеш лимитов для клиента client

ATF 1.18

  • операторы break и continue
  • Поле brokerref в структурах обычной заявки и сделки
  • Поля sl_brokerref и tp_brokerref в структуре стоп-заявок
  • getMaxBrokerRefLen() - максимальная длина примечания brokerref для данного клиента и инструмента
  • getMaxBrokerRefLen(sec, client) - максимальная длина примечания для бумаги sec и клиента client
  • поле message в структуре заявок и стоп-заявок, которые содержат текстовое описание ошибки, если сервер его прислал
  • функции trade_action::* теперь сразу синхронно отправляют запрос на сервер в момент вызова и возвращают в качестве результата идентификатор выставленной транзации trnid, если она выставилась и 0 в противном случае (в этом случае через getLastErrorMessage можно получить текстовое описание ошибки)
  • функции снятия теперь снимают заявки синхронно и возвращают в качестве результата строку с описанием ошибки, если ошибка произошла, в противном случае возвращается пустая строка
  • getLastErrorMessage() - последнее сообщение об ошике в ATF (на данный момент распространяется на ошибки выставляния и снятия транзакций)
  • событие onATFOrderErr() более не поддерживается - вместо него следует использовать либо синхронный ответ, возвращаемый функциями trade_action:: и с помощью getLastErorrMessage(), либо поле message в структуре заявки
  • Постепенно прекращается поддержка функций onATFOrder, onClientOrder, onATFStopOrder и onClientStopOrder. В текущей версии они доступны, но означают одно и то же и в каждом скрипте может быть определена лишь одна функция из набора onATFOrder, onClientOrder и onOrder, а так же лишь одна функция из набора onATFStopOrder, onATFClientOrder и onStopOrder. Использовать следует лишь onOrder и onStopOrder, остальные функции сохранены лишь в качестве временной поддержки обратной совместимости (планируется убрать из совсем начиная версией ATF 1.21)

ATF 1.17

  • hash.erase(key) - удалить элемент с именем key
  • hash.haskey(key) - проверят наличие элемента с заданным ключем
  • hash.keys() - возвращает массив ключей
  • hash.values() - возвращает массив значений
  • statline.subscribe() - подписаться на показатели торгов по текущей бумаге
  • statline.subscribe(id) - подписаться на показатели торгов по бумаге идентификатором id
  • statline.subscribe(shortname, market) - подписаться на показатели торгов по имени бумаги и рынку
  • statline.unsubscribe() - отписаться от показателей торгов по текущей бумаге
  • statline.unsubscribe(id) - отписаться от показателей торгов по бумаге с идентификатором id
  • statline.unsubscribe(shortname, market) - отписаться от показателей торгов по бумаге с именем shortname на рынке market
  • statline.getparam(param) - получить параметр param для текущей бумаги
  • statline.getparam(id, param) - получить параметр param для бумаги с идентификатором id
  • statline.getparam(shortname, market, param) - получить параметр param для бумаги shortname на рынке market
  • константы, кодирующие параметры инструмента
  • getLastTradeDirection() - направление последний сделки ('B' - удовлетворена зявка на покупку, 'S' - на продажу; в противном случае неизвестно)
  • добавлено поле secid в структуре заявки, стоп-заявки и сделки
  • getAllTradeIDs() - получить массив идентификаторов всех клиентских сделок
  • getAllTradeIDsBySec() - получить массив идентификаторов всех клиентских сделок по текущей бумаге
  • getAllTradeIDsBySec(id) - получить массив идентификаторов всех клиентских сделок по бумаге с идентификатором id
  • onKeyDown(id) - событие нажатия на кнопку клавиатуры
  • isKeyPressed(id) - проверяет статус нажата ли кнопка клавиатуры
  • chr2num(x) - преобразование символа к ANSI-коду
  • num2chr(n) - преобразование ANSI-кода к символьному виду
  • константы, соответствующие функциональным клавишам клавиатуры
  • поле pointcost в структуре, возвращаемой getSecInfo()

ATF 1.16

  • возможность вызывать диалог ввода заявки (поле confirm_dialog в структуре заявки)
  • book.setsec(id) - подписываться на стакан по бумаге с заданным id
  • book.setsec(shortname, market) - подписываться на стакан по бумаге shortname на рынке market (рынок задается числовым идентификатором)
  • getOrder(hash) - в качестве аргумента теперь можно передавать хэш с полями trnid или orderno.
  • Короткие вычисления логических выражений
  • Функции onOrder, onStopOrder и onTrade вместо старый (onATFOrder, onClientOrder, onATFStopOrder, onClientStopOrder, onATFTrade и onClientTrade). Старый функции будут поддерживаться до версии ATF 1.20.
  • Поле comission в структуре trade.
  • setHistColor(color, i) - установить цвет бара гистограммы со смещением i
  • setHistColor(color) - установить цвет текущего бара гистограммы
  • getHistColor() - получить цвет текущего бара гистограммы
  • getHistColor(i) - получить цвет бара гистограммы со смещением i
  • RGB(red, green, blue) - получить цвет из представления RGB
  • array.sort() - сортировка массива
  • array.descsort() - сортировка массива в обратном порядке
  • raw_data.define(type, num) - определение внутреннего представления объекта raw_data. Подробнее смотрите статью "Вызов функций DLL".
  • raw_data.get() - получение данных объекта raw_data в виде обычной переменной (если выделено памяти лишь на один объект), либо в виде массива. Подробнее смотрите статью "Вызов функций DLL".
  • raw_data.set(type, data) - инициализация внутреннего представления объекта raw_data. Подробнее смотрите статью "Вызов функций DLL".

ATF 1.15 (позиции FORTS)

Основная статья

  • getFORTSMoney(client) - денежная позиция FORTS по клиенту client
  • getFORTSPosition(client, sec) - позиция на FORTS по бумаге sec для клиента client
  • requestFORTSPositions(client) - запросить позицию FORTS по клиенту client

ATF 1.14

Работа с таймером

Основная статья

  • delTimer(id) - Удаляет таймер с заданным идентификатором. Если идентификатор не задан, удаляются все таймеры для данного индикатора.
  • setTimer(f, time, type) - устанавливает таймер на вызов фукнции f (она должна быть определена пользователем в коде).
  • delTimer(id) - Удаляет таймер с заданным идентификатором. Если идентификатор не задан, удаляются все таймеры для данного индикатора.

Тестирование стратегий

Основная статья

  • isTestingMode() - Проверяет работает ли скрипт в режиме тестирования стратегий или нет.
  • onTestFinished() - событие завершения тестирования торговой системы
  • setReportValue(x, y) - устанавливает значение поля x (строка) в значение y (число) в отчете о тестировании.

DLL

Основная статья

  • dll_wrapper.call(funcname, format, args…) - вызвать функцию dll funcname с аргуметами, описынными в строке format.
  • dll_wrapper.load(name) - загрузить dll с заданным именем
atf/функции_по_версиям.txt · Последние изменения: 2013/09/02 14:21 — heller