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

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


atf:функции_по_назначению

Функции ATF по назначению

DLL

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

  • dll_wrapper.call(funcname, format, args…) - вызвать функцию DLL funcname с аргументами, описанными в строке format.
  • dll_wrapper.load(name) - загрузить DLL с заданным именем name.
  • raw_data.define(type, num) - определение внутреннего представления объекта raw_data.
  • raw_data.get() - получение данных объекта raw_data в виде обычной переменной (если выделено памяти лишь на один объект), либо в виде массива.
  • raw_data.set(type, data) - инициализация внутреннего представления объекта raw_data.

XML-хранилище

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

  • xmlarchive.loadfile(filename) - Считать xml-хранилище с данными ATF
  • xmlarchive.loadglobals() - Загрузить глобальные переменные из хранилища
  • xmlarchive.loadvar(name) - считать из хранилища знаечние с именем name
  • xmlarchive.newdocument(name) - создать новое xml-хранилище с именем name
  • xmlarchive.saveglobals() - сохранить все глобальные переменные
  • xmlarchive.savefile() - сохранить xml-хранилище на диск
  • xmlarchive.savevar(name, value) - сохранить значение value под именем name

Арифметика

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

  • abs(x) - абсолютное значение x
  • acos(x) - арккосинус x
  • as_number(x) - интерпретировать x как номер
  • as_string(x) - интерпретировать x как строку
  • asin(x) - арксинус x
  • atan(x) - арктангенс x
  • ceil(x) - потолок числа x
  • chr2num(x) - преобразование символа к ANSI-коду (ATF 1.17)
  • cos(x) - косинус x
  • countCandles() - количество свечей
  • exp(x) - экспонента x
  • fibon(N) - N-е число Фибоначчи (максимальное значение для N — 45)
  • fibon_range(N) - N-е отношение Фибоначчи.
  • fibonr(N) - N-е отношение Фибоначчи.
  • floor(x) - пол числа x
  • fmod(x, y) - остаток от деления на x на y
  • findMax(line[i], n) - найти максимум линии line[i] от текущей позиции, просматривая n свечей. Функция возвращает смещение максимального значения относительно текущего. (ver 1.10)
  • findMaxValue(line[i], n) - найти максимум линии line[i] от текущей позиции, просматривая n свечей. (ver. 1.10)
  • findMin(line[i], n) - найти минимум линии line[i] от текущей позиции, просматривая n свечей. (ver 1.10)
  • findMinValue(line[i], n) - найти минимум линии line[i] от текущей позиции, просматривая n свечей (ver 1.10)
  • findMax(line[i], n, m) - найти максимум линии line[i], просматривая свечи начиная n и заканчивая m свечей от текущей позиции. Функция возвращает смещение максимального значения относительно текущего. (ver 1.10)
  • findMaxValue(line[i], n, m) - найти максимум линии line[i], просматривая свечи начиная n и заканчивая m свечей от текущей позиции. (ver. 1.10)
  • findMin(line[i], n, m) - найти минимум линии line[i], просматривая свечи начиная n и заканчивая m свечей от текущей позиции. (ver 1.10)
  • findMinValue(line[i], n, m) - найти минимум линии line[i], просматривая свечи начиная n и заканчивая m свечей от текущей позиции (ver 1.10)
  • frac(x) - дробная часть x
  • getCandleByOffset(time) - найти номер свечи, соответствующий указанному сдвигу time во времени относительно текущей свечи.
  • getCandleByTime(time) - найти номер свечи, соответствующий указанному времени time.
  • getCandleTime() - Время текущей свечки
  • getDay(x) - день месяца x
  • getDayOfWeek(x) - день недели x
  • getFormattedDate(time) - получить дату из time во внутреннем формате в виде строки
  • getFormattedDateTime(time) - получить дату и время из time во внутреннем формате в виде строки
  • getFormattedTime(time) - получить время из time во внутреннем формате в виде строки
  • getHour(x) - час x
  • getLastTradeVolume() - получить объем в последней сделке по данной бумаге. (ver. 1.11)
  • getMinute(x) - минута x
  • getMonth(x) - месяц x
  • getSecond(x) - секунда x
  • getServerTime() - получить время сервера
  • getSystemTime() - получить системное время.
  • getTimeObject(hour, minute, day, month, year) - получить заданное время во внутреннем представлении. day, month и year можно опустить (либо year, либо month и year, либо day, month и year), тогда будут подставляться текущие значения
  • getYear(x) - год x
  • int(x) - отбрасывание дробной части x.
  • log(x) - натуральный логарифм x.
  • log(x, y) - логарифм x по основанию y.
  • noCandle() - Вернуть номер текущей свечи.
  • num2chr(n) - преобразование ANSI-кода к символьному виду (ATF 1.17)
  • parseTime(str) - получить время из строки вида «HH:MM:SS dd:mm:yy» (дату можно опускать, тогда будет использовано сегодняшнее число, секунды указывать не обязательно). (ver. 1.11)
  • pow(x, y) - Возведение x в степень y.
  • quotinent(x, y) - частное x и y.
  • sin(x) - синус x.
  • strlen(s) - длина строки s.
  • sqrt(x) - корень квадратный из x.
  • substr(s, pos, count) - Извлечь из строки s подстроку символов длинной count, начиная с символа с номером pos.
  • array.sum() - сложить все элементы массива.
  • array.sum(from, to) - сложить все элементы массива начиная с индекса from и заканчивая индексом to.
  • rand_int(to) - случайное целое число от 0 до to включительно (ATF 1.19)
  • rand_int(from, to) - случайное целое число от from до to включительно (ATF 1.19)
  • rand_normal() - случайное число из стандартного нормального распределения (ATF 1.19)
  • rand_normal(sigma) - случайное число из нормального распределения с нулевым матожиданием и заданным СКО (ATF 1.19)
  • rand_normal(mean, sigma) - случайное число из нормального распределения с заданными матожиданием и СКО (ATF 1.19)
  • rand_uniform() - случайное число в диапазоне [0; 1] (ATF 1.19)
  • rand_uniform(to) - случайное число в диапазоне [0;to] (ATF 1.19)
  • rand_uniform(from, to) - случайное число в диапазоне [from;to] (ATF 1.19)
  • round(x) - округление числа x (ATF 1.19)
  • sumLine(n, from) - Сложить все значения линии n начиная смещением from от текущего.
  • sumLine(n, from, to) - Сложить все значения линии n начиная смещением from от текущего, и заканчивая смещением to от текущего. Если конечное значение to не задано, используется 0 (текущее значение).
  • sumPrice(price_type, from) - Сложить все значения цен типа price_type (pt_close, pt_open, pt_high, pt_low, pt_typical, pt_med, pt_volume, pt_trades) начиная смещением from от текущего до текущего.
  • sumPrice(price_type, from, to) - Сложить все значения цен типа price_type (pt_close, pt_open, pt_high, pt_low, pt_typical, pt_med, pt_volume, pt_trades) начиная смещением from от текущего, и заканчивая смещением to от текущего. Если конечное значение to не задано, используется 0 (текущее значение).
  • tan(x) - тангенс x.

Время

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

  • delTimer(id) - Удаляет таймер с заданным идентификатором. Если идентификатор не задан, удаляются все таймеры для данного индикатора. (ver. 1.14)
  • getCandleByOffset(time) - найти номер свечи, соответствующий указанному сдвигу time во времени относительно текущей свечи.
  • getCandleByTime(time) - найти номер свечи, соответствующий указанному времени time.
  • getCandleTime() - Время текущей свечки
  • getDay(x) - день месяца x
  • getDayOfWeek(x) - день недели x
  • getFormattedDate(time) - получить дату из time во внутреннем формате в виде строки
  • getFormattedDateTime(time) - получить дату и время из time во внутреннем формате в виде строки
  • getFormattedTime(time) - получить время из time во внутреннем формате в виде строки
  • getHour(x) - час x
  • getMinute(x) - минута x
  • getMonth(x) - месяц x
  • getSecond(x) - секунда x
  • getServerTime() - получить время сервера
  • getSystemTime() - получить системное время.
  • getTimeObject(hour, minute, day, month, year) - получить заданное время во внутреннем представлении. day, month и year можно опустить (либо year, либо month и year, либо day, month и year), тогда будут подставляться текущие значения
  • getYear(x) - год x
  • parseTime(str) - получить время из строки вида «HH:MM:SS dd:mm:yy» (дату можно опускать, тогда будет использовано сегодняшнее число, секунды указывать не обязательно). (ver. 1.11)
  • setSystemTime(t) - установить системное время.
  • setTimer(f, time, type) - устанавливает таймер на вызов фукнции f (она должна быть определена пользователем в коде). (ver. 1.14)

Выполнение и взаимодействие скриптов

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

  • IndRef(type, …) - ссылка на произвольный индикатор
  • init() - начала загрузки скрипта
  • isHistoryCalculated() - рассчитаны ли уже исторические данные
  • isTestingMode() - Проверяет работает ли скрипт в режиме тестирования стратегий или нет. (ver. 1.14)
  • isTradingAllowed() - Разрешены ли в данном окне сделки ATF
  • lackHistory() - прекращает выполнение индикатора с сообщением о недостатке исторических данных
  • MovAvg(type, period, data) - ссылка на скользяющую среднюю
  • onHistoryCalculated() - события начала расчета индикатора в реальном времени (окончание расчета истории)
  • onStartRobot() - событие запуска робота (нажание на «красного робота» внизу)
  • onStopIndicator(event) - Событие остановки выполнения скрипта ATF
  • onStopRobot() - событие остановки робота пользователем (нажатие на «зеленого робота» внизу)
  • setBounds(nline, begin, end) - задает границы отрисовки индикаторов. Параметры: nline — номер линии, begin — сдвиг относительно начала, end — сдвиг относительно конца
  • setInitCandles(n) - задает количество начальных свечей, для которых не нужно звать calc()
  • StdDev(type, period, data) - среднеквадратичное отклонение

Заявки и сделки

Статьи по теме: Заявки и сделки, Позиции клиента.

  • calc() - событие сделки на рынке по данному инструменту
  • getActiveOrderIDs() - получить массив идентификаторов всех активных заявок по данной бумаге и активному клиенту. (ver. 1.12)
  • getActiveStopOrderIDs() - получить массив идентификаторов всех активных стоп-заявок по данной бумаге и активному клиенту. (ver. 1.12)
  • getAllOrderIDs() - получить массив идентификаторов всех заявок (включая условные, но за исключением стоп-заявок, по всем клиентам и бумагам, включая исполненные и снятые). (ver. 1.12)
  • getAllStopOrderIDs() - Получить массив идентификаторов всех стоп-заявок (по всем клиентам и бумагам, включая исполненные и снятые). (ver. 1.12)
  • getAllTradeIDs() - получить массив идентификаторов всех клиентских сделок (ATF 1.17)
  • getAllTradeIDsBySec() - получить массив идентификаторов всех клиентских сделок по текущей бумаге (ATF 1.17)
  • getAllTradeIDsBySec(id) - получить массив идентификаторов всех клиентских сделок по бумаге с идентификатором id (ATF 1.17)
  • getTick(id) - получить структуру сделки, произошедшей на рынке (ATF 1.20)
  • book.getAskPosCount() - Количество доступных позиций по продаже в стакане
  • book.getAskPrice(n) - цена в стакане для номера позиции по продаже
  • book.getAskVolume(n) - объем заявок в стакане для номера позиции n по продаже
  • book.getBidPosCount() - Количество доступных позиций по покупке в стакане
  • book.getBidPrice(n) - цена в стакане для номера позиции по покупке
  • book.getBidVolume(n) - объем заявок в стакане для номера позиции n по покупке
  • getBought() - Количество купленных бумаг. Для акций отсчет с начала торговой сессии, для FORTS считаются сделки за весь день и за предыдущую вечернюю сессию.
  • getBoughtMoney() - Количество денег, на которые было куплено активов за текущий день
  • getLastErrorMessage() - Последнее сообщение об ошибке (ATF 1.18)
  • getLastTradeVolume() - получить объем в последней сделке по данной бумаге. (ver. 1.11)
  • getMaxBrokerRefLen() - максимальная длина примечания brokerref для данного клиента и инструмента (ATF 1.18)
  • getMaxBrokerRefLen(sec, client) - максимальная длина примечания для бумаги sec и клиента client (ATF 1.18)
  • getOrder(id) - получить заявку по идентификатору или хэшу (начиная с ATF 1.16), в котором заполнено либо trnid, либо orderno (приоритет для trnid)
  • getStopOrder(id) - получить стоп-заявку по идентификатору
  • getTrade(id) - получить сделку по идентификатору
  • isTradingAllowed() - Разрешены ли в данном окне сделки ATF
  • onATFOrder(id) - событие изменения статуса заявки выставленной роботом; в качестве id передается номер транзакции.(устарело в ATF 1.16)
  • onATFStopOrder(id) - событие изменения статуса стоп-заявки и сделки выставленной роботом; в качестве id передается номер транзакции(устарело в ATF 1.16)
  • onATFTrade(id) - событие совершения сделки, выставленной роботом; в качестве id передается номер транзакции.(устарело в ATF 1.16)
  • onBookChanged() - событие изменения состояния стакана котировок
  • onClientOrder(id) - событие изменения статуса заявки выставленной клиентом; в качестве id передается номер транзакции. (устарело в ATF 1.16)
  • onClientStopOrder(id) - событие изменения статуса стоп-заявки выставленной клиентом; в качестве id передается номер транзакции. (устарело в ATF 1.16)
  • onClientTrade(id) - событие совершения сделки, выставленной клиентом; в качестве id передается номер транзакции. (устарело в ATF 1.16)
  • onOrder(id) - событие изменения статуса заявки или выставления заявки. (ATF 1.16)
  • onStartRobot() - событие запуска робота (нажание на «красного робота» внизу)
  • onStopOrder(id) - событие изменения статуса или выставления стоп-заявки (ATF 1.16)
  • onStopRobot() - событие остановки робота пользователем (нажатие на «зеленого робота» внизу)
  • onTick(secid, boardid, price, trdid) - событие рыночной сделки по подписанному инструменту (ATF 1.20)
  • onTrade(id) - событие совершения сделки (ATF 1.16)
  • shutdownRobots() - запретить выполнение сделок роботами в данном окне
  • subscribeTicks(secid, boardid) - подписаться на сделки (ATF 1.20)
  • trade_action::buy(amount, measure) - купить по рынку. Начиная с версии 1.18 возвращает идентификатор транзакции либо 0 в случае ошибки.
  • trade_action::buy(amount, measure, price) - купить. Начиная с версии 1.18 возвращает идентификатор транзакции либо 0 в случае ошибки.
  • trade_action::buyMultiple(amount, measure, price) - кратная версия buy. Начиная с версии 1.18 возвращает идентификатор транзакции либо 0 в случае ошибки.
  • trade_action::cancelAllOrders() - Снять все заявки по используемой бумаге. Начиная с версии 1.18 в случае ошибки возвращает описание ошибки, в противном случае пустую строку.
  • trade_action::cancelBuyOrders() - Снять заявки на покупку по используемой бумаге. Начиная с версии 1.18 в случае ошибки возвращает описание ошибки, в противном случае пустую строку.
  • trade_action::cancelOrder(order) - Снять заявку. В качестве параметра указывается либо идентификатор заявки, либо сам объект заявки, при этом заявка снимается по номеру, и лишь в случае, если номер заявки не указан, используется идентификатор, записанный в структуре. . Начиная с версии 1.18 в случае ошибки возвращает описание ошибки, в противном случае пустую строку.(ver 1.10)
  • trade_action::cancelOrderByNo(no) - Снять заявку по указанному номеру. . Начиная с версии 1.18 в случае ошибки возвращает описание ошибки, в противном случае пустую строку. (ver. 1.10)
  • trade_action::cancelSellOrders() - Снять все заявки на продажу. Начиная с версии 1.18 в случае ошибки возвращает описание ошибки, в противном случае пустую строку.
  • trade_action::cancelStopOrder(id) - Снять стоп-заявку по идентификатору или по структуре. Начиная с версии 1.18 в случае ошибки возвращает описание ошибки, в противном случае пустую строку. (ver. 1.10)
  • trade_action::sell(amount, measure) - продать по рынку. Начиная с версии 1.18 возвращает идентификатор транзакции либо 0 в случае ошибки.
  • trade_action::sell(amount, measure, price) - продать. Начиная с версии 1.18 возвращает идентификатор транзакции либо 0 в случае ошибки.
  • trade_action::sellMultiple(amount, measure, price) - кратная версия функции sell. Начиная с версии 1.18 возвращает идентификатор транзакции либо 0 в случае ошибки.
  • trade_action::transact(order) - Выставить заявку в соответствии с полями, указанными в хеше. Начиная с версии 1.18 возвращает идентификатор транзакции либо 0 в случае ошибки.
  • trade_action::transactMultiple(order) - кратная версия функции transact. Начиная с версии 1.18 возвращает идентификатор транзакции либо 0 в случае ошибки.
  • unsubscribeTicks(secid, boardid) - отписаться от сделок по инструменту с идентификатором id (ATF 1.20)

Интерфейс

  • getWindowName() - получить имя окна
  • isKeyPressed(id) - проверяет статус нажата ли кнопка клавиатуры (ATF 1.17)
  • setWindowName(str) - задать имя окна

Клиенты

  • getClient() - Идентификатор клиента
  • setClient(id) - Сменить клиента

Массивы

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

  • array.clear() - очистить массив
  • array.erase(n) - Удалить элемент массива под номером n.
  • array.insert(x, n) - вставить элемент x после элемента n в массив
  • array.isempty() - пуст ли массив
  • array.push(x) - добавить элемент x к концу массива
  • array.resize(n) - изменить размер массива
  • array.shift() - удалить первый элемент массива и вернуть его как результат
  • array.size() - размер массива
  • array.sort() - сортировка (ATF 1.16)
  • array.descsort() - обратная сортировка (ATF 1.16)
  • array.sum() - сложить все элементы массива
  • array.sum(from, to) - сложить все элементы массива начиная индексом from и заканчивая to
  • array.unshift(x) - Вставить элемент x в начало массива.

Объекты

  • make_array(…) - быстрое создание массива из переданных в функцию параметров (ATF 1.19)
  • new_object(type) - создать объект

Окружение ATF

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

  • onEnvEvent(event) - событие ATF-окружения
  • postEnvEvent(string) - Вызвать событие ATF-окружение. (ver. 1.12)
  • setEnvVariable(name, value) - выставить переменную ATF-окружения c именем name в значение value (value не может быть объектом). (ver. 1.12)

Отображение

  • getHistColor() - получить цвет текущего бара гистограммы (ATF 1.16)
  • getHistColor(i) - получить цвет бара гистограммы со смещением i (ATF 1.16)
  • RGB(red, green, blue) - получить цвет из представления RGB (ATF 1.16)
  • setHistColor(color) - установить цвет текущего бара гистограммы (ATF 1.16)
  • setHistColor(color, i) - установить цвет бара гистограммы со смещением i (ATF 1.16)

Пересечение линий

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

  • addCrossWatch(lineno) - отслеживать пересечение линии lineno (ver. 1.13)
  • delCrossWatch(lineno) - перестать отслеживать пересечение линии lineno. (ver. 1.13)
  • isCross(a, b) - Проверяет наличие пересечения линий a и b. Возвращает 1, если a пересекает b снизу вверх, -1, если сверху вниз, и 0, если пересечение отсутствует. (ver. 1.13)
  • onApprovedCross(a, b) - событие пересечения линий, происходящее при открытие новой свечи (когда оно уже не может пропасть в результате пересчета)
  • onCross(a, b) - событие пересечения линий индикатора
  • onFalseCross() - событие исчезновения пересечения линий индикатора при пересчете индикатора

Позиции клиента

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

  • getActiveOrderIDs() - получить массив идентификаторов всех активных заявок по данной бумаге и активному клиенту. (ver. 1.12)
  • getActiveStopOrderIDs() - получить массив идентификаторов всех активных стоп-заявок по данной бумаге и активному клиенту. (ver. 1.12)
  • getAllOrderIDs() - получить массив идентификаторов всех заявок (включая условные, но за исключением стоп-заявок, по всем клиентам и бумагам, включая исполненные и снятые). (ver. 1.12)
  • getAllStopOrderIDs() - Получить массив идентификаторов всех стоп-заявок (по всем клиентам и бумагам, включая исполненные и снятые). (ver. 1.12)
  • getBought() - Количество купленных бумаг. Для акций отсчет с начала торговой сессии, для FORTS считаются сделки за весь день и за предыдущую вечернюю сессию.
  • getBoughtMoney() - Количество денег, на которые было куплено активов за текущий день
  • getClientLimits(client) - получить хеш лимитов для клиента client (ATF 1.19)
  • getFORTSMoney(client) - денежная позиция FORTS по клиенту client (ver 1.15)
  • getFORTSPosition(client, sec) - позиция на FORTS по бумаге sec для клиента client (ver 1.15)
  • getMoneyBalance() - Количество свободных средств
  • getMoneyInBuyOrd() - Количество денег, на которые выставлено заявок на покупку (включая комиссию)
  • getSaldoIn() - Количество денег на начало дня
  • getSecBalance() - количество активного финансового инструмента в портфеле
  • getSold() - Количество проданных бумаг. Для акций отсчет с начала торговой сессии, для FORTS считаются сделки за весь день и за предыдущую вечернюю сессию.
  • getSoldMoney() - количество денег, на которые было продано активов за текущий день
  • requestClientLimits(client) - запросить позиции клиента client (когда они придут асинхронно, будет сгенерировано событие окружения CLIENT_LIMITS) (ATF 1.19)
  • requestFORTSPositions(client) - запросить позицию FORTS по клиенту client (ver 1.15)

Показатели торгов

  • statline.getparam(param) - получить параметр param для текущей бумаги
  • statline.getparam(id, param) - получить параметр param для бумаги с идентификатором id
  • statline.getparam(shortname, market, param) - получить параметр param для бумаги shortname на рынке market
  • statline.getparam_byboard(secid, boardid, param) - получить параметр бумаги в заданном режиме (ATF 1.20)
  • statline.subscribe() - подписаться на показатели торгов по текущей бумаге
  • statline.subscribe(id) - подписаться на показатели торгов по бумаге идентификатором id
  • statline.subscribe(shortname, market) - подписаться на показатели торгов по имени бумаги и рынку
  • statline.subscribe_byboard(secid, boardid) - подписаться на статистику по бумаге в заданном режиме (ATF 1.20)
  • statline.unsubscribe() - отписаться от показателей торгов по текущей бумаге
  • statline.unsubscribe(id) - отписаться от показателей торгов по бумаге с идентификатором id
  • statline.unsubscribe(shortname, market) - отписаться от показателей торгов по бумаге с именем shortname на рынке market
  • statline.unsubscribe_byboard(secid, boardid) - отписаться от статистике по бумаге в заданном режиме (ATF 1.20)

Рынок

  • getISIN() - идентификатор биржи для текущей бумаги
  • getLotSize() - Размер лота для текущей бумаги
  • getMarket() - получить структуру с информацией о рынке для текущего инструмента (ATF 1.19)
  • getMarket(id) - получить структуру с информацией о рынке с идентификатором id (ATF 1.19)
  • getMarket(literal) - получить структуру с информацией о рынке с именем literal (ATF 1.19)
  • getMarketName() - имя рынка для текущей бумаги

Свечи

  • getCandleByOffset(time) - найти номер свечи, соответствующий указанному сдвигу time во времени относительно текущей свечи.
  • getCandleByTime(time) - найти номер свечи, соответствующий указанному времени time.
  • getCandleTime() - Время текущей свечки
  • getLastTradeDirection() - направление последний сделки ('B' - удовлетворена зявка на покупку, 'S' - на продажу; в противном случае неизвестно) (ATF 1.17)
  • getPeriodInfo() - возвращает хэш с информацией по выбранному периоду свечей
  • noCandle() - номер текущей свечи
  • onNewCandle() - событие начала формирования новой свечи
  • restoreCurrentPosition() - Восстановить текущую позицию
  • setBounds(nline, begin, end) - задает границы отрисовки индикаторов. Параметры: nline — номер линии, begin — сдвиг относительно начала, end — сдвиг относительно конца
  • setCurrentPosition(n) - установить текущую позицию (то есть внутреннюю позицию в массиве свечей и line, относительно которых считаются сдвиги).
  • setInitCandles(n) - задает количество начальных свечей, для которых не нужно звать calc()

Сигналы

Кратные (Multiple) сигналы следуют той же логике, что и кратные заявки. Читайте об этом в соответствующем разделе статьи про заявки и сделки.

  • signal::alert(message) - выводит диалоговое окно с текстом message
  • signal::alertMultipe(message) - кратная версия signal::alert()
  • signal::notify(title, message) - создает уведомление с текстом message и заголовком title. title можно опустить.
  • signal::notifyMultiple(title, message) - кратная версия signal::notify()
  • signal::output(message) - Выводит текст message в окно вывода ATF.
  • signal::outputMultiple(message) - кратная версия signal::output()
  • signal::play(file) - Проигрывает указанный wav-файл.
  • signal::playMultiple(file) - кратная версия signal::play()

События

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

  • addCrossWatch(lineno) - отслеживать пересечение линии lineno (ver. 1.13)
  • calc() - событие сделки на рынке по данному инструменту
  • delCrossWatch(lineno) - перестать отслеживать пересечение линии lineno. (ver. 1.13)
  • delTimer(id) - Удаляет таймер с заданным идентификатором. Если идентификатор не задан, удаляются все таймеры для данного индикатора. (ver. 1.14)
  • init() - начала загрузки скрипта
  • isHistoryCalculated() - рассчитаны ли уже исторические данные
  • onApprovedCross(a, b) - событие пересечения линий, происходящее при открытие новой свечи (когда оно уже не может пропасть в результате пересчета)
  • onATFOrder(id) - событие изменения статуса заявки и сделки выставленной роботом; в качестве id передается номер транзакции. (устарело в ATF 1.16)
  • onATFStopOrder(id) - событие изменения статуса стоп-заявки и сделки выставленной роботом; в качестве id передается номер транзакции (устарело в ATF 1.16)
  • onATFTrade(id) - событие совершения сделки, выставленной роботом; в качестве id передается номер транзакции. (устарело в ATF 1.16)
  • onBookChanged() - событие изменения состояния стакана котировок
  • onClientOrder(id) - событие изменения статуса заявки выставленной клиентом; в качестве id передается номер транзакции. (устарело в ATF 1.16)
  • onClientStopOrder(id) - событие изменения статуса стоп-заявки выставленной клиентом; в качестве id передается номер транзакции. (устарело в ATF 1.16)
  • onClientTrade(id) - событие совершения сделки, выставленной клиентом; в качестве id передается номер транзакции. (устарело в ATF 1.16)
  • onCross(a, b) - событие пересечения линий индикатора
  • onFalseCross() - событие исчезновения пересечения линий индикатора при пересчете индикатора
  • onEnvEvent(event) - событие ATF-окружения
  • onHistoryCalculated() - события начала расчета индикатора в реальном времени (окончание расчета истории)
  • onKeyDown(id) - событие нажатия на кнопку клавиатуры (ATF 1.17)
  • onNewCandle() - событие начала формирования новой свечи
  • onOrder(id) - событие изменения статуса заявки или выставления заявки. (ATF 1.16)
  • onStartRobot() - событие запуска робота (нажание на «красного робота» внизу)
  • onStopIndicator(event) - Событие остановки выполнения скрипта ATF
  • onStopOrder(id) - событие изменения статуса или выставления стоп-заявки (ATF 1.16)
  • onStopRobot() - событие остановки робота пользователем (нажатие на «зеленого робота» внизу)
  • onTestFinished() - событие завершения тестирования торговой системы
  • onTick(secid, price, trdid) - событие рыночной сделки по подписанному инструменту (ATF 1.20)
  • onTrade(id) - событие совершения сделки (ATF 1.16)
  • postEnvEvent(string) - Вызвать событие ATF-окружение. (ver. 1.12)
  • setTimer(f, time, type) - устанавливает таймер на вызов фукнции f (она должна быть определена пользователем в коде). (ver. 1.14)

Стакан

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

  • book.getAskPosCount() - Количество доступных позиций по продаже в стакане
  • book.getAskPrice(n) - цена в стакане для номера позиции по продаже
  • book.getAskVolume(n) - объем заявок в стакане для номера позиции n по продаже
  • book.getBidPosCount() - Количество доступных позиций по покупке в стакане
  • book.getBidPrice(n) - цена в стакане для номера позиции по покупке
  • book.getBidVolume(n) - объем заявок в стакане для номера позиции n по покупке
  • book.isempty() - есть ли заявки в стакане
  • book.load() - загрузить в объект актуальную информацию для стакана
  • onBookChanged() - событие изменения состояния стакана котировок
  • book.subscribe() - подписаться на данные стакана
  • book.setboard(boardid) - установить режим торгов для получения стакана (ATF 1.20)
  • book.setsec(id) - подписываться на стакан по бумаге с заданным id (ATF 1.16)
  • book.setsec(shortname, market) - подписываться на стакан по бумаге shortname на рынке market (рынок задается числовым идентификатором) (ATF 1.16)

Строки

  • as_number(x) - интерпретировать x как номер
  • as_string(x) - интерпретировать x как строку
  • chr2num(x) - преобразование символа к ANSI-коду (ATF 1.17)
  • num2chr(n) - преобразование ANSI-кода к символьному виду (ATF 1.17)
  • lstrip(str) - удалить начальные пробелы в строке (ATF 1.19)
  • lstrip(str, symbols) - удалить из начала строки str все символы, содержащиеся в строке symbols (ATF 1.19)
  • parseTime(str) - получить время из строки вида «HH:MM:SS dd:mm:yy» (дату можно опускать, тогда будет использовано сегодняшнее число, секунды указывать не обязательно). (ver. 1.11)
  • rstrip(str) - удалить конечные пробелы в строке (ATF 1.19)
  • rstrip(str, symbols) - удалить из конца строки str все символы, содержащиеся в строке symbols (ATF 1.19)
  • split(str) - разбить строку по пробельным символам (результатом вычисления будет массив) (ATF 1.19)
  • split(str, sep) - разбить строку по символу sep (результатом вычисления будет массив) (ATF 1.19)
  • split2hash(str) - разбить строку в хеш. Поля хеша разделяются переносами на новую строку, символами ';' и ',', ключ от значения отделяется символами '=' либо ':». Ведущие и конечные пробельные символы в ключах и значениях обрезаются. (ATF 1.19)
  • split2hash(str, assign_key, sep_key) - разбить строку в хеш, используя для разбиения записей sep_key и для отделения ключа от значения assign_key. Ведущие и конечные пробельные символы в ключах и значениях будут удалены. (ATF 1.19)
  • strfind(str1, str2) - поиск подстроки str2 в строке str1. Возвращается номер позиции либо -1, если не найдено. (ATF 1.19)
  • strfind(str1, str2, from) - поиск подстроки str2 в строке str1 начиная с позиции from. Возвращается номер позиции либо -1, если не найдено. (ATF 1.19)
  • strfind(str1, str2, from, to) - поиск подстроки str2 в строке str1 начиная с позиции from вплоть до позиции to. Возвращается номер позиции либо -1, если не найдено. (ATF 1.19)
  • strip(str) - удалить начальные и конечные пробелы в строке (ATF 1.19)
  • strip(str, symbols) - удалить из начала и конца строки str все символы, содержащиеся в строке symbols (ATF 1.19)
  • strlen(s) - длина строки s.
  • substr(s, pos, count) - Извлечь из строки s подстроку символов длинной count, начиная с символа с номером pos.

Тестирование скриптов

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

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

Файлы

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

  • file.close() - закрыть файл
  • file.getch() - считать один символ из файла
  • file.isopen() - проверка открыт ли файл
  • xmlarchive.loadfile(name) - загрузка xml-хранилища с именем name
  • xmlarchive.loadglobals() - загрузить все глобальные переменные из хранилища
  • xmlarchive.loadvar(name) - считать из хранилища знаечние с именем name
  • xmlarchive.newdocument(name) - создать новое xml-хранилище с именем name
  • file.read(n) - Прочитать из файла n символов.
  • file.readLn() - прочитать строку из файла
  • file.ropen(filename) - открыть файл на чтение
  • xmlarchive.saveglobals() - сохранить все глобальные переменные
  • xmlarchive.savefile() - сохранить xml-хранилище на диск
  • xmlarchive.savevar(name, value) - сохранить значение value под именем name
  • file.seek(n) - Перейти на позицию n от начала файла
  • file.seek(n, dir) - Перейти на позицию n в файле. Если в качестве dir указан 0, то позиция считается от начала. Если 1 — от текущей позиции. Если -1 — с конца файла
  • file.size() - получить размер файла
  • file.tell() - получить текущую позицию в файле
  • file.waopen(filename) - открыть файл для записи в конец файла
  • file.wopen(filename) - открыть файл для записи
  • file.write(x) - записать x в файл
  • file.writeLn(x) - записать x в файл и перейти на новую строку

Финансовый инструмент

  • getLotSize() - Размер лота для текущей бумаги
  • getSecInfo() - возвращает хэш с информацией по бумаге
  • getSecInfo(id) - получить структуру инструмента с идентификатором id (ATF 1.19)
  • getSecName() - имя текущего финансового инструмента
  • findSecID(isin, market_id) - получить идентификатор бумаги с заданным isin и идентификатором рынка (ATF 1.19)
  • findSecID(isin, market_literal) - получить идентификатор бумаги с заданным isin и литералом рынка (ATF 1.19)

Хэши

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

  • hash.clear() - очистить хэш
  • hash.erase(key) - удалить элемент с именем key (ATF 1.17)
  • hash.haskey(key) - проверят наличие элемента с заданным ключем (ATF 1.17)
  • hash.isEmpty() - пусть ли хэш
  • hash.keys() - возвращает массив ключей (ATF 1.17)
  • hash.size() - размер хэша
  • hash.values() - возвращает массив значений (ATF 1.17)
atf/функции_по_назначению.txt · Последние изменения: 2013/09/22 10:50 — oleg