В структуре заявки, передаваемой в функцию 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".