Краткое руководство – Robo.trading

Краткое руководство

Скрипт, написанный на языке Pine, состоит из функций и переменных. Функции содержат инструкции, которые описывают необходимые вычисления. Переменные сохраняют значения, использованные или созданные во время этих вычислений.

Скрипт должен содержать аннотацию study (индикатор) или strategy (стратегия), которая определяет имя и другие свойства  скрипта. Тело сценария содержит функции и переменные, необходимые для вычисления результатов, которые будут отображаться на графике с помощью функции plot или какой-либо другой функции, которая отображает выходные данные скрипта.

Пример скрипта Pine

Давайте посмотрим на реализацию индикатора MACD в Pine:

//@version=4
study("MACD")
fast = 12, slow = 26
fastMA = ema(close, fast)
slowMA = ema(close, slow)
macd = fastMA - slowMA
signal = sma(macd, 9)
plot(macd, color=color.blue)
plot(signal, color=color.orange)
Пример кода 1
 
//@version=4
Строка 1

Это комментарий, содержащий описание версии компилятора, которая сообщает компилятору, что скрипт будет использовать 4-ую версию языка Pine.

study("MACD")
Строка 2

Определяет имя скрипта, который будет отображаться на графике как «MACD».

fast = 12, slow = 26
Строка 3

Определяет две целочисленные переменные с названиями: fast и slow.

fastMA = ema(close, fast)
Строка 4

Определяет переменную fastMA, содержащую результат расчета EMA (Exponential Moving Average, экспоненциальное скользящее среднее) с длиной, равной fast (12), для close, т.е. цены закрытия свечей.

slowMA = ema(close, slow)
Строка 5

Определяет переменную slowMA, содержащую результат вычисления EMA с длиной, равной slow (26), для close.

macd = fastMA - slowMA
Строка 6

Определяет переменную macd как разницу между двумя EMA.

signal = sma(macd, 9)
Строка 7

Определяет переменную signal как сглаженное значение macd, с использованием алгоритма SMA (Simple Moving Average, простое скользящее среднее) с длинной 9.

plot(macd, color=color.blue)
Строка 8

Вызывает функцию plot для вывода переменной macd,отображая линией синего цвета.

plot(signal, color=color.orange)
Строка 9

Вызывает plot функцию для вывода переменной signal, отображая линией оранжевого цвета.

После добавления скрипта «MACD» на график вы увидите следующее:

Pine содержит множество встроенных функций для самых популярных индикаторов (SMAEMAWMA и т.д.). Вы также можете определить свои пользовательские функции. 

 

Индикаторы и стратегии

Pine стратегии используются для запуска бэк-тестов. В дополнение к обычным скриптовым вычислениям они также содержат strategy.***** вызовы для создания заявок (ордеров) на покупку и продажу. Они могут отображать информацию на графиках, но не могут быть использованы для создания оповещений.

Pine индикаторы, как и в предыдущем примере, также содержат расчеты и могут отображать информацию на графиках, но не могут использоваться при тестировании на истории. Индикаторы, содержащие alertcondition вызовы, могут использоваться для создания оповещений с помощью диалогового окна «Создать оповещение TradingView». 

 

Модель исполнения скриптов Pine

Скрипт Pine не похож на многие обычные программы, которые выполняются один раз, а затем останавливаются. В среде выполнения Pine скрипт выполняется как скрытый цикл, где он выполняется один раз на каждом историческом изменении. Когда выполнение достигает последней свечи в реальном времени, скрипт будет выполняться каждый раз, когда обнаруживается изменение цены или объема, затем последний раз, когда свеча реального времени закрывается и становится исторической свечой.

По умолчанию стратегии Pine выполняются только один раз при закрытии свечи в реальном времени, но их также можно настроить чтобы они выполнялись при каждом изменении цены, как это делают индикаторы

 

Серии

Основной тип данных, используемый в сценариях Pine, называется series (серия). Это непрерывный список значений, который тянется во времени от текущей свечи и где существует одно значение для каждой свечи. Хотя эта структура может напоминать многим о массиве, ряд Pine совершенно другой, и мышление в терминах массивов будет вредно для понимания этой ключевой концепции Pine. 

 

Понимание сценариев

Если вы собираетесь написать сценарий Pine любой разумной сложности, то хорошее понимание как модели выполнения Pine, так и серии важно для понимания того, как работают сценарии Pine. Если вы никогда раньше не работали с данными, организованными в серии, вам понадобится практика, чтобы заставить их работать на вас. Когда вы ознакомитесь с фундаментальными концепциями Pine, вы обнаружите, что, комбинируя использование рядов с нашими встроенными функциями, разработанными для эффективной обработки информации в сериях, можно достичь многого за несколько строк кода Pine.

 

Редактор Pine

В Pine Editor вы будете работать над своими сценариями. Чтобы открыть его, нажмите на вкладку Pine Editor в нижней части графика TradingView. Это откроет окно редактора. Мы создадим наш первый рабочий скрипт Pine. Начните с вызова выпадающего меню «Новый» в правом верхнем углу редактора и выберите «Пустой скрипт индикатора». Затем скопируйте предыдущий пример сценария, выделите весь код, уже находящийся в редакторе, и замените его примером сценария. Нажмите «Сохранить», выберите имя и нажмите «Добавить на график». Индикатор MACD появится в отдельной панели под графиком.

Здесь же вы можете изменить код скрипта. Например, измените последнюю строку color.orange на color.fuchsia. При сохранении скрипта изменение будет отражено на панели индикатора. Ваш первый скрипт Pine запущен!

 

Что дальше?

Эта документация содержит многочисленные примеры кода, используемого для иллюстрации того, как функции, переменные и операторы используются в Pine. Пройдя через это, вы сможете изучить основы Pine и изучить примеры сценариев.

Самый быстрый способ выучить язык программирования — прочитать ключевые понятия и опробовать их на реальном коде. Как мы только что сделали, скопируйте примеры этой документации в редактор и поиграйте с ними. Проводите исследования! Вы ничего не испортите.

Также вы найдете примеры скриптов Pine в выпадающем меню редактора Новый и в обширной публичной библиотеке скриптов TradingView, которая содержит тысячи скриптов Pine с открытым исходным кодом. Наслаждайтесь и добро пожаловать в Pine!

/

Robo.Trading

eVe Developer
Мы используем cookie-файлы для наилучшего представления нашего сайта. Продолжая использовать этот сайт, вы соглашаетесь с использованием cookie-файлов.
Принять