Обзор аннотаций
- Аннотация study
- Аннотация plot
- Входные данные input
- Логический ввод
- Целочисленный ввод
- Ввод с плавающей точкой
- Ввод тикера и таймфрейма
- Ввод периода сеанса
- Ввод источника данных
- Параметр options
- Уровни цен, hline
- Заливка фона с помощью fill
- Раскраска баров с помощью barcolor
- Раскраска фона с помощью bgcolor
Аннотация study
Каждый скрипт индикатора [1] должен содержать один вызов функции аннотации study, которая имеет следующую форму записи:
study(title, shorttitle, overlay, format, precision)
Аннотация study определяет основные свойства индикатора. Обязательным является только титульный параметр. Он определяет название индикатора. Это название будет использоваться в диалоге “Индикаторы” и не зависит от названия, используемого для сохранения скрипта в вашей Личной библиотеке.
shorttitle — краткое название индикатора, отображаемого на графике, если оно должно отличаться от значения title.
overlay это логичный аргумент. Если true, то индикатор будет добавлен в виде наложения поверх основного графика. Если false, он будет добавлен в отдельную панель. Значение по умолчанию — false. Обратите внимание: если вы изменяете значение параметра в скрипте, который уже находится на графике, вам нужно использовать кнопку «Добавить на график», чтобы применить изменение.
format определяет тип форматирования, используемого для значений индикатора, отображаемых на оси цен, в значениях индикатора или в окне данных. Возможные значения: format.inherit, format.price и format.volume. По умолчанию format.inherit используют параметры формата из графика, только если они также не используются precision=, и в этом случае он переопределит эффект format.inherit. Когда используется format.price, точность по умолчанию будет «2», если другое не указанно с помощью precision=. Когда используется format.volume, формат эквивалентен precision=0 используемому в более ранних версиях Pine, где «5183» становится «5,183K».
precision— количество цифр после числа с плавающей запятой, используемое для форматирования значений индикатора. Оно должно быть неотрицательным целым числом и не больше 16. Если не указано, будет использоваться форматирование из родительской серии на графике. Если пропустить, то будет использовано форматирование из родительских серий на графике. Если формат format.inherit и используется параметр precision со значением, то индикатор не будет наследовать форматирование от настроек графика, а вместо него будет использоваться указанное значение, как если бы использовался format=format.price.
Сноска
1 Pine также имеет функцию аннотации стратегии, которая используется для создания стратегии тестирования на истории, а не индикатора.
Аннотация plot
Функция аннотации plot имеет один обязательный параметр: значение типа серии, которое она отображает в виде строки. Основной вызов выглядит следующим образом:
Автоматическое преобразование типов Pine позволяет также использовать любое числовое значение в качестве аргумента. Например:
В этом случае значение 125,2 будет автоматически преобразовано в значение типа серии, которое будет иметь одно и то же число на каждом столбце. Диаграмма будет представлена в виде горизонтальной линии.
Аннотация plot имеет множество дополнительных параметров, в частности те, которые устанавливают стиль отображения линии: style, color, linewidth, transparency и др.
Значение параметра color можно определять по-разному. Если, например color.red, это константа цвета, то вся линия будет построена с использованием красного цвета:
Значение color также может быть выражением ряда значений цвета. Эта серия цветов будет использоваться для окраски визуализированной линии.
Например:
Параметр offset указывает сдвиг, используемый при построении линии (отрицательные значения сдвигаются влево, а положительные — вправо) [1].
Например:
Как видно на скриншоте, красная серия сдвинута влево (поскольку значение аргумента отрицательное), а зеленая серия сдвинута вправо (ее значение положительное).
Сноски
1 В Pine есть встроенная функция offset, которая сдвигает значения серии вправо, в то время как значения «вне диапазона» отбрасываются. Преимущество функции offset заключается в том, что ее результат может быть использован в других выражениях для выполнения сложных вычислений. В случае со смещением параметра функции plot сдвиг носит косметический характер; фактические значения в серии не сдвигаются.
Входные данные input
Функция аннотации input позволяет пользователям скрипта изменять выбранные значения, которые сценарий затем может использовать в своих вычислениях или логике, без необходимости изменять код скрипта.
Специальные виджеты поставляются в диалоговом окне «Настройки/входы» для каждого типа ввода. Можно также задать описание значения, а также минимальные/максимальные значения и шаг изменения. Если тип входной переменной не может быть выведен на этапе компиляции, его можно явно определить с помощью параметра type.
Pine поддерживает следующие типы ввода:
- input.bool,
- input.integer,
- input.float,
- input.string,
- input.symbol,
- input.resolution,
- input.session,
- input.source.
В следующих примерах показано, как создать каждый тип ввода и как выглядит его виджет.
Логический ввод
Целочисленный ввод
Ввод с плавающей точкой
Ввод тикера и таймфрейма
Виджет ввода символов имеет встроенный поиск символов, который автоматически активируется при вводе первых символов тикера.
Ввод периода сеанса
Ввод источника данных
Параметр options
Параметр options полезен тем, чтобы предоставить пользователям список постоянных значений, которые они могут выбрать при использовании выпадающего меню.
Уровни цен, hline
Функция аннотации hline отображает горизонтальную линию на заданном уровне.
Например:
Номер должен быть первым аргументом hline. Значения серийного типа запрещены. Можно создать несколько горизонтальных линий с помощью hline и заполнить фон между ними полупрозрачным цветом с помощью заливки(fill).
Заливка фона с помощью fill
Функция аннотации fill позволяет вам раскрасить фон между двумя нанесенными на график сериями или двумя горизонтальными линиями, созданными с помощью hline.
В следующем примере показано, как работает fill:
Обратите внимание, что аннотация fill не может использоваться одновременно с аргументами plot и hline. В качестве обходного пути вы можете заменить вызовы hline расширением plot(<constant number>).
Например:
Вы можете установить цвет заливки, используя константы, такие как color=color.red или color=#ff001a, а также сложные выражения, такие как color = close >= open ? color.green : color.red.
Пример:
Раскраска баров с помощью barcolor
Функция аннотации barcolor позволяет указать цвет баров. Окраска может быть условной. Следующий скрипт отображает внутренние и внешние бары разными цветами:
Как видите, значение na оставляет бары как есть.
barcolor работает независимо от того, запущен ли скрипт в режиме overlay=true или нет.
Раскраска фона с помощью bgcolor
Функция аннотации bgcolor изменяет цвет фона скрипта. Если скрипт запущен в режиме overlay=true, он окрашивает фон графика. Используемый цвет bgcolor может быть вычислен в выражении, а дополнительный параметр transp (0–100, по умолчанию 90) позволяет управлять уровнем прозрачности.
Вот скрипт, который раскрашивает фон торговых сессий (попробуйте на EURUSD, с таймфрейме 30 минут ):