Справка по языку LCRYP

В данном разделе собраны все команды языка LCRYP, объединенные в логические подпункты в виде справки. Данные команды можно рассматривать также как встроенные функции.
Основное назначение такого расширения командной базы осуществлено для того, чтобы получить максимум необходимой для работы с рынком криптовалют информации: от данных про баланс и стакане цен до данных виртуальных расчетов.
Также отдельно оформленные такие разделы справки:
Содержание
|
Общие сведения о языке LCRYPЯзык программирования LCRYP (Language Cryptocurrency) создан для работы на рынке криптовалют в среде программного продукта TerminalCoin. Документацию по языку LCRYP можно найти только на данном сайте. LCRYP-программы обрабатывает интерпретатор, он выполняет программу. То есть программа имеет тот вид, в котором она выполняется компьютером (посредством интерпретатора), в отличии от компилируемых программ. Интерпретатор языка содержит нечто такое, чего нет в компиляторе, - движущий механизм, фактически выполняющий программу. Многие языки управления промышленными роботами также интерпретируются, поскольку у интерпретаторов повышенная переносимость на различные инструментальные комплексы. Для задачи работы на рынке криптовалют интерпретация - это отличное решение. В качестве базы для реализации данного интерпретатора выбрано сходство по синтаксису с языком "С". Интерпретатор LCRYP может удовлетворить потребность в написании индикаторов и экспертов для работы на рынке криптовалют. Язык программирования LCRYP является теоретически последовательным языком программирования. Формат исполнительных файлов имеет расширение '*.lcryp'. Редактировать программу на языке LCRYP можно непосредственно во время ее выполнения. Программу можно запускать сразу после редактирования. Для работы в среде TerminalCoin файлы должны быть размещены в подпапках терминала с названиями Experts и Indicators. Количество зарезервированных слов языка LCRYP достаточно велико, это богатый и мощный язык. Большинство команд - это команды, связанные с различными рыночными элементами. Интерпретатор LCRYP реализует довольно узкое подмножество "С", включающего, тем не менее, многие важные средства языка и достаточного для выполнения поставленной задачи. Его простота позволит не специалистам в программировании легко разобраться и научиться писать элементарные боты, опираясь на шаблоны. Поскольку интеграция LCRYP-программ в TerminalCoin реализована на базовом уровне, в сам язык программирования встроены команды, описаные в данной справке, упрощающие работу со многими рыночными элементами. Данный подход упрощает программирование автоматизированных систем. В среду программного продукта TerminalCoin интегрирован редактор, который подсвечивает синтаксис и упрощает процесс программирования. Редактор LCRYP-программ имеет возможность использования отладчика (дебагера), что значительно облегчает разработку торговых экспертов и индикаторов. СправкаДля того чтобы получить справку, необходимо выбрать раздел в меню слева и в нем выбрать нужный подраздел. Подразделов можно выбирать несколько одновременно. Ненужные подразделы можно закрывать. ReCount - Количество баров для пересчетаint ReCount; Переменная указывает, какое количество новых загруженных баров необходимо пересчитать на текущем чарте. Присутствует в адресных пространствах функций: OnInit, OnBar и OnTick. Count - Общее количество баров на чартеint Count; Переменная указывает, какое общее количество баров доступно на текущем чарте. Присутствует в адресных пространствах функций: OnInit, OnBar и OnTick. p_info_a - Заполняет буфер для вывода информации в журналint p_info_a( string value // значение для вывода ); Параметры value - Значение для вывода. Может быть строка а также любой другой тип данных. Возвращаемое значение Нет возвращаемого значения. Примечание Команду можно использовать многократно. При повторном использовании осуществляется конкатенация данных в буфере для последующего вывода коммандой p_info. p_info - Завершение заполнения буфера и вывод информации в журналint p_info( string value // значение для вывода ); Параметры value - Значение для вывода. Может быть строка а также любой другой тип данных. Возвращаемое значение Нет возвращаемого значения. Примечание Осуществляет конкатенацию данных с данными в буфере зафиксированными командой p_info_a и выводит весь буфер в журнал. Команду можно использовать один раз для одного вывода. prt - Очищает буфер и начинает его новое наполнение и вывод информации информации в указанную строку в окне чартаint prt( int index, // индекс строки string value // значение для вывода ); Параметры index - Индекс строки в окне чарта, индексация начинается с нуля. Максимум 8 строк.Целое число. value - Значение для вывода. Может быть строка а также любой другой тип данных. Возвращаемое значение Нет возвращаемого значения. Примечание Очищает буфер и начинает его новое наполнение и вывод информации информации в указанную строку в окне чарта. При повторном использовании осуществляется автоматическая очистка данных и начинается новое наполнение. Для продолжения наполнения буфера необходимо использовать команду prt prt_a - Продолжение наполнения буфера и вывод информации в указанную строку в окне чартаint prt_a( int index, // индекс строки string value // значение для вывода ); Параметры index - Индекс строки в окне чарта, индексация начинается с нуля. Максимум 8 строк. Целое число. value - Значение для вывода. Может быть строка а также любой другой тип данных. Возвращаемое значение Нет возвращаемого значения. Примечание Команду можно использовать многократно. При повторном использовании осуществляется автоматический вывод и конкатенация данных в указанной строке в окне чарта. g_reg - Устанавливает значение регистраint g_reg( int index, // индекс строки double value // значение для вывода ); Параметры index - Индекс регистра, индексация начинается с нуля. Максимум 32 регистра. Целое число. value - Значение для вывода. Число с плавающей запятой. Возвращаемое значение Нет возвращаемого значения. Примечание Команду можно использовать для передачи данных между адресными подпространствами функций: OnInit, OnBar и OnTick. В языке программирования LCRYP не существует пользовательских глобальных переменных, поэтому передавать информацию между отдельными пространствами данных функций: OnInit, OnBar и OnTick можно только с помощью данных регистров. s_reg - Считывает значение регистраdouble s_reg( int index, // индекс строки ); Параметры index - Индекс регистра, индексация начинается с нуля. Максимум 32 регистра. Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Команду можно использовать для передачи данных между адресными подпространствами функций: OnInit, OnBar и OnTick. В языке программирования LCRYP не существует пользовательских глобальных переменных, поэтому передавать информацию между отдельными пространствами данных функций: OnInit, OnBar и OnTick можно только с помощью данных регистров. move_reg - Перемещение значения из текстового регистра в числовой регистрdouble move_reg( int dindex, // индекс числового регистра int sindex, // индекс текстового регистра int is_point, // разделитель (1 - разделить точка) или (0 - разделить запятая) ); Параметры dindex - Индекс числового регистра, индексация начинается с нуля. Максимум 32 регистра. Целое число. sindex - Индекс текстового регистра, индексация начинается с нуля. Максимум 32 регистра. Целое число. is_point - Разделитель (1 - разделить точка) или (0 - разделить запятая). Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Команду можно использовать для переброски данных между текстовыми и числовыми регистрами. type_add - Добавляет тип в базу типовdouble type_add( string type_name // название нового типа ); Параметры type_name - Название нового типа. Текстовая константа. Возвращаемое значение Целое число, идентификатор типа. Примечание Добавляет тип в базу типов. type_shift - Смещение индексации элементов типа относительно нуляdouble type_shift( int id, // идентификатор типа int shift // смещение индексации элементов типа (-1 - значит первый элемент -1) ); Параметры id - Идентификатор типа. Целое число. shift - Смещение индексации элементов типа (-1 - значит первый элемент -1). Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Смещение индексации элементов типа относительно нуля. По умолчанию индексация начинается с нуля. type_add_item - Добавляет елемент для указанного типаdouble type_add_item( int id, // идентификатор типа string item_name // название элемента указанного типа ); Параметры id - Идентификатор типа. Целое число. item_name - Название елемента указанного типа. Текстовая константа. Возвращаемое значение Нет возвращаемого значения. Примечание Добавляет елемент для указанного типа. h_set_item - Настраивает конкретный элемент гистограммыdouble h_set_item( int index_histograms, // индекс гистограммы int index_item, // индекс элемента гистограммы int item_draw, // отображение элемента гистограммы double interest_a, // процент для бай double interest_b, // процент для сел double price // цена ); Параметры index_histograms - Индекс гистограммы (максимум = 12). Целое число. index_item - Индекс элемента гистограммы. Целое число. item_draw - Отображение элемента гистограммы. Целое число. interest_a - Процент для бай. Число с плавающей запятой. interest_b - Процент для сел. Число с плавающей запятой. price - Цена. Число с плавающей запятой. Возвращаемое значение Нет возвращаемого значения. Примечание Настраивает конкретный элемент гистограммы. h_draw - Настраивает параметры отображения гистограммыdouble h_draw( int index_histograms, // индекс гистограммы int auto_draw, // активировать автоматический расчет для указанной гистограммы double time_start_draw, // Время начала расчета (формат timestamp) double time_final_draw, // Время конца расчета (формат timestamp) string color_a, // цвет для бай string color_b // цвет для сел ); Параметры index_histograms - Индекс гистограммы (максимум = 12). Целое число. auto_draw - Активировать автоматический расчет для указанной гистограммы. Целое число. time_start_draw - Время начала расчета (формат timestamp). Число с плавающей запятой. time_final_draw - Время конца расчета (формат timestamp). Число с плавающей запятой. color_a - Цвет для бай. Текстовая константа. color_b - Цвет для сел. Текстовая константа. Возвращаемое значение Нет возвращаемого значения. Примечание Настраивает параметры отображения гистограммы. h_draw_on - Разрешение на отображение определенной гистограммыdouble h_draw_on( int index_histograms // индекс гистограммы ); Параметры index_histograms - Индекс гистограммы (максимум = 12). Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Разрешение на отображение определенной гистограммы. h_draw_off - Запрет на отображение определенной гистограммыdouble h_draw_off( int index_histograms // индекс гистограммы ); Параметры index_histograms - Индекс гистограммы (максимум = 12). Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Запрет на отображение определенной гистограммы. h_get_price - Возвращает цену в заданной ячейке гистограммыdouble h_get_price( int index_histograms, // индекс гистограммы int index_item // индекс елемента гистограммы ); Параметры index_histograms - Индекс гистограммы (максимум = 12). Целое число. index_item - Индекс елемента гистограммы. Целое число. Возвращаемое значение Возвращает цену в заданной ячейке гистограммы. Число с плавающей запятой. Примечание Возвращает цену в заданной ячейке гистограммы. h_get_volume_a - Читает первый (бай) рассчитанный объем в элементе массиваdouble h_get_volume_a( int index_histograms, // индекс гистограммы int index_item // индекс елемента гистограммы ); Параметры index_histograms - Индекс гистограммы (максимум = 12). Целое число. index_item - Индекс елемента гистограммы. Целое число. Возвращаемое значение Читает первый (бай) рассчитанный объем в элементе массива. Число с плавающей запятой. Примечание Читает первый (бай) рассчитанный объем в элементе массива. h_get_volume_b - Читает второй (сел) рассчитанный объем в элементе массиваdouble h_get_volume_b( int index_histograms, // индекс гистограммы int index_item // индекс елемента гистограммы ); Параметры index_histograms - Индекс гистограммы (максимум = 12). Целое число. index_item - Индекс елемента гистограммы. Целое число. Возвращаемое значение Читает второй (сел) рассчитанный объем в элементе массива. Число с плавающей запятой. Примечание Читает второй (сел) рассчитанный объем в элементе массива. h_get_high - Максимальная цена на участкеdouble h_get_high( int index_histograms // индекс гистограммы ); Параметры index_histograms - Индекс гистограммы (максимум = 12). Целое число. Возвращаемое значение Читает максимальную цену на расчетном участке. Число с плавающей запятой. Примечание Максимальная цена на участке. h_get_low - Минимальная цена на участкеdouble h_get_low( int index_histograms // индекс гистограммы ); Параметры index_histograms - Индекс гистограммы (максимум = 12). Целое число. Возвращаемое значение Читает минимальную цену на расчетном участке. Число с плавающей запятой. Примечание Минимальная цена на участке. h_get_volume_max - Максимальный объем на участкеdouble h_get_volume_max( int index_histograms // индекс гистограммы ); Параметры index_histograms - Индекс гистограммы (максимум = 12). Целое число. Возвращаемое значение Читает максимальный объем на участке на расчетном участке. Число с плавающей запятой. Примечание Максимальный объем на участке. h_get_index_volume_max - Индекс элемента с максимальным объемомdouble h_get_index_volume_max( int index_histograms // индекс гистограммы ); Параметры index_histograms - Индекс гистограммы (максимум = 12). Целое число. Возвращаемое значение Читает индекс элемента с максимальным объемом. Целое число. Примечание Индекс элемента с максимальным объемом. h_calc - Рассчитывает горизонтальный объемdouble h_calc( int index_histograms, // индекс гистограммы int calc_on, // активировать расчет для указанной гистограммы int base_tf, // базовый таймфрейм double time_first, // время начала расчета (формат timestamp) int length_bars_base_tf // количество баров для расчета (на базовом таймфрейме) ); Параметры index_histograms - Индекс гистограммы (максимум = 12). Целое число. calc_on - Активировать расчет для указанной гистограммы. Целое число. base_tf - Базовый таймфрейм. Целое число. time_first - Время начала расчета (формат timestamp). Число с плавающей запятой. length_bars_base_tf - Количество баров для расчета (на базовом таймфрейме). Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Рассчитывает горизонтальный объем. h_on - Включает возможность работать с гистограммой и задает детализациюdouble h_on( int step // детализация гистограммы ); Параметры step - Детализация гистограммы (максимум = 1024). Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Индекс элемента с максимальным объемом. h_off - Отключает возможность работать с гисторгамамойdouble h_off(); Параметры Нет входных параметров. Возвращаемое значение Нет возвращаемого значения. Примечание Отключает возможность работать с гисторгамамой. h_limit_item - Максимум линий на одной гистограммеdouble h_limit_item(); Параметры Нет входных параметров. Возвращаемое значение Читает максимум линий на одной гистограмме. Целое число. Примечание Максимум линий на одной гистограмме. h_limit - Максимум гистограмм для одного индикатораdouble h_limit(); Параметры Нет входных параметров. Возвращаемое значение Читает максимум гистограмм для одного индикатора. Целое число. Примечание Максимум гистограмм для одного индикатора. e_abot - Проверяет, разрешена ли торговля в консоли TerminalCoinint e_abot(); Параметры Нет входных параметров. Возвращаемое значение Целое число, с двумя значениями: 0 - торговля не разрешена (терминал не готов), 1 - торговля разрешена (терминал готов). Примечание Команду нужно использовать перед реальными действиями на рынке. Команда дает информацию о том что разрешена торговля для бот а также разрешена торговля в целом для терминала. this_now - Проверяет, является ли указанная дата подмножеством последнего бара текущего таймфреймаint this_now( int time // время ); Параметры time - Целое число - время в формате (Unix timestamp). Возвращаемое значение Целое число, с двумя значениями: 0 - если не является подмножеством, 1 - если является подмножеством. Примечание Команда поможет определить принадлежит ли настоящее время текущему бару. В общем в терминале время представлен в формате (Unix timestamp во всех командах. tickq - Активирует тиковую обработку с максимально возможной скоростьюint tickq( int value // переключатель ); Параметры value - Переключатель, целое число. Возможные значения: 0 - выключает свойство, 1 - включает свойство. Возвращаемое значение Нет возвращаемого значения. Примечание Команда активирует функцию тиковой обработки OnTick на работу с максимальной скоростью. Значительно чаще, чем обновляется тиковая информация. Команда сильно нагружает систему. bsleep - Команда задерживает выполнение текущего эксперта или индикатора на определенный интервалint bsleep( int milliseconds // интервал ); Параметры milliseconds - Интервал задержки в миллисекундах. Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Команду Sleep() нельзя вызывать из пользовательских индикаторов, так как индикаторы выполняются в интерфейсном потоке и не должны его тормозить. В функцию встроена проверка состояния флага остановки эксперта каждую 0.1 секунды. comm - Команда отображает комиссию, которая используется в расчетахdouble comm(); Параметры Нет входных параметров. Возвращаемое значение Возвращает комиссию, которая используется в расчетах ботами. Число с плавающей запятой. Примечание Это не реальная комиссия которая с биржи, эту комиссию пользователь задает самостоятельно. Задается в настройках терминала самостоятельно. gtickcount - Считывает вpемя, пpошедшее с момента запуска системыint gtickcount(); Параметры Нет входных параметров. Возвращаемое значение Пpошедшее вpемя (в миллисекундах). Целое число. Примечание Считывает вpемя, пpошедшее с момента запуска системы (в миллисекундах). Значение gtickcount() увеличивается с момента запуска операционной системы и не повторяется в течение 49 дней, пока не переполнится встроенный счетчик миллисекунд. t_server - Отображает время последнего бара на текущем таймфреймеint t_server(); Параметры Нет входных параметров. Возвращаемое значение Вpемя текущего бара. Целое число. Примечание Отображает время последнего бара на текущем таймфрейме. is_opt - Читает маркер оптимизационного состояния ботаint is_opt(); Параметры Нет входных параметров. Возвращаемое значение Если равное единице значит бот оптимизируется на данный момент, если равно нулю значит бот не оптимизируется. Целое число. Примечание Читает маркер оптимизационного состояния бота. get_public - Читает публичную инормацию из сетиint get_public( int sindex, // индекс регистра string command // команда (запрос http чи https) ); Параметры sindex - Индекс текстового регистра, индексация начинается с нуля. Максимум 32 параметра. Целое число. command - Команда (запрос http чи https). Строчная константа. Возвращаемое значение Нет возвращаемого значения. Примечание Читает публичную инормацию из сети. s_par - Позволяет настроить входной параметрint s_par( int index, // индекс string type, // тип string name, // имя double value, // значение параметра double min, // минимум для оптимизации double step, // шаг для оптимизации double max // максимум для оптимизации ); Параметры index - Индекс входного параметра, индексация начинается с нуля. Максимум 32 параметра. Целое число. type - Тип входного параметра Строковое значение "int" или "double". name - Название входного параметра. Строчная константа. value - Значение входного параметра. Число с плавающей запятой. min - Значение минимума для оптимизации Число с плавающей запятой. step - Значение шаг для оптимизации. Число с плавающей запятой. max - Значение максимума для оптимизации. Число с плавающей запятой. Возвращаемое значение Нет возвращаемого значения. Примечание Настраивает входной параметр.Задает начальное значение, которое пользователь в процессе работы может изменять в настройках бота. g_par - Позволяет прочесть входной параметрdouble g_par( int index // индекс ); Параметры index - Индекс входного параметра, индексация начинается с нуля. Максимум 32 параметра. Целое число. Возвращаемое значение Значение параметра. Число с плавающей запятой. Примечание Читает входной параметр, который пользователь в процессе работы может изменять в настройках бота. lang_par - Позволяет перевести название параметра на нужный языкint lang_par( int indexlanguage, // индекс языка string language, // язык int indexparam, // индекс параметра string value // перевод параметра ); Параметры indexlanguage - Индекс языка, индексация начинается с нуля. Максимум 8 языков. Целое число. language - Название языка. Должно совпадать с одним из языков терминала. Строчная константа. indexparam - Индекс входного параметра, индексация начинается с нуля. Максимум 32 параметра. Целое число. value - Перевод входного параметра. Строчная константа. Возвращаемое значение Нет возвращаемого значения. Примечание Перевод названия параметра на нужный язык. Индекс для языка устанавливается самостоятельно. Он должен совпадать для всех команд. link_par - Позволяет привязать к параметру ссылку на сайт со справкой по немуint link_par( int index, // индекс string link // ссылка ); Параметры index - Индекс входного параметра, индексация начинается с нуля. Максимум 32 параметра. Целое число. link - Ссылка на сайт со справкой по входному параметру. Строчная константа. Возвращаемое значение Нет возвращаемого значения. Примечание Привязывает к параметру ссылку на сайт со справкой. Очень удобно чтобы донести до пользователя расширенную информацию по параметру. s_buff - Создание графического буфераint s_buff( int index, // индекс int type, // тип int width, // толщина int style, // стиль int color, // цвет int colorbuy, // цвет buy int colorsell // цвет sell ); Параметры index - Индекс буфера, индексация начинается с нуля. Максимум 8 буферов. Целое число. type - Тип буфера. Целое число. width - Толщина линии. Целое число. style - Стиль линии. Целое число. color - Цвет буфера по умолчанию, строчная константа, описывающая цвет. colorbuy - Цвет буфера для сигнала на buy, строчная константа, описывающая цвет. colorsell - Цвет буфера для сигнала на sell, строчная константа, описывающая цвет. Возвращаемое значение Нет возвращаемого значения. Примечание Графический буфер может быть как в виде линий, так и в виде стрелочек. Или просто невидимый и использоваться как вектор данных для расчетов. s_dbuff - Позволяет настроить ячейку существующего буфераint s_dbuff( int indexbuf, // индекс буфера int index, // индекс ячейки буфера double price, // цена double volume, // объем double ddata, // для отображения string sdata, // для форматирования int dir // направление ); Параметры indexbuf - Индекс буфера, индексация начинается с нуля. Максимум 8 буферов. Целое число. index - Существующая ячейка буфера. Целое число. price - Значение цены для указанной ячейки. Число с плавающей запятой. volume - Значение для отображения для указанной ячейки. Число с плавающей запятой. ddata - Значение для отображения для указанной ячейки. Число с плавающей запятой. sdata - Значение для форматирования числового значения ddata (напр. "0.##"), строчная константа. dir - Значение, которое задает направление. Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Буфер заполняется как данными для визуального отображения, так и данными для виртуального вектора для последующего расчета торговли ботом в тестовом режиме. g_dbuff - Получает содержимое цены ячейки существующего буфераdouble g_dbuff( int indexbuf, // индекс буфера int index // индекс ячейки буфера ); Параметры indexbuf - Индекс буфера, индексация начинается с нуля. Максимум 8 буферов. Целое число. index - Существующая ячейка буфера. Целое число. Возвращаемое значение Значение цены для указанной ячейки. Число с плавающей запятой. Примечание Получает содержимое цены ячейки существующего буфера. g_pdbuff - Получает содержимое цены предыдущей относительно заданной ячейки существующего буфераdouble g_pdbuff( int indexbuf, // индекс буфера int index, // индекс ячейки буфера int cpoint // глубина ); Параметры indexbuf - Индекс буфера, индексация начинается с нуля. Максимум 8 буферов. Целое число. index - Существующая ячейка буфера. Целое число. cpoint - На каком значении (отличном от нуля) остановится поиск предыдущего значения, если 1 - то результат будет первым значением после index (в глубину истории). Целое число. Возвращаемое значение Значение цены для указанной ячейки. Число с плавающей запятой. Примечание Получает содержимое цены предыдущей относительно заданной ячейки существующего буфера. Шаг расстояния между ячейками задан глубиной cpoint. t_ind_min - Фиксирует минимальную границу цены (на графике под ценовым)int t_ind_min( int index, // индекс буфера double value // минимальная граница ); Параметры indexbuf - Индекс буфера, индексация начинается с нуля. Максимум 8 буферов. Целое число. value - Зафиксированное минимальное значение границы. Число с плавающей запятой. Возвращаемое значение Нет возвращаемого значения. Примечание Фиксирует минимальную границу цены (на графике под ценовым), если значение не установлено, то граница формируется динамично в соответствии с данными буфера. t_ind_max - Фиксирует максимальную границу цены (на графике под ценовым)int t_ind_max( int index, // индекс буфера double value // максимальная граница ); Параметры indexbuf - Индекс буфера, индексация начинается с нуля. Максимум 8 буферов. Целое число. value - Зафиксированное максимальное значение границы. Число с плавающей запятой. Возвращаемое значение Нет возвращаемого значения. Примечание Фиксирует максимальную границу цены (на графике под ценовым), если значение не установлено, то граница формируется динамично в соответствии с данными буфера. t_ind_a_lev - Создает линию (на графике под ценовым)int t_ind_a_lev( int indexbuf, // индекс буфера int index, // индекс линии int width, // толщина int style, // стиль string color, // цвет double level // уровень ); Параметры indexbuf - Индекс буфера, индексация начинается с нуля. Максимум 8 буферов. Целое число. index - Индекс линии, индексация начинается с нуля. Максимум 5 линий. Целое число. width - Толщина линии. Целое число. style - Стиль линии. Целое число. color - Цвет линии, строчная константа, которая описывает цвет. level - Уровень, на котором отображается линия. Число с плавающей запятой. Возвращаемое значение Нет возвращаемого значения. Примечание Создает линию (на графике под ценовым). t_ind_d_lev - Удаляет линию (на графике под ценовым)int t_ind_d_lev( int indexbuf, // индекс буфера int index // индекс линии ); Параметры indexbuf - Индекс буфера, индексация начинается с нуля. Максимум 8 буферов. Целое число. index - Индекс линии, индексация начинается с нуля. Максимум 5 линий. Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Удаляет линию (на графике под ценовым). m_ssd - Записывает в ячейку буфера значение для форматирования отображаемой информацииint m_ssd( int indexbuf, // индекс буфера int index, // индекс ячейки string sdata // для форматирования ); Параметры indexbuf - Индекс буфера, индексация начинается с нуля. Максимум 8 буферов. Целое число. index - Существующая ячейка буфера. Целое число. sdata - Значение для форматирования числового значения ddata (напр. "0.##"), строчная константа. Возвращаемое значение Нет возвращаемого значения. Примечание Записывает в ячейку буфера значение для форматирования отображаемой информации. m_sdd - Записывает в ячейку буфера значение отображаемой информацииint m_sdd( int indexbuf, // индекс буфера int index, // индекс ячейки string ddata // для отображения ); Параметры indexbuf - Индекс буфера, индексация начинается с нуля. Максимум 8 буферов. Целое число. index - Существующая ячейка буфера. Целое число. ddata - Значение для отображения для указанной ячейки. Число с плавающей запятой. Возвращаемое значение Нет возвращаемого значения. Примечание Записывает в ячейку буфера значение отображаемой информации. g_b_full - Получает общий баланс на депозите по определенной криптовалютеdouble g_b_full( string name, // криптовалюта или пара int type // способ чтения ); Параметры name - Название криптовалюты или пары. Тип данных - строчная константа. type - Получить общий баланс по названию (в случае, если название - пара, а не отдельная криптовалюта). Целое число. Возвращаемое значение Значение общего баланса. Число с плавающей запятой Примечание Получает общий баланс на депозите по определенной криптовалюте. g_b_free - Получает свободный баланс на депозите по определенной криптовалютеdouble g_b_free( string name, // криптовалюта или пара int type // способ чтения ); Параметры name - Название криптовалюты или пары. Тип данных - строчная константа. type - Получить свободный баланс по названию (в случае, если название - пара, а не отдельная криптовалюта). Целое число. Возвращаемое значение Значение свободного баланса. Число с плавающей запятой Примечание Получает свободный баланс на депозите по определенной криптовалюте. g_b_ord - Получает зарезервированный ордерами баланс на депозите по определенной криптовалютеdouble g_b_ord( string name, // криптовалюта или пара int type // способ чтения ); Параметры name - Название криптовалюты или пары. Тип данных - строчная константа. type - Получить зарезервированный ордерами баланс по названию (в случае, если название - пара, а не отдельная криптовалюта). Целое число. Возвращаемое значение Значение зарезервированный ордерами баланса. Число с плавающей запятой Примечание Получает зарезервированный ордерами баланс на депозите по определенной криптовалюте. g_b_fee - Получает комиссионный процент по определенной криптовалютеdouble g_b_fee( string name, // криптовалюта или пара int type // способ чтения ); Параметры name - Название криптовалюты или пары. Тип данных - строчная константа. type - Получить комиссионный процент по названию (в случае, если название - пара, а не отдельная криптовалюта). Целое число. Возвращаемое значение Значение комиссионного процента ордерами баланса. Число с плавающей запятой. Примечание Получает комиссионный процент ордерами баланс на депозите по определенной криптовалюте. p_load - Добавляет определенную криптовалютную пару в менеджер загрузокint p_load( string pair, // пара int tf // таймфрейм ); Параметры pair - Название криптовалютной пары. Тип данных - строчная константа. tf - Таймфрейм. Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Понадобится, если нет открытого чарта с нужной парой. Используется для постоянной загрузки данных по паре (так, будто бы чарт был бы открыт). p_close - Удаляет определенную криптовалютную пару из менеджера загрузокint p_close( string pair, // пара int tf // таймфрейм ); Параметры pair - Название криптовалютной пары. Тип данных - строчная константа. tf - Таймфрейм. Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Удаляет определенную криптовалютную пару из менеджера загрузок.Пара не удалится если открытый чарт с ней. p_act - Переводит большинство команд на работу с указанной парой и таймфреймомint p_act( string pair, // пара int tf // таймфрейм ); Параметры pair - Название криптовалютной пары. Если строка пустая, активной становится пара по умолчанию. Тип данных - строчная константа. tf - Таймфрейм. Если равно -1, активным становится таймфрейм по умолчанию. Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Переводит большинство команд на работу с указанной парой и таймфреймом. По умолчанию команды работают с текущей парой и таймфреймом. loadfinal - Возвращает маркер готовности исторических данных по текущей паре и текущем таймфреймеint loadfinal(); Параметры Нет входных параметров. Возвращаемое значение Возвращает ноль в случае если исторические данные не готовы и единицу в случае если исторические данные уже загружены. Целое число. Примечание Возвращает маркер готовности исторических данных по текущей паре и текущем таймфрейме. toindex - Возвращает индекс большего таймфрейма по заданной датеint toindex( data, // дата new_ft, // таймфрейм ); Параметры data - Дата для которой будет произведен поиск индекса. Целое число. new_ft - Таймфрейм. Для которого нужно узнать индекс. Целое число. Возвращаемое значение Возвращает индекс для заданной даты по указанному таймфрейму. Целое число. Примечание Возвращает индекс большего таймфрейма по заданной дате. Нужно задать дату и таймфрейм для получения индекса для заданной даты по указанному таймфрейму. bid - Получает текущую цену biddouble bid(); Параметры Нет входных параметров. Возвращаемое значение Текущая цене bid. Число с плавающей запятой. Примечание Получает текущую цену bid. ask - Получает текущую цену askdouble ask(); Параметры Нет входных параметров. Возвращаемое значение Текущая цене ask. Число с плавающей запятой. Примечание Получает текущую цену ask. last - Получает текущую цену lastdouble last(); Параметры Нет входных параметров. Возвращаемое значение Текущая цене last. Число с плавающей запятой. Примечание Получает текущую цену last - последняя цена. open - Получает цену открытия указанного бараdouble open( int index // индекс ); Параметры index - Индекс существующего бара. Целое число. Возвращаемое значение Цена открытия указанного бара. Число с плавающей запятой. Примечание Получает цену открытия указанного бара. close - Получает цену закрытия указанного бараdouble close( int index // индекс ); Параметры index - Индекс существующего бара. Целое число. Возвращаемое значение Цена закрытия указанного бара. Число с плавающей запятой. Примечание Получает цену закрытия указанного бара. high - Получает максимальную цену указанного бараdouble high( int index // индекс ); Параметры index - Индекс существующего бара. Целое число. Возвращаемое значение Максимальная цена указанного бара. Число с плавающей запятой. Примечание Получает максимальную цену указанного бара. low - Получает минимальную цену указанного бараdouble low( int index // индекс ); Параметры index - Индекс существующего бара. Целое число. Возвращаемое значение Минимальная цена указанного бара. Число с плавающей запятой. Примечание Получает минимальную цену указанного бара. date - Получает дату (формат Unix timestamp) указанного бараint date( int index // индекс ); Параметры index - Индекс существующего бара. Целое число. Возвращаемое значение Дата (формат Unix timestamp) указанного бара. Целое число. Примечание Получает дату (формат Unix timestamp) указанного бара. b_vol - Получает объем-base указанного бараdouble b_vol( int index // индекс ); Параметры index - Индекс существующего бара. Целое число. Возвращаемое значение Объем-base указанного бара. Число с плавающей запятой. Примечание Получает объем-base указанного бара. q_vol - Получает объем-quote указанного бараdouble q_vol( index // индекс ); Параметры index - Индекс существующего бара. Целое число. Возвращаемое значение Объем-quote указанного бара. Число с плавающей запятой. Примечание Получает объем-quote указанного бара. vol - Получает общий объем указанного бараdouble vol( int index // индекс ); Параметры index - Индекс существующего бара. Целое число. Возвращаемое значение Общий объем указанного бара. Число с плавающей запятой. Примечание Получает общий объем указанного бара. high24 - Возвращает максимальную цену за 24 часаdouble high24(); Параметры Нет входных параметров. Возвращаемое значение Максимальная цена за 24 часа. Число с плавающей запятой. Примечание Возвращает максимальную цену за 24 часа. low24 - Возвращает минимальную цену за 24 часаdouble low24(); Параметры Нет входных параметров. Возвращаемое значение Минимальная цена за 24 часа. Число с плавающей запятой. Примечание Возвращает минимальную цену за 24 часа. b_vol24 - Возвращает объем-base за 24 часаdouble b_vol24(); Параметры Нет входных параметров. Возвращаемое значение Объем-base за 24 часа. Число с плавающей запятой. Примечание Возвращает объем-base за 24 часа. q_vol24 - Возвращает объем-quote за 24 часаdouble q_vol24(); Параметры Нет входных параметров. Возвращаемое значение Объем-quote за 24 часа. Число с плавающей запятой. Примечание Возвращает объем-quote за 24 часа. vol24 - Возвращает общий объем за 24 часаdouble vol24(); Параметры Нет входных параметров. Возвращаемое значение Общий объем за 24 часа. Число с плавающей запятой. Примечание Возвращает общий объем за 24 часа. min - Возвращает минимальное из двух числовых значенийdouble min( double value1, // первое число double value2 // второе число ); Параметры value1 - Первое числовое значение. Число с плавающей запятой. value2 - Второе числовое значение. Число с плавающей запятой. Возвращаемое значение Меньшее из двух чисел.Число с плавающей запятой. Примечание Может работать с целыми типами но происходит преобразование к типу double. Если в функцию передаются параметры разных типов, то параметр младшего типа автоматически приводится к старшему типу double. Тип возвращаемого значения соответствует типу double. max - Возвращает максимальное из двух числовых значенийdouble max( double value1, // первое число double value2 // второе число ); Параметры value1 - Первое числовое значение. Число с плавающей запятой. value2 - Второе числовое значение. Число с плавающей запятой. Возвращаемое значение Большее из двух чисел.Число с плавающей запятой. Примечание Может работать с целыми типами но происходит преобразование к типу double. Если в функцию передаются параметры разных типов, то параметр младшего типа автоматически приводится к старшему типу double. Тип возвращаемого значения соответствует типу double. abs - Возвращает абсолютное значение (значение по модулю) переданного ей числаdouble abs( double value // число ); Параметры value - Числовая величина. Число с плавающей запятой. Возвращаемое значение Число с плавающей запятой, больше или равно нулю. Примечание Возвращает абсолютное значение (значение по модулю) переданного ей числа. mod - Возвращает вещественный остаток от деления двух чиселdouble mod( double value1, // делимое double value2 // делитель ); Параметры value1 - Значение делимого. Число с плавающей запятой. value2 - Значение делителя. Число с плавающей запятой. Возвращаемое значение Команда mod рассчитывает вещественный остаток f от val / y таким образом, что val = i * y + f , где i является целым числом, f имеет тот же знак, что и val, и абсолютное значение f меньше, чем абсолютное значение y. Число с плавающей запятой. Примечание Возвращает вещественный остаток от деления двух чисел. log - Возвращает натуральный логарифмdouble log( double value // число для взятия логарифма ); Параметры value - Значение, логарифм которого должен быть вычислен. Число с плавающей запятой. Возвращаемое значение Натуральный логарифм value в случае успеха. Если значение value отрицательно, команда возвращает NaN (неопределенное значение). Если value равно 0, команда возвращает INF (бесконечность).Число с плавающей запятой. Примечание Возвращает натуральный логарифм. log10 - Возвращает логарифм числа по основанию 10double log10( double value // число для взятия логарифма ); Параметры value - Значение, десятичный логарифм которого должен быть вычислен. Число с плавающей запятой. Возвращаемое значение Десятичный логарифм value в случае успеха. Если значение value отрицательно, команда возвращает NaN (неопределенное значение). Если value равно 0, команда возвращает INF (бесконечность). Число с плавающей запятой. Примечание Возвращает логарифм числа по основанию 10. log1p - Возвращает значение выражения log(1+x)double log1p( double value // число для взятия логарифма ); Параметры value - Значение, логарифм которого должен быть вычислен. Число с плавающей запятой Возвращаемое значение Натуральный логарифм значения (value+1) в случае успеха. Если value < -1, то команда возвращает NaN (неопределенное значение). Если value равно -1, команда возвращает INF (бесконечность). Число с плавающей запятой. Примечание При значениях x близком к 0, команда log1p(x) даёт гораздо более точные значения, чем log(1+x). sqrt - Возвращает квадратный корень числаdouble sqrt( double value // положительное число ); Параметры value - Положительная числовая величина. Число с плавающей запятой. Возвращаемое значение Квадратный корень числа value. Если value отрицательно, sqrt возвращает NaN (неопределенное значение). Число с плавающей запятой. Примечание Возвращает квадратный корень числа. pow - Возводит основание в указанную степеньdouble pow( double base, // основание double exponent // показатель степени ); Параметры base - Основание. Число с плавающей запятой. exponent - Значение степени. Число с плавающей запятой. Возвращаемое значение Число с плавающей запятой. Значение основания, возведенного в указанную степень. Примечание Возводит основание в указанную степень. pow10 - Возводит в степень числа 10double pow10( double exponent // показатель степени ); Параметры exponent - Значение степени. Число с плавающей запятой. Возвращаемое значение Значение для возведения в степень числа 10.Число с плавающей запятой. Примечание Возводит в степень числа 10. exp - Возвращает значение числа e в степени ddouble exp( double value // степень для числа e ); Параметры value - Число, определяющее степень. Число с плавающей запятой. Возвращаемое значение Число с плавающей запятой. При переполнении команда возвращает INF (бесконечность), в случае потери порядка точности exp возвращает 0. Примечание Возвращает значение числа e в степени d. expm1 - Возвращает значение выражения exp(x)-1double expm1( double value // степень для числа e ); Параметры value - Число, определяющее степень. Число с плавающей запятой. Возвращаемое значение Число с плавающей запятой. При переполнении команда возвращает INF (бесконечность), в случае потери порядка точности expm1 возвращает 0. Примечание Возвращает значение выражения exp(x)-1. При значениях x близком к 0, функция expm1(x) даёт гораздо более точные значения, чем exp(x)-1. floor - Возвращает ближайшее снизу целое числовое значениеdouble floor( double value // число ); Параметры value - Числовое значение. Число с плавающей запятой. Возвращаемое значение Числовое значение, представляющее наибольшее целое число, которое меньше или равно value. Число с плавающей запятой. Примечание Возвращает ближайшее снизу целое числовое значение. ceil - Возвращает ближайшее сверху целое числовое значениеdouble ceil( double value // число ); Параметры value - Числовое значение. Число с плавающей запятой. Возвращаемое значение Числовое значение, представляющую наименьшее целое число, которое больше или равно value. Число с плавающей запятой. Примечание Возвращает ближайшее сверху целое числовое значение. roundto - Возвращает значение, округленное до ближайшего целого числа указанного числового значения с заданной точностьюdouble roundto( double value, // округляемое значение int digit // точность ); Параметры value - Числовая величина для округления. Число с плавающей запятой. digit - Заданная точность. Целое число от -22 до +22. Возвращаемое значение Значение, округленное до ближайшего целого числа. Число с плавающей запятой. Примечание Значение меньше нуля это количество разрядов в дробной части числа в которых происходит закругления. Значение выше нуля - это количество разрядов в целой части числа в которых происходит округление. Примеры roundto(1234567, 3); // результат = 1235000 roundto(1.034, -2); // результат = 1,23 roundto(1.035, -2); // результат = 1,24 roundto(1.045, -2); // результат = 1,24 round - Возвращает значение, округленное до ближайшего целого числа указанного числового значенияdouble round( double value // округляемое значение ); Параметры value - Числовая величина для округления. Число с плавающей запятой. Возвращаемое значение Значение, округленное до ближайшего целого числа. Число с плавающей запятой. Примечание Возвращает значение, округленное до ближайшего целого числа указанного числового значения. rand - Возвращает псевдослучайное целое число в диапазоне от 0 до 32767int rand(); Параметры Нет входных параметров. Возвращаемое значение Целое число в диапазоне от 0 до 32767. Примечание Возвращает псевдослучайное целое число в диапазоне от 0 до 32767. srand - Устанавливает начальное состояние для генерации ряда псевдослучайных целых чиселint srand( int seed // инициализирующее число ); Параметры seed - Начальное число для ряда случайных чисел. Целое значение. Возвращаемое значение Нет возвращаемого значения. Примечание Команда rand() предназначена для генерации последовательности псевдослучайных чисел. Вызов srand() с определенным инициализирующим числом позволяет получать всегда одну и ту же последовательность псевдослучайных чисел. Для гарантированного получения не повторяющейся последовательности используйте вызов srand(gtickcount()), так как значение gtickcount() увеличивается с момента запуска операционной системы и не повторяется в течение 49 дней, пока не переполнится встроенный счетчик миллисекунд. Инициализацию генератора псевдослучайных чисел с помощью srand() для индикаторов и экспертов лучше всего делать в обработчике OnInit(), это избавит от последующих многократных перезапусков генератора в OnTick(). cos - Команда возвращает косинус углаdouble cos( double rad // аргумент в радианах ); Параметры rad - Угол в радианах. Число с плавающей запятой. Возвращаемое значение Число с плавающей запятой в диапазоне от -1 до 1. Примечание Команда возвращает косинус угла. sin - Команда возвращает синус углаdouble sin( double rad // аргумент в радианах ); Параметры rad - Угол в радианах. Число с плавающей запятой. Возвращаемое значение Число с плавающей запятой в диапазоне от -1 до 1. Примечание Команда возвращает синус угла. tan - Команда возвращает тангенс числаdouble tan( double rad // аргумент в радианах ); Параметры rad - Угол в радианах. Число с плавающей запятой. Возвращаемое значение Число с плавающей запятой тангенс числа rad. Если rad больше или равен 263 или меньше или равен -263, то происходит потеря значения и функция возвращает неопределенное число. Примечание Команда возвращает тангенс угла. cosh - Возвращает гиперболический косинус числаdouble cosh( double value // значение ); Параметры value - Значение. Число с плавающей запятой. Возвращаемое значение Число с плавающей запятой. Гиперболический косинус числа, в диапазоне от +1 до плюс бесконечности. Примечание Возвращает гиперболический косинус числа. sinh - Возвращает гиперболический синус числаdouble sinh( double value // значение ); Параметры value - Значение. Число с плавающей запятой. Возвращаемое значение Число с плавающей запятой. Гиперболический синус числа, в диапазоне от -1 до минус бесконечности. Примечание Возвращает гиперболический синус числа. tanh - Возвращает гиперболический тангенс числаdouble tanh( double value // значение ); Параметры value - Значение. Число с плавающей запятой. Возвращаемое значение Число с плавающей запятой. Гиперболический тангенс числа, значение в диапазоне от -1 до +1. Примечание Возвращает гиперболический тангенс числа. acos - Возвращает значение арккосинуса x в диапазоне 0 к в радианахdouble acos( double value ); Параметры value - Значение value между -1 и 1, арккосинус которого должен быть вычислен. Число с плавающей запятой. Возвращаемое значение Число с плавающей запятой. Арккосинус числа в радианах. Если value меньше -1 или больше 1, функция возвращает NaN (неопределенное значение). Примечание Возвращает значение арккосинуса x в диапазоне 0 к в радианах. asin - Возвращает арксинус x в диапазоне от -/2 до /2 радиановdouble asin( double value ); Параметры value - Значение value между -1 и 1, арксинус которого должен быть вычислен. Число с плавающей запятой. Возвращаемое значение Число с плавающей запятой. Арксинус числа value в радианах в диапазоне от -/2 до /2 радианов. Если value меньше -1 или больше 1, функция возвращает NaN (неопределенное значение). Примечание Возвращает арксинус x в диапазоне от -/2 до /2 радианов. atan - Возвращает арктангенс xdouble atan( double value // тангенс ); Параметры value - Число с плавающей запятой, представляющее тангенс. Возвращаемое значение Число с плавающей запятой, возвращает значение в диапазоне от -/2 до /2 радианов. Примечание Возвращает арктангенс x. Если x равен 0, функция возвращает 0. atan2 - Вычисляет арктангенс (на основе x,y)double atan2( double value1, // число double value2 // число ); Параметры value1 - Число с плавающей запятой, которое используются как числитель, или значение y, при вычислении арктангенса. value2 - Число с плавающей запятой, которые используются как знаменатель, или значение x, при вычислении арктангенса. Возвращаемое значение Возвращаемое значение — это угол в радианах, в декартовой системе координат, такой что -, и tg() = y/x, сформированный начиная от начала координат (0,0) и заканчивающимся в точке, (x, y), где (x, y) — это точка в декартовой системе координат. Число с плавающей запятой. Примечание Команда atan2 конвертирует прямоугольные координаты (x,y) в полярные (r,), где r - расстояние от начальной точки и - угол между осью x. Для вычисления atan2 используется следующее уравнение: tan = y / x (где — угол). acosh - Возвращает значение гиперболического арккосинусаdouble acosh( double value // значение ); Параметры value - Число с плавающей запятой, гиперболический арккосинус которого должен быть вычислен. Возвращаемое значение Гиперболический арккосинус числа. Если value меньше +1, функция возвращает NaN (неопределенное значение). Примечание Возвращает значение гиперболического арккосинуса. asinh - Возвращает значение гиперболического арксинусаdouble asinh( double value // значение ); Параметры value - Число с плавающей запятой, гиперболический арксинус которого должен быть вычислен. Возвращаемое значение Гиперболический арксинус числа. Если value меньше +1, функция возвращает NaN (неопределенное значение). Примечание Возвращает значение гиперболического арксинуса. atanh - Возвращает значение гиперболического арктангенсаdouble atanh( double value // значение ); Параметры value - Число с плавающей запятой в диапазоне -1 Возвращаемое значение Гиперболический арктангенс числа. Примечание Возвращает значение гиперболического арктангенса. c_depth - Считывает информацию о количестве записей в стаканеint c_depth(); Параметры Нет входных параметров. Возвращаемое значение Количестве записей в стакане. Целое число. Примечание Возвращает информацию о количестве записей в стакане. p_depth - Возвращает информацию о цене в стакане по индексуdouble p_depth( int index, // индекс int dir // направление ); Параметры index - Индекс записи в стакане. Целое число. dir - Направление, согласно которому рассчитывается средняя цена. Целое число. Возвращаемое значение Цена в стакане по индексу. Число с плавающей запятой. Примечание Возвращает информацию о цене в стакане по индексу. v_depth - Возвращает информацию о объеме в стакане по индексуdouble v_depth( int index, // индекс int dir // направление ); Параметры index - Индекс записи в стакане. Целое число. dir - Направление, согласно которому рассчитывается средняя цена. Целое число. Возвращаемое значение Объеме в стакане по индексу. Число с плавающей запятой. Примечание Возвращает информацию о объеме в стакане по индексу. p_avg_depth - Возвращает информацию о средней цене в заданной части стаканаdouble p_avg_depth( int count, // количество int dir // направление ); Параметры count - Величина стакана, согласно которой рассчитывается средняя цена. Целое число. dir - Направление, согласно которому рассчитывается средняя цена. Целое число. Возвращаемое значение Возвращает среднюю цену в заданной части стакана. Число с плавающей запятой. Примечание Возвращает информацию о средней цене в заданной части стакана. v_sum_depth - Возвращает информацию об общем объеме в заданной части стаканаdouble v_sum_depth( int count, // количество int dir // направление ); Параметры count - Величина стакана, согласно которой рассчитывается общий объем. Целое число. dir - Направление, согласно которому рассчитывается общий объем. Целое число. Возвращаемое значение Возвращает общий объем в заданной части стакана. Число с плавающей запятой. Примечание Возвращает информацию об общем объеме в заданной части стакана. i_min - Возвращает индекс позиции с минимальным объемом в стаканеint i_min( int count, // количество int dir // направление ); Параметры count - Величина стакана, согласно которой находится нужный индекс. Целое число. dir - Направление, согласно которому находится нужный индекс. Целое число. Возвращаемое значение Возвращает индекс позиции с минимальным объемом в стакане. Целое число. Примечание Возвращает индекс позиции с минимальным объемом в стакане. i_max - Возвращает индекс позиции с максимальным объемом в стаканеint i_max( int count, // количество int dir // направление ); Параметры count - Величина стакана, согласно которой находится нужный индекс. Целое число. dir - Направление, согласно которому находится нужный индекс. Целое число. Возвращаемое значение Возвращает индекс позиции с максимальным объемом в стакане. Целое число. Примечание Возвращает индекс позиции с максимальным объемом в стакане. avg - Возвращает среднее значение от заданной позиции на ценовом графикаdouble avg( int index, // индекс int period, // период int shift, // сдвиг int applytoprice // применить к цене ); Параметры index - Индекс бара на ценовом графике. Целое число. period - Период усреднения. Целое число. shift - Сдвиг относительно заданного бара на shift баров назад по истории. Целое число. help#Calculation_average_pricesapplytoprice - Способ расчета цены. Целое число. Возвращаемое значение Возвращает среднее значение цены. Число с плавающей запятой. Примечание Возвращает среднее значение от заданной позиции на ценовом графика. regr - Рассчитывает реальное значение по алгоритму Гаусса в заданной позиции ценового графикаdouble regr( int index, // индекс int degree, // degree double kstd, // kstd int bars // bars ); Параметры index - Индекс бара на ценовом графике. Целое число. degree - Параметр degree. Целое число. kstd - Параметр kstd. Число с плавающей запятой. bars - Параметр bars. Целое число. Возвращаемое значение Реальное значение по алгоритму Гауcса. Число с плавающей запятой. Примечание Рассчитывает реальное значение по алгоритму Гаусса в заданной позиции ценового графика. Дополнительный результат команда записывает в нулевой регистр. Его можно прочесть так: g_reg(0). В данный регистр команда записывает рассчитанное значение границы по алгоритму Гауcса. avgdif - Рассчитывает среднее значение разницы цен в заданной позиции ценового графикаdouble avgdif( int index, // индекс int period, // период int shift, // сдвиг int applytoprice, // применить к цене int dir // направление ); Параметры index - Индекс бара на ценовом графике. Целое число. period - Период усреднения. Целое число. shift - Сдвиг относительно заданного бара на shift баров назад по истории. Целое число. applytoprice - Способ расчета цены. Целое число. dir - Направление - фильтр. Целое число. Возвращаемое значение Среднее значение разницы цен. Число с плавающей запятой. Примечание Рассчитывает среднее значение разницы цен в заданной позиции ценового графика. highest - Находит максимальное значение цены на заданном промежутке, начиная с заданной позиции ценового графикаdouble highest( int index, // индекс int period // период ); Параметры index - Индекс бара на ценовом графике. Целое число. period - Период поиска. Целое число. Возвращаемое значение Максимальное значение цены. Число с плавающей запятой. Примечание Находит максимальное значение цены на заданном промежутке, начиная с заданной позиции ценового графика. Дополнительный результат команда записывает в нулевой регистр. Его можно прочесть так: g_reg(0). В данный регистр команда записывает индекс бара где зафиксирована максимальная цена. lowest - Находит минимальное значение цены на заданном промежутке, начиная с заданной позиции ценового графикаdouble lowest( int index, // индекс int period // период ); Параметры index - Индекс бара на ценовом графике. Целое число. period - Период поиска. Целое число. Возвращаемое значение Минимальное значение цены. Число с плавающей запятой. Примечание Находит минимальное значение цены на заданном промежутке, начиная с заданной позиции ценового графика. Дополнительный результат команда записывает в нулевой регистр. Его можно прочесть так: g_reg(0). В данный регистр команда записывает индекс бара где зафиксирована минимальная цена. c_ind - Команда проводит калькуляцию (расчет) по данным сигнала буфера.double c_ind( int indexbuf, // индекс буфера int index // индекс ячейки буфера ); Параметры indexbuf - Индекс буфера, по сигнальным данным которого будет производиться расчет. Индексация начинается с нуля. Максимум 8 буферов. Целое число. index - Существующая ячейка буфера. Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Результат работы команды - калькуляция сигналов и упорядочивание их в формат позиции. Каждый элемент которой можно прочитать командой gv_position. Состояние позиции рассчитывается не только для конечной (той что активна на данный момент), но и по всему вектору истории. Функцию нужно использовать на каждом баре для формирования данных. Данные по позиции сохраняются в виртуальном векторе входных данных. c_real - Команда проводит калькуляцию (расчет) по реальным даннымdouble c_real(); Параметры Нет входных параметров. Возвращаемое значение Нет возвращаемого значения. Примечание Результат работы команды - калькуляция сигналов и упорядочивание их в формат позиции. Каждый элемент которой можно прочитать командой gr_position. Состояние позиции рассчитывается не только для конечной (той что активна на данный момент), но и по всему вектору истории. Данные по позиции сохраняются в реальном векторе входных данных.В отличие от расчетов виртуальной позиции c_ind, в данном случае происходит расчет по реальным данным из вкладки исторических трейдов. gv_position - Выдает информацию о каждом элементе виртуальной позиции и все его параметры.double gv_position( int indexbuf, // индекс буфера int index, // индекс ячейки буфера int spi // код значения ); Параметры indexbuf - Индекс буфера, с вектором расчетных данных. Индексация начинается с нуля. Максимум 8 буферов. Целое число. index - Существующая ячейка буфера. Целое число. spi - Код результирующего значения. Целое число от 1 до 22. Возвращаемое значение Соответствует заданному коду заданному параметром spi.Число с плавающей запятой. Примечание Выдает информацию о каждом элементе позиции и все его параметры. Относительно вектора тестовых данных. gr_position - Выдает информацию о каждом элементе реальной позиции и все его параметрыdouble gr_position( int index, // индекс ячейки буфера int spi // код значения ); Параметры index - Существующий трейд в истории. Целое число. spi - Код результирующего значения. Целое число от 1 до 22. Возвращаемое значение Соответствует заданному коду заданному параметром spi. Число с плавающей запятой. Примечание Выдает информацию о каждом элементе позиции и все его параметры. Относительно вектора реальных данных c_risk - Позволяет рассчитать объем соответственно заданным настройкам мани-менеджментаdouble c_risk( int t_risk, double risk_lot, double risk_lin_exp, double min_lot, double max_lot, double start_depo, double t_risk, int tcv ); Параметры t_risk - Способ расчета мани-менеджмента. Целое число. risk_lot - Риск или объем в зависимости от типа расчета. Число с плавающей запятой. risk_lin_exp - Способ увеличения объема в зависимости от позиции. Число с плавающей запятой. min_lot - Минимально допустимое ограничение объема. Число с плавающей запятой. max_lot - Максимально допустимое ограничение объема. Число с плавающей запятой. start_depo - Альтернативный реальному депозит, согласно которому будет вестись расчет риска. Число с плавающей запятой. tcv - Тип перерасчета объема. Целое число. Возвращаемое значение Объем рассчитанный соответственно заданным настройкам мани-менеджмента. Число с плавающей запятой. Примечание Позволяет рассчитать объем соответственно заданным настройкам мани-менеджмента. set_dr - Подготавливает расчет команды c_risk для работы с портфельным рискомdouble set_dr( int indexbuf, // индекс буфера int index, // индекс ячейки буфера int real // код значения ); Параметры indexbuf - Индекс буфера, с вектором расчетных данных. Индексация начинается с нуля. Максимум 8 буферов. Целое число. index - Существующая ячейка буфера. Целое число. real - Переключатель: расчет по тестеру (1) или реальным данным (0). Целое число 0 или 1. Возвращаемое значение Нет возвращаемого значения. Примечание Подготавливает расчет команды c_risk для работы с портфельным риском. check_volume - Позволяет рассчитать объем соответственно заданным настройкам мани-менеджментаdouble check_volume( int dir, // направление int rezerv, // резерв double volume // объем ); Параметры dir - Направление ордера для которого рассчитывается объем. Целое число. rezerv - Процент, который остается на балансе (напр. 0.01 - останется на балансе 1%). Число с плавающей запятой. volume - Объем для проверки и последующей коррекции. Число с плавающей запятой. Возвращаемое значение Объем откорректированный соответственно реальному балансу. Число с плавающей запятой. Примечание Позволяет рассчитать объем соответственно заданным настройкам мани-менеджмента. profitability - Позволяет рассчитать месячный процент заработкаdouble profitability( double volume, // объем double balance, // баланс int steps, // количество догонок int bars // количество баров оптимизации ); Параметры volume - Рабочий объем стратегии (единичного ордера). Записан в поле лот или риск. Число с плавающей запятой. balance - Тестовый баланс стратегии после прогонки по историческим данным. Число с плавающей запятой. steps - Максимальное количество догонок в стратегии после прогонки по историческим данным. Целое число. bars - Количество боров на которых тестировалась стратегия. Целое число. Возвращаемое значение Месячный процент заработка стратегии. Число с плавающей запятой. Примечание Позволяет рассчитать месячный процент заработка, можно применять только для тестовых данных. Не универсален, не подойдет для всевозможных стратегий. c_ord - Возвращает рыночную информацию о количестве открытых ордеровint c_ord( int dir // направление ); Параметры dir - Направление ордера. Индексирует ордера отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о количестве открытых ордеров. Целое число. Примечание Возвращает рыночную информацию о количестве открытых ордеров. i_ord - Возвращает рыночную информацию о индексе открытого ордераint i_ord( int num, // номер int dir // направление ); Параметры num - Номер ордера. Нумерация с нуля. Самый новый ордер имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление ордера. Нумерует ордера отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о индексе открытого ордера. Целое число. Примечание Возвращает рыночную информацию о индексе открытого ордера. Если индексация с фильтром по направлению, то команда выдаст индекс без учета фильтра, для дальнейшей работы с ним в не типизованной индексации. Типизированная индексация работает с номерами. Не типизированная с реальными индексами. Разница между номером и индексом заключается в том, что нумеровать можно примеру ордера только бай от нуля к какому-то номеру по порядку. Хотя фактический индекс номера в списке может быть другим, если истории были ордера на сел. Нумерация создана для удобства, если нужно перебрать в цикле например все ордера на бай, мы используем цикл от нуля до максимума ордеров на бай (перебирая по номеру ордера на бай), но для обращения к конкретному ордеру необходимо перевести номер ордера в индекс в общем (реальном) списке номеров. v_ord - Возвращает рыночную информацию о объеме открытого ордераdouble v_ord( int num, // номер int dir // направление ); Параметры num - Номер ордера. Нумерация с нуля. Самый новый ордер имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление ордера. Нумерует ордера отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о объеме открытого ордера. Число с плавающей запятой. Примечание Возвращает рыночную информацию о объеме открытого ордера. p_ord - Возвращает рыночную информацию о цене открытого ордераdouble p_ord( int num, // номер int dir // направление ); Параметры num - Номер ордера. Нумерация с нуля. Самый новый ордер имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление ордера. Нумерует ордера отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о цене открытого ордера. Число с плавающей запятой. Примечание Возвращает рыночную информацию о цене открытого ордера. d_ord - Возвращает рыночную информацию о дате открытого ордераdouble d_ord( int num, // номер int dir // направление ); Параметры num - Номер ордера. Нумерация с нуля. Самый новый ордер имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление ордера. Нумерует ордера отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о дате открытого ордера. Число с плавающей запятой. Примечание Возвращает рыночную информацию о дате открытого ордера. t_ord - Возвращает рыночную информацию о направлении открытого ордераint t_ord( int num, // номер int dir // направление ); Параметры num - Номер ордера. Нумерация с нуля. Самый новый ордер имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление ордера. Нумерует ордера отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о направлении открытого ордера. Целое число. Примечание Возвращает рыночную информацию о направлении открытого ордера. c_trad - Возвращает рыночную информацию о количестве открытых трейдовint c_trad( int dir // направление ); Параметры dir - Направление трейда. Индексирует трейда отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о количестве открытых трейдов. Целое число. Примечание Возвращает рыночную информацию о количестве открытых трейдов. i_trad - Возвращает рыночную информацию о индексе открытого трейдаint i_trad( int num, // номер int dir // направление ); Параметры num - Номер трейда. Нумерация с нуля. Самый новый трейд имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление трейда. Нумерует трейда отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о индексе открытого трейда. Целое число. Примечание Возвращает рыночную информацию о индексе открытого трейда. Если индексация с фильтром по направлению, то команда выдаст индекс без учета фильтра, для дальнейшей работы с ним в не типизованной индексации. Типизированная индексация работает с номерами. Не типизированная с реальными индексами. Разница между номером и индексом заключается в том, что нумеровать можно примеру трейд только бай от нуля к какому-то номеру по порядку. Хотя фактический индекс номера в списке может быть другим, если истории были трейда на сел. Нумерация создана для удобства, если нужно перебрать в цикле например все трейда на бай, мы используем цикл от нуля до максимума трейдов на бай (перебирая по номеру трейда на бай), но для обращения к конкретному трейду необходимо перевести номер трейда в индекс в общем (реальном) списке номеров. v_trad - Возвращает рыночную информацию о объеме открытого трейдаdouble v_trad( int num, // номер int dir // направление ); Параметры num - Номер трейда. Нумерация с нуля. Самый новый трейд имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление трейда. Нумерует трейда отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о объеме открытого трейда. Число с плавающей запятой. Примечание Возвращает рыночную информацию о объеме открытого трейда. p_trad - Возвращает рыночную информацию о цене открытого трейдаdouble p_trad( int num, // номер int dir // направление ); Параметры num - Номер трейда. Нумерация с нуля. Самый новый трейд имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление трейда. Нумерует ордера отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о цене открытого трейда. Число с плавающей запятой. Примечание Возвращает рыночную информацию о цене открытого трейда. d_trad - Возвращает рыночную информацию о дате открытого трейдаdouble d_trad( int num, // номер int dir // направление ); Параметры num - Номер трейда. Нумерация с нуля. Самый новый трейд имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление трейда. Нумерует трейда отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о дате открытого трейда. Число с плавающей запятой. Примечание Возвращает рыночную информацию о дате открытого трейда. t_trad - Возвращает рыночную информацию о направлении открытого трейдаint t_trad( int num, // номер int dir // направление ); Параметры num - Номер отрейда. Нумерация с нуля. Самый новый трейд имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление трейда. Нумерует трейда отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о направлении открытого трейда. Целое число. Примечание Возвращает рыночную информацию о направлении открытого трейда. c_trad_m - Возвращает рыночную информацию о количестве открытых трейдов всего рынкаint c_trad_m( int dir // направление ); Параметры dir - Направление трейда . Индексирует трейда отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о количестве открытых трейдов всего рынка. Целое число. Примечание Возвращает рыночную информацию о количестве открытых трейдов всего рынка. i_trad_m - Возвращает рыночную информацию о индексе открытого трейда всего рынкаint i_trad_m( int num, // номер int dir // направление ); Параметры num - Номер трейда. Нумерация с нуля. Самый новый трейд имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление трейда. Нумерует трейда отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о индексе открытого трейда всего рынка. Целое число. Примечание Возвращает рыночную информацию о индексе открытого трейда всего рынка. Если индексация с фильтром по направлению, то команда выдаст индекс без учета фильтра, для дальнейшей работы с ним в не типизованной индексации. Типизированная индексация работает с номерами. Не типизированная с реальными индексами. Разница между номером и индексом заключается в том, что нумеровать можно примеру трейд только бай от нуля к какому-то номеру по порядку. Хотя фактический индекс номера в списке может быть другим, если истории были трейда на сел. Нумерация создана для удобства, если нужно перебрать в цикле например все трейда на бай, мы используем цикл от нуля до максимума трейдов на бай (перебирая по номеру трейда на бай), но для обращения к конкретному трейду необходимо перевести номер трейда в индекс в общем (реальном) списке номеров. v_trad_m - Возвращает рыночную информацию о объеме открытого трейда всего рынкаdouble v_trad_m( int num, // номер int dir // направление ); Параметры num - Номер трейда. Нумерация с нуля. Самый новый трейд имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление трейда. Нумерует трейда отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о объеме открытого трейда всего рынка. Число с плавающей запятой. Примечание Возвращает рыночную информацию о объеме открытого трейда всего рынка. p_trad_m - Возвращает рыночную информацию о цене открытого трейда всего рынкаdouble p_trad_m( int num, // номер int dir // направление ); Параметры num - Номер трейда. Нумерация с нуля. Самый новый трейд имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление трейда. Нумерует ордера отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о цене открытого трейда всего рынка. Число с плавающей запятой. Примечание Возвращает рыночную информацию о цене открытого трейда всего рынка. d_trad_m - Возвращает рыночную информацию о дате открытого трейда всего рынкаdouble d_trad_m( int num, // номер int dir // направление ); Параметры num - Номер трейда. Нумерация с нуля. Самый новый трейд имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление трейда. Нумерует трейда отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о дате открытого трейда всего рынка. Целое число. Примечание Возвращает рыночную информацию о дате открытого трейда всего рынка. t_trad_m - Возвращает рыночную информацию о направлении открытого трейда всего рынкаint t_trad_m( int num, // номер int dir // направление ); Параметры num - Номер отрейда. Нумерация с нуля. Самый новый трейд имеет нулевой номер. Если задано направление - нумерация согласно фильтру по направлению. Целое число. dir - Направление трейда. Нумерует трейда отдельно, согласно заданному направлению. Целое число. Возвращаемое значение Возвращает рыночную информацию о направлении открытого трейда всего рынка. Целое число. Примечание Возвращает рыночную информацию о направлении открытого трейда всего рынка. send - Отправляет запрос с целью отправить ордер на биржуint send( double price, // цена double volume, // объем int tcv, // tcv int dir, // направление int poly // poly ); Параметры price - Цена, по которой выставляется ордер. Число с плавающей запятой. volume - Объем ордера. Число с плавающей запятой. tcv - Задает перерасчет для единиц объема. Целое число. dir - Направление для ордера. Целое число. poly - Если установлен в 1 - позволяет не фильтровать возможность выставления многих ордеров, если есть необходимость выставить серию ордеров по одному сигналу. Если параметр установлен в 0 - значит ордер будет выставлен только один - по одному сигналу, создан для защиты от дублирования ордеров по одному сигналу. Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Отправляет запрос с целью отправить ордер на биржу. cancel - Отправляет запрос на биржу с целью отменить ордерint cancel( int index // индекс ); Параметры index - Индекс ордера. Индексация с нуля. Самый новый ордер имеет нулевой индекс. Возвращаемое значение Нет возвращаемого значения. Примечание Отправляет запрос на биржу с целью отменить ордер. Используется внутренняя индексация, не идентификатор ордера. cancel_a - Отправляет запрос на биржу с целью отменить группу ордеровint cancel_a( int dir // направление ); Параметры dir - Направление для удаления ордеров. Удалить только ордера по заданному направлению. Если направление нулевое то удаляются все ордера. Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Отправляет запрос на биржу с целью отменить группу ордеров. newarrow - Созадет примитив в открытом чартеint newarrow( int tip, // тип примитива double time, // координата x (временная) double price, // координата y (ценовая) string prefix, // префикс для примитива. string name // имя примитива ); Параметры tip - Тип примитива из списка возможных примитивов. Целое число. time - Координата x (временная) задает время в формате timestamp. Число с плавающей запятой. price - Координата y (ценовая) задает цену. Число с плавающей запятой. prefix - Префикс для примитива. Текстовая константа. name - Имя примитива. Текстовая константа. Возвращаемое значение Возвращает идентификатор примитива. Число с плавающей запятой. Примечание Созадет примитив в открытом чарте. Примитив создается немедленно с параметрами по умолчанию. Для изменения параметров необходимо использовать команду setuparrow. deletearrow - Удаляет примитив из открытого чартаint deletearrow( double id // идентификатор примитива ); Параметры id - Идентификатор примитива. Целое число. Возвращаемое значение Нет возвращаемого значения. Примечание Удаляет примитив из открытого чарта. Примитив удаляется немедленно. setuparrow - Настраивает указанное свойство примитиваint setuparrow( double id, // идентификатор примитива int pp, // заданное свойство примитива double dvalue, // переменная с плавающей запятой (для числовых свойств) string svalue // текстовая константа (для текстовых свойств) ); Параметры id - Идентификатор примитива. Целое число. pp - Свойство примитива из списка возможных свойств примитивов. Целое число. dvalue - Если свойство примитива цифра то задать его нужно с помощь данного поля. Число с плавающей запятой. svalue - Если свойство примитива строка то задать его нужно с помощь данного поля. Текстовая константа. Возвращаемое значение Нет возвращаемого значения. Примечание Настраивает указанное свойство примитива. Свойство изменяется немедленно. countprim - Отображает общее количество примитивов на открытом чартеint countprim(); Параметры Нет входных параметров. Возвращаемое значение Возвращает общее количество примитивов на открытом чарте. Целое число. Примечание Отображает общее количество примитивов на открытом чарте. Для доступа к примитиву по индексу использовать команду getidprim getidprim - Возвращает идентификатор примитива по заданному индексуint getidprim( double index // идентификатор примитива ); Параметры index - Индекс примитива (не путать с идентификатом). Индекс это текущий индекс в списке примитивов на текущем чарте. Целое число. Возвращаемое значение Возвращает идентификатор примитива. Целое число. Примечание Возвращает идентификатор примитива по заданному индексу. Для полученя количества примитивов использовать функцию countprim. idonnameprim - Возвращает идентификатор примитива по заданному имениint idonnameprim( string name // имя примитива ); Параметры name - Имя примитива. Текстовая константа. Возвращаемое значение Возвращает идентификатор примитива. Целое число. Примечание Возвращает идентификатор примитива по указанному имени. Для полученя количества примитивов использовать функцию countprim. Надо не забывать что имена примитивам не присваиваются автоматически. Имя надо задавать самостоятельно, после создания примитива, используя команду countprim getarrow - Возвращает указанное свойство примитиваint getarrow( double id, // идентификатор примитива int pp // заданное свойство примитива ); Параметры id - Идентификатор примитива. Целое число. pp - Свойство примитива из списка возможных свойств примитивов. Целое число. Возвращаемое значение Запрашиваемое свойство примитива. Целое число. Примечание Возвращает указанное свойство примитива. Возвращает только свойства числовые, текстовые свойства прочитать нельзя. Возможные значения таймфрейма0 - M1 1 - M2 2 - M3 3 - M4 4 - M5 5 - M6 6 - M10 7 - M12 8 - M15 9 - M20 10 - M30 11 - H1 12 - H2 13 - H3 14 - H4 15 - H5 16 - H6 17 - H8 18 - H12 19 - D1 20 - D7 21 - D14 22 - D30 Возможные значения тип отображения буфера0 - нет отображения; 1 - линия на ценовом графике; 2 - стрелки бай или сел; 3 - линия под ценовым графиком; 4 - точки; 5 - буфер для данных. Возможные значение тип входного параметра (текстовая константа)"int" - тип int; "double" - тип double. Расчет усредненных цен0 - по ценам закрытия; 1 - по ценам открытия; 2 - по самым высоким ценам; 3 - по самым низким ценам; 4 - по ценам (Median). (Самая высокая цена + самая низкая цена) / 2; 5 - по ценам (Typical).( Самая высокая цена + самая низкая цена + цена закрытия) / 3; 6 - по ценам (Weighted). (Самая высокая цена + самая низкая цена + цена закрытия + цена закрытия) / 4. Перерасчет объема0 - объем воспринимать в значении первой валюты из названия валютной пары; 1 - объем воспринимать в значении второй валюты из названия валютной пары; 2 - объем воспринимать в долларовом эквиваленте; 3 - объем воспринимать в эквиваленте биткойна (BTC). Используется при получении баланса0 - получить баланс по указанной криптовалюте; 1 - получить баланс по первой части пары криптовалют; 2 - получить баланс по второй части пары криптовалют. Тип мани-менеджмента. Используется при расчёте объема по указанному риску
Указание направления0 - направление не определено; 1 - направление на buy; -1 - направление на sell. Стили отображения линий0 - сплошная; 1 - пунктирная, длинные штрихи; 2 - пунктирная, короткие штрихи; 3 - пунктирная, с чередованием длинного и короткого штрихов; 4 - пунктирная с чередованием одного длинного и двух коротких штрихов. ЦветаИспользуются при отображения буферов, можно использовать непосредственно в текстовом виде.
Статус позиции0 - позиции не существует; 1 - начало позиции; 2 - реверс позиции; 3 - позиция продолжается. Типы примитивов
Свойства примитивов
Сигнальные звуки
Типо-размер сигнального сообщения
Объем или рискЕсли тип мани-менеджмента установлен как "работа с объемом", тогда значение по данному полю будет представлять собой объем. Если тип мани-менеджмента - "объем рассчитывается от баланса с помощью понятия риск", - тогда значение по данному полю будет представлять собой расчетное значение по формуле: Суммарный депозит по двум частям валютной пары (в единицах, указанных в параметре перерасчета объема), умноженный на коэффициент, который и будет являться риском (Coin1+Coin2.ToCoin1) * Risk. Суть такого подхода заключается в том, что если изменится значение реального депозита, то лот сразу подстроится под реальный депозит согласно заданному коэффициенту, который здесь называется риском. Минимально допустимый объемНеобходимо установить таким, какой допускает для работы биржа или таким, меньше которого вы не хотите выходить на рынок. Это необходимо для того, чтобы избежать ошибок, связанных с неправильным объемом. Например, потому что значение слишком малое и недопустимо для данной пары. Для каждой пары это значение будет другим. Максимально допустимый объемНеобходимо установить таким, какой вы можете себе позволить и таким, чтобы не превышал депозита ни по одной из валют валютной пары, поскольку иначе возникнет проблема с нехваткой средств на счете. Для каждой пары это значение будет другим. Способ коррекции объемаСпособ увеличения объема в зависимости от позиции. Необходим для того, чтобы превратить обычный сеточный бот в эксперт, использующий систему Мартингейла. То есть, каждый последующий ордер против тренда увеличивать объем на определенную величину. Данный параметр будет высчитывать значение объема при каждом шаге по экспоненциальному закону. Чем больше данный параметр, тем более прогрессивной будет экспонента. В данной версии этот параметр еще не реализован. Он запланирован для следующих версий. Депозит для расчета рискаДля расчета риска можно использовать не настоящий депозит (то есть сумму двух валют из пары), а указанный этим параметром депозит, который будет зафиксирован в данном поле в единицах, указанных в параметре перерасчета объема. Такой подход может быть удобным в некоторых стратегиях. Сеточный режимДает возможность торговать не одной сделкой, как в классическом случае, а сеткой сделок (по сигналам в каждом узле с фильтром минимального шага). При этом возможен вариант как обычной сетки, так и сетки по Мартингейлу. Для того, чтобы перейти от режима обычной сетки к режиму сетки по Мартингейлу, нужно в настройках мани-менеджмента указать способ коррекции объема больше единицы, например 1.0, таким образом активируется функция прогрессивного увеличения лота в зависимости от количества сделок в серии. Если значение данного поля равно нулю, то функция выключена и работа ведется с одним ордером. Для активации функции ее нужно установить равной единице. Шаг сеткиДанный параметр показывает, через какой отрезок по оси Y (цены) разрешено делать догонку. Т.е. в тот момент, когда цена движется против тренда и мы планируем совершить догонку, необходимо чтобы бот сверился, на какой именно отрезок изменилась цена. Если отрезок больше, чем данный параметр и если кроме этого есть сигнал индикатора, бот получает разрешение на совершение следующего ордера. Объяснение термина "догонка". Закрытие по профиту как по сигналуДанный параметр означает, что если серия трейдов или один трейд достигнет заданного в настройках профита, трейд или серия будет закрыта противоположным ордером, не ожидая сигнала от сигнального индикатора. Фактически это аналог закрытия по тейк-профиту, поскольку сигнал на закрытие генерируется при достижении определенного профита. Направление работыДанный параметр задает направление для работы робота. Может иметь следующие три значения: -1 - разрешение на вход только на селл. 1 - разрешение на вход только на бай. 0 - разрешение на вход в любом направлении. Касается начала серии. Начнется только та серия, которая разрешена данным параметром. Сигналы, которые не совпадают с данным фильтром будут проигнорированы. Профит (от линии безубытка)Данный параметр задает профит. Он используется при закрытии ордера или серии ордеров. В случае серии ордеров профит рассчитывается от суммарной для серии линии нулевых затрат. Данный параметр означает, что закрытие не произойдет, если не будет заработан нужный уровень профита. Сигнал на закрытие ордера или серии сработает только тогда, когда он будет согласован с данным параметром. Если дополнительно включен режим закрытия по профиту как по сигналу , данный уровень будет фактически сигналом на закрытие серии или ордера, не ожидая дополнительно сигнала индикатора. Закрытие в минусе по сигналуДанный параметр позволяет закрывать ордер в минусе. Использовать для серии невозможно, поскольку если данный параметр включен, серия практически работать не будет, т.к. в тот момент, когда придет сигнал для догонки, будет осуществлено закрытие в минусе. Т.е., закрытие в минусе взаимоисключает возможность использования серий. Режим торговли с помощью сетки или Мартингейла не будет работать, если данный параметр включен. Отступ от сигналаЗадает отступ от сигнала. Работает только для реального ордера, при тестировании не учитывается. Работает следующим образом. Когда есть сигнал на бай, ордер выставится немного ниже, чем указывает сигнал (на данную величину). Если есть сигнал на селл - ордер выставится немного выше (на данную величину). Если данный параметр будет с минусом, ситуация изменится на противоположную для бай и для селл. Если данный параметр будет равен нулю, ордер будет выставлен именно по той цене, по которой указывает сигнал. Ограничения по спредуПозволяет определить разницу между ценой bid и ценой ask. Эта разница является фильтром для входа. Т.е. когда есть сигнал на вход - проверяется на каждом тике текущая разница между ценой bid и ценой ask , сверяется с заданным в настройках значением и если реальное значение меньше или равно заданному - дается разрешение на открытие. Если же нет - ожидается новый тик и бот снова пытается пройти данную проверку. Если на протяжении целого бара, на котором есть сигнал, так и не будет соответствующего значения (т.н. спреда), то сигнал не будет исполнен. Параметр создан для того, чтобы максимально увеличить точные открытия по рыночной цене и максимально приблизить ее к цене сигнала. Т.е. цена сигнала совпадает с ценой открытия бара. Реальная цена будет по цене bid или ask в зависимости от направления на sell или на buy соответственно. Если использовать способ входа по цене - сигнал часто будет оставаться на вкладке открытых ордеров и останется нереализованным, если цена провалится. При использовании цен bid и ask ордер чаще всего будет исполнен сразу. Конечно, если на бирже хватит объема по нужной цене и если до момента выполнения цена частично не изменится. Тогда часть ордера может остаться невыполненной и висеть на странице открытых ордеров. Но таких ситуаций значительно меньше и подобные хвосты чаще все же выполняются за короткое время. Пауза после открытия ордераПозволяет установить паузу после открытия ордера, т.е. после того, как бот решает открыть ордер, он временно останавливает работу на заданное количество миллисекунд. Это сделано для того, чтобы за это время биржа успела выполнить запрос на открытие ордера, а терминал успел обновить информацию про новые исторические трейды или открытые ордера. После того, как заданный интервал истечет, бот снова включается в активную работу и, как правило, информация в терминале успевает обновиться и бот корректно видит последствия своей работы. Пауза для выполнения ордераПозволяет установить паузу в работе после того, как на биржу был отправлен ордер, но он выполнился лишь частично или не выполнился вообще. Бот в такой ситуации останавливает работу и анализирует открытые ордера. Данный интервал определяет количество времени, начиная с текущего момента в истории, на протяжении которого бот будет видеть висящий ордер и не будет предпринимать никаких новых действий, а будет ждать выполнения ордера. После того, как данное время истечет или ордер выполнится, бот сможет продолжить работу. Стратегия тестераДанный параметр позволяет переключить работу бота с режима тестирования на реальный режим работы. В режиме тестирования можно увидеть, как бот будет торговать по сигналам индикатора, все позиции, которые будут совершаться в соответствии с историческими данными; будет предоставлена статистика по прибыльности и изменению баланса. В режиме реальной работы не будет видно результатов тестирования, но будут видны уже реальные текущие данные, с которыми работает бот, реальные трейды и реальная статистика. Показывать все сигналыПараметр включает или выключает отображение сигнального индикатора. Сигнальный индикатор дает сигналы в соответствии с правилами работы индикатора и отображает их в виде точки в месте сигнала. Данный сигнал может быть выполнен или нет - это уже решает бот в зависимости от ситуации. Ситуации возможны следующие. Позиции нет - тогда бот начнет новую позицию согласно направлению сигнала. Позиция есть - тогда бот проанализирует, выполнены ли условия, заданные для догонки позиции или для ее закрытия и в соответствии с анализом выполнит сигнал или же нет. Разрешить реальные ордераЧтобы проверить стратегию, не делая реальных ордеров, данный параметр стоит отключить. Тогда бут будет работать так: сигнал поступает в журнал, но не будет выходить на реальный рынок, он остановится в журнале. После этого можно проанализировать сообщения в журнале и сверить корректность работы. Показывать информацию о позицииДанный пункт позволяет на графике теста отобразить кроме стрелочек на buyи sell, различную информацию о позиции (в общем 22) в зависимости от данного параметра. Если параметр установлен на ноль, заметки возле стрелочек отсутствуют. Далее рассмотрен перечень заметок.
Объяснение термина "догонка"Догнаться - означает поставить дополнительный ордер в ту же сторону, куда направлен первый ордер серии, все ордера серии будут выставляться в одном направлении, до того момента, пока серия не достигнет суммарного плюса, указанного в настройках. В случае суммарного профита будет выставлен один ордер в противоположную сторону с объемом, равным по сумме всем объемам ордеров серии. Т.е. объем закрывающего ордера будет таким же, как сумма объемов ордеров целой серии. Таким образом серия будет закрыта в заданном профите и на депозите будет суммарный профит, а серия будет закрыта. Демонстрация возможностей языка LCRYP (Language Cryptocurrency)Основные возможности языка собраны в одну программу. Специализированные команды описаны в данной справке. Ознакомившись с данным примером, можно понять, как работают программы, написанные на языке LCRYP на базовом уровне. Ниже представлена демонстрация средств программирования, поддерживаемых в LCRYP:/* Глобальные переменные. */ int ga; double gx; char gc; int OnTick() { /* Локальные переменные.*/ int a, index; double x,y; char c; /* Присваивание как операция.*/ ga = a = 3; gx = x = y = 5; gc = c = '0'; index = 0; prt(index,"a = ["); /* Цикл while. */ while(a>=0) { prt_a(index,a); a = a - 1; } prt_a(index,"]"); index = 1; Print_AZ(index); // Использование функции. index = 2; gc = 'A'; prt(index,""); /* Цикл do-while. */ do { prt_a(index,gc); gc = gc + 1; } while(gc !='F'); /* Демонстация рекурсии. */ index = 2; prt(index,""); x = 3; y = 2; gx = factr(index,math(x,y)); // Использование аргументов функций. prt_a(index," factr="); prt_a(index,gx); return 0; } /* Вывод на экран английского алфавита. */ int Print_AZ(int index) { char ch; prt(index,""); // Начало вывода строки с индексом index на чарт. /* цикл for */ for (ch = 'A'; ch<='Z'; ch = ch + 1) { prt_a(index,ch); // Продолжение вывода строки с индексом index на чарт. } return 0; } /* Возвращает факториал числа i. */ int factr(int index, int i) { prt_a(index,i); if(i<2) { return 1; } else { return i * factr(index,i-1); } } int math(int a, int b) { return a+b; } /* Функция не задействована. */ int OnInit() { return; } /* Функция не задействована. */ int OnBar() { return; } Возможности языка LCRYP
Ограничения языка LCRYPНеобходимость использования блоков, заключенных в фигурные скобки.Грамматика LCRYP имеет некоторые ограничения. Первое ограничение заключается в том, что использовать функцию main запрещено. Следующее ограничение: телом операторов if, do, while и for может быть только блок, заключенный в фигурные скобки. Если телом является единственный оператор, он также должен быть заключен в фигурные скобки. Например, интерпретатор LCRYP не сможет правильно обработать следующие фрагменты программы: for(...) for(...) // ... if (...) if (...) // ... Эти фрагменты должны быть написаны так: for(...) { for(...) { // ... } } if (...) { if (...) { // ... } } Необходимость объявлять все локальные переменные в самом начале функции.Все локальные переменные должны быть объявлены в самом начале функции, сразу после открывающейся фигурной скобки. Локальные переменные не могут быть объявлены внутри какого-либо блока. int func() { int i; // это допустимо if(...) { int i; // это не допустимо } } Необходимость формировать определение любой функции с какого-либо типа данных.И, наконец, последнее ограничение: определение каждой функции должно начинаться с какого-либо типа данных. Интерпретатор LCRYP не поддерживает традиционное правило "int по умолчанию". Не правильно: func() { // ... } Правильно: int func() { // ... } Ограничения параметров бота.Для бота разрешено ограниченное количество входных параметров, их может быть не более 32. Индексация параметров начинается с нуля. Параметры можно указывать на разных языках (тех что присутствуют в терминале). По умолчанию английский язык. Максимальное количество различных языков перевода параметров - 8. Также можно указывать ссылку на интернет ресурс с пояснениями к параметру. Пример: s_par(0,"int","LimitBars",500); lang_par(0,"Russian",0,"Ограничение баров"); lang_par(1,"Ukrainian",0,"Обмеження барів"); link_par(1,"https://terminalcoin.com/help"); Ограничения индикаторных буферов.Для бота разрешено максимум 8 буферов отображения или анализа информации. Индексация буферов начинается с нуля. Пример: s_buff(0,1,1,0,"Blue","Blue","Blue"); s_buff(1,1,1,0,"Red","Red","Red"); Ограничения строк с комментариями на чартеДля бота разрешено максимум 8 строк для вывода информации на чарт. Индексация строк начинается с нуля. Пример: prt(0,"Bot Moving Fast-Slow"); Ограничения внутренних регистров для обмена даннымиДля программы LCRYP разрешено максимум 32 регистра для обмена данными между различными пространствами выполнения. Индексация регистров начинается с нуля. Пример: s_reg(1,0); s_reg(2,0); s_reg(3,0); Ограничения групповых операторовДля программы LCRYP разрешена группировка только попарная. Пример как правильно: if ((price != 0) && (price > nline)) && (p_ma1 == p_ma2) { } Пример как не правильно: if (price != 0) && (price > nline) && (p_ma1 == p_ma2) { } Команды языка LCRYPБольшая часть команд LCRYP - это команды, связанные с различными рыночными элементами. Они описаны в разделах данной справки. Хоть этот набор и кажется небольшим, однако его достаточно для разработки ботов. Элементарная программа на языке LCRYPПрограмма "Hello, world" выглядит так: int OnTick() { prt(0,"Hello, world"); } Фундаментальные операторы языка LCRYPСуществуют два типа операторов. Унарное выражение состоит из унарного оператора, за которым следует выражение. Бинарное выражение состоит из 2 операндов, соединенных бинарным оператором. В языке LCRYP имеются следующие унарные операторы:
Бинарные операторы имеют левую ассоциативность, т. е. выполняются слева направо. В языке LCRYP имеются следующие бинарные операторы:
Оператор условного выражения имеет более низкий приоритет, чем бинарные выражения, и отличается от них тем, что имеет правую ассоциативность. К выражениям с операторами также относятся выражения присваивания, в которых используются бинарные операторы присваивания. Бинарные операторы присваивания — это оператор простого присваивания (=) и составные операторы присваивания. Все составные операторы присваивания состоят из другого бинарного оператора и оператора простого присваивания. Оператор return (LCRYP)Оператор return завершает выполнение функции и возвращает управление вызывающей функции. Выполнение возобновляется в вызывающей функции в точке сразу после вызова. Оператор return также может возвращать значение, передавая его вызывающей функции. Оператор не является обязательным. Синтаксисоператор-перехода: return выражение необяз.; Значение параметра "выражение", если оно указано, возвращается вызывающей функции. Если параметр "выражение" опущен, возвращаемое значение функции не определено. Параметр "выражение", если он присутствует, вычисляется и преобразуется к типу, возвращаемому функцией. Если функция была объявлена с типом возвращаемого значения int, то оператор return, содержащий выражение и вычисляет выражение, и преобразует к типу. Если в определении функции оператор return не указан, то после выполнения последнего оператора вызванной функции управление автоматически возвращается вызывающей функции. В этом случае возвращаемое значение вызванной функции не определено. Если возвращаемое значение не требуется, функция тем не менее объявляется с возвращаемым типом int; в любом случае должно быть явно указано возвращаемое значение. Многие программисты заключают параметр выражения в выражении return в скобки. Однако в LCRYP нет требования об использовании скобок. int func() { int x; int y; x = 1; y = 2; return x+y; } Оператор if и else (LCRYP)Оператор if управляет условным ветвлением. Тело оператора if выполняется, если значение выражения отлично от нуля. Существует две формы синтаксиса оператора if. Синтаксисоператор-выбора: if ( выражение ) { оператор } if ( выражение ) { оператор } else { оператор } Использование фигурных скобок в LCRYP является обязательным! Оператор if может быть вложенным. В обоих формах оператора if производится вычисление (включая все побочные эффекты) выражений, которые могут иметь любое значение. В первой форме синтаксиса если выражение верно (значение не равно нулю), выполняется оператор. Если выражение ложно, оператор пропускается. Во второй форме синтаксиса, в который используется предложение else, второй оператор выполняется, если выражение ложно. Затем в обеих формах управление передается из оператора if в следующий оператор программы. Выполнение оператора for может также прерываться, если в теле оператора выполняется оператор return. Ниже приведены примеры операторов if:if ( i > 0 ) { y = x / i; } else { x = i; y = f( x ); } В этом примере оператор y = x/i; выполняется, если i больше 0. Если значение i меньше или равно 0, значение i присваивается переменной x, а значение f( x ) присваивается переменной y. Обратите внимание, что оператор, образующий предложение if, использует фигурные скобки, что является обязательным. Оператор for (LCRYP)Оператор for позволяет повторить выполнение того или иного оператора или составного оператора заданное число раз. Тело оператора for выполняется ноль или более раз, пока обязательное условие не примет значение false. Внутри оператора for можно использовать необязательные выражения для инициализации и изменения значений во время выполнения этого оператора (for). Синтаксисоператор-итерации: for ( init-expression обяз ; cond-expression обяз ; loop-expression обяз ) { statement } Использование фигурных скобок в LCRYP является обязательным! Оператор for может быть вложенным. Оператор for выполняется следующим образом. Вычисляется выражение init-expression . Оно определяет инициализацию цикла. На тип выражения init-expression ограничений не накладывается. Вычисляется выражение cond-expression . Это выражение должно иметь арифметический тип. Оно вычисляется перед каждой итерацией. Возможны два результата.
Выполнение оператора for может также прерываться, если в теле оператора выполняется оператор return. В следующем примере показано использование оператора for. double p_high; int i; for(i=1;i<=ReCount;i=i+1) { p_high=high(i); if (p_high>0) { s_dbuff(0,i,p_high,0,0,"",0,0); } } Оператор do или (do-while) (LCRYP)Оператор do позволяет повторять выполнение оператора или составного оператора до тех пор, пока указанное выражение не станет ложным. Синтаксисоператор-итерации: do { оператор } while ( выражение ); Использование фигурных скобок в LCRYP является обязательным! Оператор do может быть вложенным. Выражение в операторе do вычисляется после выполнения тела цикла. Поэтому тело цикла всегда выполняется по крайней мере один раз. Выражение должно иметь арифметический тип. Выполнение происходит следующим образом: Выполняется тело оператора. Затем вычисляется значение выражения. Если значение выражения false, выполнение оператора do завершается и управление передается следующему оператору программы. Если значение выражения истинно (не равно нулю), процесс повторяется с шага 1. Выполнение оператора do может также прерываться, если в теле оператора выполняется оператор return. Ниже приводится пример оператора do. do { y = f( x ); x=x-1; } while ( x > 0 ); В этом примере оператора do выполнение оператора завершается, когда значение переменной x становится равным 0 или (или меньше 0). Тело цикла выполняется по крайней мере один раз. Оператор while (LCRYP)Оператор while позволяет повторять выполнение оператора или составного оператора до тех пор, пока указанное выражение не станет ложным. Синтаксисоператор-итерации: while ( выражение ) { оператор } Использование фигурных скобок в LCRYP является обязательным! Оператор while может быть вложенным. Выражение должно иметь арифметический тип. Выполнение происходит следующим образом: Вычисляется значение выражения. Если выражение изначально ложно, тело оператора while не выполняется ни одного раза и управление передается из оператора while следующему оператору в программе. Если выражение имеет значение true (не равно нулю), выполняется тело оператора и процесс повторяется с шага 1. Выполнение оператора do может также прерываться, если в теле оператора выполняется оператор return. Ниже приводится пример оператора while. double p_high; while ( i >= 0 ) { p_high=high(i); i=i-1; } В этом примере когда значение переменной i становится равным 0 (или меньше 0), выполнение оператора while прекращается. Тело цикла может не выполниться ни разу. Тип данных char (LCRYP)char — это тип данных, выражающий буквенно-цифровой символ. Под переменную с данными типа char в памяти отводится 8 бит. Синтаксис и примерchar ch; ch = 'A'; Тип данных int (LCRYP)int — это тип данных, выражающий целочисленные переменные. Под переменную с данными типа int в памяти отводится 32 бита. Синтаксис и примерint i; i = 32; |