Учебник Pine Script 4
Шрифт:
В скрипте Pine вы будете создавать либо индикатор , либо стратегию . Мы подробно обсудим различия в этой статье.
Если вы следите за ходом, экран, на который вы сейчас смотрите, является начальным сценарием по умолчанию для создания индикатора.
Пробежимся по нему строчка за строчкой. // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
Первая строка — это просто комментарий. Комментарии в скрипте Pine начинаются с двух косых черт. // © author
Вторая
В четвертой строке вы можете предположить, что у нас есть еще один комментарий. Однако эта линия немного отличается.
Это известно как директива компилятора. Это позволяет компилятору узнать, какую версию скрипта Pine мы хотим использовать.
Вы можете отказаться от первых двух строк комментария, если хотите, но директива компилятора требуется во всех скриптах. indicator("My Script")
Строка 5 является объявлением. Здесь указываете, создаете ли вы индикатор.
Альтернативой является создание стратегии, но мы начнем с индикатора.
Вторая часть строки 5 в кавычках — это имя, которое мы присвоим этому конкретному индикатору. По умолчанию используется Мой сценарий . plot(close)
Строка 6 содержит команду построения графика. Как вы уже, наверное, догадались, она приказывает TradingView построить график определенной переменной.
В этом случае переменная close будет построена. Это встроенная переменная, которая содержит цену закрытия последнего бара.
Давайте нажмем «Добавить в диаграмму» в правом верхнем углу редактора Pine.
Вам будет предложено сохранить сценарий.
После сохранения ваш график должен получить новое окно, содержащее график цен закрытия с вашего основного графика.
Это окно называется окном данных. На изображении выше это линейная диаграмма, нарисованная синим цветом.
Обратите внимание, что окно данных показывает «Мой сценарий» в верхнем левом углу. Это извлекает все, что введено в строку 5 нашего кода, где мы объявили имя для индикатора.
И вот он, наш первый индикатор, и нам даже не нужно было писать код! Как узнать цену Apple?
В нашем первом примере мы построили цену закрытия. Скрипт Pine автоматически сделает это для любого открытого графика.
В данном случае у нас был открыт дневной график биткойна.
Но что, если вы хотите получить данные для другого актива? Давайте рассмотрим пример, в котором мы берем цену Apple, даже если у нас нет открытого графика.
Каждый скрипт начинается с нескольких строк, в которых мы устанавливаем директиву компилятора. Мы также указываем, является ли это индикатором или стратегией, которую мы создаем,
В данном случае мы создаем индикатор. Название этого индикатора – «цена Apple».
Далее мы должны сообщить Pine Script, что нас интересует актив, отличный от того, что в данный момент отображается на графике.
Для этого мы можем использовать функцию request.security. request.security
Приятной особенностью скрипта Pine является то, что справка всегда легко доступна, если вы работаете с синтаксисом, с которым раньше не работали.
Например, мы можем навести курсор на нашу функцию, и она покажет краткое описание.
Для получения более подробной информации вы можете запустить окно справки. Для этого нажмите CTRL, щелкнув функцию на ПК. Или, на Mac, нажмите CMD, нажимая на функцию.
Функция справки разъясняет синтаксис и даже содержит полезные примеры. request.security("AAPL", "D", close)
Мы использовали синтаксис, аналогичный примеру в приведенном выше фрагменте кода. Первым значением в функции безопасности является тикер, который является AAPL.
Затем мы устанавливаем временные рамки на день. И, наконец, мы сообщили скрипту Pine, что нас интересует цена закрытия.
Мы можем сохранить возврат функции в переменную. apple_price = request.security("AAPL", "D", close)
Теперь переменная apple_price будет содержать последнее дневное закрытие акций Apple.
Исследования, созданные в скрипте Pine, должны иметь хотя бы один вывод, иначе скрипт выдаст ошибку компилятора.
Давайте построим нашу переменную так, чтобы она удовлетворяла правилу сценария Pine о наличии вывода. plot(apple_price)
После сохранения и добавления на график наш экран выглядит так.
Теперь у нас есть дневная цена закрытия Apple, отображаемая в окне данных, в то время как в главном окне отображается свечной график биткойнов.
Полный код: //@version=5 indicator("price of Apple") apple_price = request.security("AAPL", "D", close) plot(apple_price) Как получить SMA ( 20 ) Apple?
Теперь, когда мы можем получить доступ к цене акций Apple, давайте рассмотрим пример получения простой скользящей средней.
Тот же процесс можно использовать для применения любого индикатора.
Мы начнем с наших основных объявлений и используем функцию безопасности, которую мы создали в нашем последнем примере. //@version=5 indicator("Get 20 SMA of Apple") // Get price of Apple apple_price = request.security("AAPL", "D", close) // 1 Day
Если вы не хотите получать 20 SMA специально для AAPL, вы можете пропустить определение безопасности и просто использовать встроенную переменную close.
Это позволит получить цену закрытия для любой ценной бумаги, которая отображается в главном окне графика.