Ключові висновки

  • Pine Script — це вбудована мова скриптів TradingView для створення кастомних технічних індикаторів і торгових стратегій прямо у браузері.

  • Pine Script v6 — це поточна версія. Вона спирається на простір імен “ta” з v5 (наприклад, ta.ema() і ta.rsi()), додає суворішу систему типів, за замовчуванням вмикає динамічні запити даних і містить вбудований конвертер коду, який допомагає мігрувати старі скрипти.

  • Ви можете створювати прості індикатори, такі як SMA, EMA та свічки з кольоровим кодуванням, всього за кілька рядків коду.

  • Вкладка Strategy Tester у TradingView дозволяє виконувати бек-тест власних стратегій на історичних даних ціни, щоб перевіряти логічні недоліки.

  • Не потрібна інсталяція жодного програмного забезпечення. Pine Script працює повністю в веб-редакторі TradingView.

Binance Academy courses banner

Вступ

Ефективний технічний аналіз залежить від того, чи є у вас правильні інструменти для задачі. TradingView — одна з найширше використовуваних платформ для побудови графіків криптовалюти, форексу та фондових ринків, і вона постачається з великою кількістю вбудованих індикаторів. Але її відрізняє те, наскільки сильно ви можете налаштовувати її під себе.

Pine Script — це власна мова скриптів TradingView. Вона дозволяє створювати кастомні індикатори, алерти та стратегії, які працюють безпосередньо на ваших графіках. Це керівництво проводить вас через основи Pine Script v6 (поточна версія), охоплюючи те, як налаштувати ваш перший скрипт, будувати індикатори та поєднувати їх у багаторазовий інструмент.

Що таке Pine Script?

Pine Script — це легка мова для написання скриптів, розроблена TradingView. Ви пишете скрипти у Pine Editor, який вбудований у інтерфейс TradingView. Коли ви натискаєте Add to Chart, ваш скрипт запускається на серверах TradingView, а результат з’являється безпосередньо на вашому графіку. Ніяких завантажень або інсталяцій не потрібно.

Pine Script v6 — це поточна версія, і саме її слід використовувати для будь-яких нових скриптів. Вона базується на більш чистому синтаксисі та просторі імен ta, представлених у v5, і додає кілька покращень: суворішу систему типів, увімкнені за замовчуванням динамічні запити даних і краще організовану обробку функцій. Мова містить повний посібник користувача та велику спільноту опублікованих скриптів, які ви можете переглядати на TradingView.

Що нового в Pine Script v6?

Якщо ви раніше використовували Pine Script v5, ось найбільш практично релевантні зміни у v6:

  • Суворіша система типів: у v5 числові значення (int і float) могли неявно використовуватися як булеві у умовах. У v6 це більше не дозволено. Якщо ваша умова використовує число, вам потрібно явно перетворити його за допомогою функції bool(). Це робить код менш неоднозначним і полегшує налагодження.

  • Динамічні запити за замовчуванням: у v5 виклики функцій request.*() (наприклад, request.security()) потрібно було розміщувати в глобальній області та передавати фіксовані аргументи символу й таймфрейму. У v6 динамічні запити увімкнені за замовчуванням, тобто ви можете викликати request.*() всередині циклів і умовних блоків та передавати значення series як аргументи. Це значно розширює можливості скриптів із багатьма символами та таймфреймами.

  • Вбудований конвертер v5-to-v6: Pine Editor може автоматично перетворити скрипт v5 у v6. Відкрийте випадаючий список "Manage script" і виберіть "Convert code to v6". Конвертер обробляє більшість змін автоматично, хоча деякі випадки можуть потребувати ручного перегляду.

  • Багаторядкові рядки (квітень 2026): v6 тепер підтримує багаторядкові літерали рядків із потрійними лапками (""" або '''). Це робить простішим написання форматованих міток, підказок і повідомлень у журналі на кількох рядках без використання escape-послідовності \n.

Раніші версії Pine Script (v3, v4, v5) все ще можна запускати на TradingView, але v5 тепер застарілий, і рекомендується v6 для всіх нових скриптів.

Налаштування TradingView

Ви можете почати з безкоштовного акаунта TradingView. Відкрийте графік для будь-якого активу, наприклад BTC/USDT, і знайдіть іконку Pine Editor на правій панелі інструментів. Натисніть її, щоб відкрити редактор коду.

PineEditor TradingView

Коли ви натискаєте Add to Chart, скрипт запускається, а результати з’являються на вашому активному графіку. Щоб видалити скрипт, натисніть правою кнопкою миші будь-де на графіку та виберіть Remove Indicators. Зберігайте графік чистим між прикладами, щоб краще бачити кожен результат.

Pine Editor

Pine Editor постачається з прикладом скрипта за замовчуванням у дві лінії. Ось мінімальний приклад у Pine Script v6:

//@version=6

indicator("Мій скрипт", overlay=true)

plot(close)

Функція indicator() визначає скрипт. У v5 і v6 вона замінює старішу функцію study(), яка використовувалася у v4 та раніше. Параметр overlay=true розміщує результат на головній діаграмі, а не в окремій панелі нижче. Лінія plot(close) проводить лінію, використовуючи ціну закриття для кожної свічки.

Візуалізація свічкових графіків

Лінійний графік показує ціни закриття, але свічкові графіки показують відкриття, максимум, мінімум і закриття разом, даючи більше інформації про рух ціни. Ось як побудувати свічки з кольоровим кодуванням:

//@version=6

indicator("Забарвлені свічки", overlay=true)

colors = open >= close ? color.red : color.green

plotcandle(open, high, low, close, color=colors)

Цей скрипт перевіряє кожну свічку: якщо ціна відкриття більша або дорівнює ціні закриття, то свічка червона (ціна знизилася). Якщо ціна закриття вища за ціну відкриття, свічка зелена. Це стандартна конвенція кольорів, що використовується в більшості програм для перегляду графіків.

Побудова ковзних середніх

Ковзні середні згладжують цінові дані за певної кількості періодів, роблячи тренди легшими для розпізнавання. Pine Script v6 містить вбудовані функції як для простої ковзної середньої (SMA), так і для експоненційної ковзної середньої (EMA) у просторі імен ta.

Проста ковзна середня (SMA)

SMA обчислює середнє значення цін закриття за задану кількість періодів. Щоб побудувати SMA за 10 періодів:

plot(ta.sma(close, 10))

Зміна кількості коригує вікно перегляду назад. Довший період створює більш згладжену лінію, яка повільніше реагує на нещодавні зміни.

Експоненційна ковзна середня (EMA)

Експоненційна ковзна середня (EMA) надає більшої ваги недавнім цінам, використовуючи мультиплікатор, який обчислюється як 2 / (length + 1). Це робить EMA більш чутливою до недавніх змін ціни, ніж SMA. Щоб побудувати обидві поруч:

//@version=6

indicator("SMA проти EMA", overlay=true)

plot(ta.sma(close, 10))

plot(ta.ema(close, 10))

Ви помітите невелику різницю: EMA точніше відстежує рух ціни на швидких ринках, тоді як SMA трохи відстає.

Вбудовані скрипти

TradingView містить готові попередньо створені версії багатьох індикаторів. У Pine Editor натисніть New (Новий) і виберіть індикатор, наприклад Moving Average Exponential, щоб переглянути його вихідний код. Ці скрипти часто використовують функції вводу з типами, як-от input.int() або input.float(), які створюють інтерактивні панелі налаштувань на графіку. Це дозволяє змінювати параметри, наприклад довжину, без редагування коду.

Візуалізація індикатора Relative Strength Index (RSI)

Індикатор RSI вимірює швидкість і розмір недавніх змін ціни. Він формує значення в діапазоні від 0 до 100. Показники вище 70 часто пов’язані з потенційно станом перекупленості, тоді як показники нижче 30 можуть вказувати на потенційно стан перепроданості. Це загальні опорні рівні, а не гарантії напрямку руху ціни.

У Pine Script v6 функція RSI викликається як ta.rsi(close, length). Щоб додати готову стратегію RSI, натисніть New > RSI Strategy у Pine Editor. Це додасть на графік маркери напрямку на основі порогів RSI і переключить перегляд на вкладку Strategy Tester.

Зазвичай RSI вимірюють за 14 періодів, але ви можете змінити це значення під свій підхід. Довші періоди дають більш згладжений індикатор із меншою кількістю сигналів; коротші періоди — більш чутливі.

Тестування вашої стратегії

Pine Script має режим strategy(), який дозволяє тестувати правила на історичних даних ціни. Ось приклад каркаса з використанням змінних вводу, щоб ви могли змінювати рівні на графіку без редагування коду:

//@version=6

strategy("Базова стратегія", overlay=true)

entryLevel = input.int(defval=30000, title="Ціна входу")

exitLevel  = input.int(defval=32000, title="Ціна виходу")


if close <= entryLevel

    strategy.entry("Long", strategy.long)

if close >= exitLevel

    strategy.close_all(comment="Вихід")

Після додавання цього на графік TradingView відкриє вкладку Strategy Tester. Вона показує журнал входів, виходів і зведену статистику на основі історичних даних ціни. Минулі результати не є надійним показником майбутніх. Бек-тестування корисне для перевірки того, чи логіка стратегії є адекватною, але воно не прогнозує майбутні результати.

Примітка: У v6 стандартний відсоток маржі для довгих і коротких позицій у стратегіях становить 100%, а движок стратегії обрізає найстаріші ордери замість того, щоб генерувати помилку, коли перевищено ліміт у 9,000 угод. Ці зміни можуть впливати на те, як результати вашого бек-тесту порівнюються з тим самим скриптом, запущеним у v5.

Поєднання індикаторів

Одним із найпрактичніших застосувань Pine Script є поєднання кількох індикаторів в один власний вигляд. У наступному скрипті свічки зафарбовуються залежно від умов EMA та RSI разом:

//@version=6

indicator("EMA + Свічки RSI", overlay=true)

emaLength = input.int(title="Довжина EMA", defval=25, minval=1)

rsiLength = input.int(title="Довжина RSI", defval=25, minval=1)


emaVal = ta.ema(close, emaLength)

rsiVal = ta.rsi(close, rsiLength)


colors = (close > emaVal and rsiVal > 50) ? color.green : color.red

plot(emaVal, "EMA")

plotcandle(open, high, low, close, color=colors)

Цей код фарбує свічку в зелений колір, коли ціна закриття вища за EMA, а RSI вище 50, і в червоний — в іншому випадку. Функції input.int() створюють панелі налаштувань на графіку, тож ви можете змінювати обидві довжини інтерактивно. Такий тип візуалізації полегшує помітити, коли дві умови збігаються на одній і тій самій свічці.

Це не слід сприймати як фінансову пораду, і жодне поєднання індикаторів не усуває невизначеність у трейдингу. Використовуйте власні скрипти як частину ширшого процесу дослідження та аналізу.

FAQ

Яку версію Pine Script мені використовувати?

Pine Script v6 — це поточна версія, і саме її слід використовувати для будь-яких нових скриптів. Раніші версії, наприклад v5, усе ще підтримуються, але застаріли. Якщо у вас є вже існуючий скрипт v5, у Pine Editor є вбудований конвертер: відкрийте випадаючий список "Manage script" і виберіть "Convert code to v6".

Що сталося з функцією study()?

У Pine Script v5 функцію study() перейменували на indicator(), і це продовжується у v6. Вона виконує ту саму роль: визначає назву скрипта та властивості, наприклад чи накладається він на головний графік, або відображається в окремій панелі. Якщо ви бачите старі скрипти, що використовують study(), то вони написані для v4 або раніше.

Чи можу я використовувати Pine Script безкоштовно?

Так. Pine Editor і базова функціональність Pine Script доступні на всіх тарифних планах TradingView, включно з безкоштовним. Деякі функції, наприклад запуск кількох скриптів одночасно, потребують платного плану. Написання та тестування власних скриптів не потребує підписки.

Що таке простір імен ta в Pine Script?

Простір імен ta з’явився у Pine Script v5 і продовжує існувати у v6. Вбудовані функції технічного аналізу, які раніше викликалися напряму, наприклад ema(), sma() та rsi(), тепер доступні як ta.ema(), ta.sma() та ta.rsi(). Це робить код більш явним і легшим для швидкого прочитання.

Що змінилося в Pine Script v6 для стратегій?

У стратегіях v6 змінилося кілька налаштувань за замовчуванням. Тепер стандартний відсоток маржі для довгих і коротких позицій дорівнює 100%. Також движок стратегії обрізає найстаріші ордери, коли перевищено ліміт у 9,000 угод, замість того щоб викидати помилку. Якщо ви мігруєте стратегію з v5 до v6, перегляньте результати бек-тесту, оскільки ці зміни можуть вплинути на статистику ефективності.

Чи надійний бек-тест для прогнозування майбутніх результатів?

Ні. Бек-тест показує, як стратегія могла б працювати на історичних даних, а не те, як вона працюватиме надалі. Ринки змінюються, і умови, що існували в минулому, можуть не повторитися. Бек-тестування корисне для виявлення логічних недоліків у стратегії, але його не слід використовувати як єдину основу для будь-якого торгового рішення.

Останні думки

Pine Script v6 робить простим створення та тестування власних індикаторів у TradingView без будь-якого стороннього програмного забезпечення чи інсталяцій. Починаючи з простих скриптів і поступово додаючи складність — це практичний підхід для вивчення мови. Вбудована бібліотека прикладів скриптів у Pine Editor та вбудований конвертер v5-to-v6 — корисні відправні точки для кожного, хто переходить з попередніх версій.

Індикатори — це інструменти для аналізу, а не сигнали, що гарантують конкретні результати. Жодне поєднання індикаторів не усуває невизначеність у трейдингу. Використовуйте Pine Script як частину ширшого дослідницького процесу та завжди розглядайте керування ризиками як ключову частину будь-якої стратегії.

Додаткове читання

  • Що таке технічний аналіз?

  • Що таке індикатор RSI?

  • Пояснення ковзних середніх

  • Посібник для початківців щодо свічкових графіків

  • Посібник для початківців щодо TradingView

Відмова від відповідальності: цей матеріал надається вам у форматі «як є» лише для загальної інформації та навчальних цілей без будь-яких заяв чи гарантій. Це не слід тлумачити як фінансову, юридичну або іншу професійну пораду, а також як намір рекомендувати придбання будь-якого конкретного продукту чи послуги. Вам слід звернутися по власну консультацію до відповідних професійних радників. Якщо контент наданий третім-стороннім автором, зверніть увагу, що висловлені там погляди належать цьому третім-сторонньому автору і не обов’язково відображають позицію Binance Academy. Ціни на цифрові активи можуть бути волатильними. Вартість ваших інвестицій може зростати або падати, і ви можете не повернути вкладену суму. Ви несете виключну відповідальність за свої інвестиційні рішення, а Binance Academy не несе відповідальності за будь-які збитки, які ви можете понести. Для отримання додаткової інформації перегляньте наші Умови використання, Попередження про ризики та Умови Binance Academy.