вступ

Ефективний технічний аналіз неможливо виконати без правильних торгових інструментів. Потужна торгова стратегія може допомогти уникнути типових помилок, покращити управління ризиками та підвищити здатність визначати та використовувати можливості.

Для багатьох TradingView є основною платформою для створення діаграм. Цей потужний веб-додаток HTML5 надає центр інструментів технічного аналізу, допомагаючи мільйонам користувачів відстежувати рух Forex, криптовалюти та традиційних фондових ринків.

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

Давайте розпочнемо!


Що таке Pine Script?

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

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


створити

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

У цьому посібнику ми розглянемо графік валютної пари Bitcoin/Binance USD (BTCBUSD). Якщо у вас ще немає облікового запису Binance, створіть безкоштовний обліковий запис (професійний обліковий запис також можливий, але не обов’язковий для цього посібника).

Відкрийте посилання, і ви побачите діаграму, схожу на наведену нижче.


Tradingview上的BTCBUSD图表

Дані вашої діаграми можуть бути оновлені.


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


BTCBUSD在tradingview上的全功能图表

Повністю функціональні діаграми. Ви можете налаштувати розклад, натиснувши Переглянути над виділеною вкладкою.


Ми не будемо обговорювати, як використовувати різні доступні інструменти, але якщо ви дійсно хочете провести технічний аналіз, ми настійно рекомендуємо вам спочатку ознайомитися з ними. У нижньому лівому куті (як показано на малюнку) ви побачите кілька різних вкладок - клацніть Pine Editor.


Редактор Pine


screenshot截屏


Цей редактор чудовий. Ми повідомимо йому, що ми хочемо зробити, а потім клацнемо «Додати до діаграми», і ми побачимо, що анотація, яку ми додали, з’явиться на діаграмі. Зауважте, що якщо ми додамо кілька анотацій одночасно, вони переплутаються, тому ми видалимо їх у прикладі (клацніть правою кнопкою миші на діаграмі > Видалити індикатор).

Як бачите, ми вже маємо кілька рядків коду. Давайте клацнемо «Додати до діаграми» і подивимось, що станеться.


将第一个脚本添加到tradingview图表中


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

дослідження ("myscript")

Перший рядок лише встановлює нашу анотацію. Все, що потрібно, це назва індикатора, який ви хочете викликати (в даному випадку «Мій сценарій»), але ми також можемо додати деякі додаткові параметри. Одним із них є перевизначення, цей параметр наказує TradingView розмістити індикатор на існуючому графіку (а не на новому). Як ви можете бачити з першого прикладу, який ми перерахували, значенням за замовчуванням є false. Хоча ви ще не бачите, як це працює, overlay=true додасть індикатор до наявної діаграми.

Малювання діаграми (закрити)

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

Тепер давайте спробуємо наступне:

//@version=4 study("My Script", overlay=true) plot(open, color=color.purple)

Після додавання ви повинні побачити другу діаграму (вона виглядатиме так, ніби оригінальну діаграму переміщено праворуч). Те, що ми робимо, це графік цін відкриття, і оскільки ціна відкриття дня є ціною закриття попереднього дня, має сенс, що ці графіки рухатимуться точно так само.

добре! Давайте видалимо поточну анотацію (пам’ятайте, що це робиться, клацнувши правою кнопкою миші та вибравши Видалити індикатор). Наведіть курсор на Bitcoin/BUSD і натисніть кнопку «Приховати», щоб видалити поточний графік.

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

//@version=4 study("My Script", overlay=true) plotcandle(відкритий, високий, низький, закритий)

Почалося все добре, але сірі кольори зробили його трохи блідуватим. В ідеалі K-лінійний графік має бути червоним, коли ціна відкриття нижча за ціну закриття, і зеленим, якщо ціна закриття вища за ціну відкриття. Ми додаємо рядок над функцією plotcandle():

//@version=4 study("My Script", overlay=true) colors = open >= close?color.red: color.green plotcandle(open, high, low, close)

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

//@version=4 study("My Script", overlay=true) colors = open >= close?color.red: color.green plotcandle(open, high, low, close, color=colors)

Якщо ви ще цього не зробили, видаліть наявний показник і додайте цей показник до діаграми. Тепер ми мали намалювати діаграму, подібну до K-лінії.


Tradingview上的K线图

молодець!


Намалюйте ковзну середню (MA)

Ми виконали деякі основні операції. Давайте подивимося на наш перший спеціальний індикатор – експоненціальне ковзне середнє, або EMA. Цей інструмент корисний, оскільки дозволяє нам відфільтрувати будь-який ринковий шум і згладити цінову дію.

EMA дещо відрізняється від простої ковзної середньої (SMA) тим, що вона приділяє більше уваги останнім даним. Він більше реагує на раптові зміни і часто використовується для короткострокових операцій (наприклад, у денній торгівлі).


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

Ми також можемо побудувати графік SMA, щоб потім порівняти їх два. Додайте цей рядок до свого сценарію.

plot(sma(close, 10))

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


基于前10天的简单移动平均数

SMA базується на даних за попередні десять днів.


Експоненціальне ковзне середнє (EMA)

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

EMA = (ціна закриття – EMA попереднього дня) * множник – EMA попереднього дня

Про що це свідчить? Щодня ми обчислюємо нове ковзне середнє значення на основі значення попереднього дня. Множник «зважений» за кількістю останніх днів і обчислюється за такою формулою:

Кілька = 2/(довжина EMA + 1)

Як і з простою ковзною середньою, нам потрібно призначити значення довжині EMA. Синтаксично побудова графіка функції EMA подібна до побудови графіка функції SMA. Побудуйте це разом із SMA, і ви зможете порівняти їх.

//@version=4 study("My Script", overlay=true) plot(sma(close, 10)) plot(ema(close, 10))


EMA和SMA在同一个tradingview图表上

Ви побачите, що ці два типи MA дещо відрізняються.


➟ Хочете розпочати свою криптовалютну подорож? Ласкаво просимо до покупки біткойнів на Binance!


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

Поки що ми писали наш код вручну, щоб ви могли його інтуїтивно відчути. Зараз ми представимо деякі функції, які можуть заощадити час, особливо якщо ми хочемо писати складніші сценарії, але не хочемо починати з нуля.

У верхньому правому куті редактора натисніть «Створити». Ви отримаєте спадне меню, у якому показано різноманітні технічні індикатори. Натисніть на індекс ковзного середнього, щоб переглянути вихідний код індикатора EMA.



Pine script中的移动平均指数

Натисніть і додайте його до діаграми.


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


在tradingview界面上修改图表


...та клацніть значок шестірні налаштувань, щоб легко змінити деякі значення у спливаючому вікні.


改变EMA的输入内容


Ми додамо кілька функцій input() до наступного сценарію, щоб продемонструвати це.


Побудуйте графік індикатора відносної сили (RSI).

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

Перейдіть до New>RSI Strategy, щоб побачити це на власні очі. RSI зазвичай вимірюється протягом 14 періодів (тобто 14 годин або 14 днів), але ви можете налаштувати це налаштування відповідно до своєї стратегії.

Додайте RSI до діаграми. Тепер ви маєте побачити кілька стрілок (визначених функцією strategy.entry() у цьому коді). RsiLE представляє собою потенційну можливість розширити актив, оскільки він може бути перепроданий. RsiSE висвітлює можливі точки для короткого замикання, коли актив перекуплений. Зауважте, що, як і у випадку з усіма індикаторами, вам не обов’язково сприймати ці індикатори як переконливий доказ того, що ціни будуть знижуватися/підвищуватися.


Тестування

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

Нижче ми наведемо простий приклад скрипта. Ми плануємо просту та зрозумілу стратегію входу в довгу позицію, коли ціна біткойна впаде до 11 000 доларів, і виходу з довгої позиції, коли ціна перевищить 11 300 доларів. Тоді ми зможемо побачити, наскільки прибутковою була ця стратегія в історії.

//@version=4 strategy("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) price = close if (price <= enter) strategy.entry("BuyTheDip",strategy.long ,comment="BuyTheDip") якщо (ціна >= вихід) strategy.close_all(comment="SellTheNews")

Тут ми визначаємо вхід і вихід як змінні – обидва є входами, тобто ми можемо вносити зміни в обидва пізніше на діаграмі. Ми також встановили цінову змінну для визначення ціни закриття кожного періоду. Тоді ми маємо деяку логіку, яка слідує шаблону оператора if. Якщо частина в дужках є істинною, то буде виконано блок із відступом під нею. Інакше його буде пропущено.

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

Ми додаємо до діаграми стрілки, які показують, де ми входимо/виходимо, тому ми використовуємо параметри оцінки, щоб указати, що позначає ці точки (у цьому випадку «BuyTheDip» і «SellTheNews»). Скопіюйте код і додайте його до діаграми.


指标在tradingview图表中处于活跃状态

Тепер ви можете побачити ці показники на графіку. Може знадобитися підсилення.


TradingView автоматично застосовує ваші правила до старих даних. Ви також помітите, що TradingView перемикається з Pine Editor на вкладку Strategy Tester. Це дозволяє вам побачити огляд потенційних прибутків, список угод і ефективність кожного індикатора.


交易观点策略测试器

Позиції, на які ми увійшли і вийшли.


Комбінована

Тепер ми можемо написати власний сценарій, використовуючи деякі концепції, які ми вже бачили. Ми об’єднаємо EMA та RSI та використаємо їхні значення, щоб вплинути на колір діаграми К-ліній, щоб ми могли легко це зрозуміти.

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

Тепер давайте вивчимо новий сценарій. Видаліть усі індикатори з графіка та сховайте діаграму Bitcoin/BUSD, щоб у нас був чистий робочий фон.

Давайте спочатку розглянемо визначення. Назвіть його як завгодно, просто переконайтеся, що встановлено overlay=true.

study(title="Сценарій Binance Academy", overlay=true)

Згадайте нашу попередню формулу EMA. Нам потрібно використовувати довжину EMA, щоб обчислити кратне. Давайте перетворимо це на вхідні дані, які потребують цілого числа цифр, тому без десяткових знаків. Ми також встановимо мінімальне значення (minval) і значення за замовчуванням (defval).

study(title="Сценарій Binance Academy", overlay=true) emaLength = input(title="Довжина EMA", type=input.integer,defval=25, minval=0)


На основі цієї нової змінної ми можемо розрахувати значення EMA для кожної свічки на графіку:

study(title="Сценарій Binance Academy", overlay=true) emaLength = input(title="EMA Length", type=input.integer,defval=25, minval=0) emaVal = ema(close, emaLength)


дуже добре. Далі розглянемо RSI. Ми призначимо йому значення довжини подібним чином:

study(title="Сценарій Binance Academy", overlay=true) emaLength = input(title="EMA Length", type=input.integer,defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Довжина RSI", type=input.integer,defval=25, minval=0)

Тепер ми можемо обчислити:

study(title="Сценарій Binance Academy", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="Довжина RSI", type=input.integer, defval=25, minval=0) rsiVal = rsi(закрити, rsiLength)

На цьому етапі давайте складемо логіку, яка визначає кольори свічок в залежності від значень EMA і RSI. Припустимо, що (а) свічник закривається вище EMA і (б) RSI вище 50.

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

Таким чином, наш наступний рядок коду виглядатиме так:

study(title="Сценарій Binance Academy", overlay=true) emaLength = input(title="EMA Length", type=input.integer,defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="RSI Length", type=input.integer,defval=25, minval=0) rsiVal = rsi(close, rsiLength) кольори = close > emaVal і rsiVal > 50? колір.зелений: колір.червоний

Якщо ми перекладемо це речення простою англійською мовою, ми фактично скажемо, що якщо значення EMA перевищує ціну закриття, а показник RSI перевищує 50, свічкова діаграма стане зеленою. Інакше почервоніє.

Далі побудуйте діаграму EMA:

study(title="Сценарій Binance Academy", overlay=true) emaLength = input(title="EMA Length", type=input.integer,defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="RSI Length", type=input.integer,defval=25, minval=0) rsiVal = rsi(close, rsiLength) кольори = close > emaVal і rsiVal > 50? color.green: color.red plot(emaVal, "EMA")

Нарешті, намалюйте діаграму К-лінії, будь ласка, не забудьте включити параметри кольору:

study(title="Сценарій Binance Academy", overlay=true) emaLength = input(title="EMA Length", type=input.integer,defval=25, minval=0) emaVal = ema(close, emaLength) rsiLength = input (title="RSI Length", type=input.integer,defval=25, minval=0) rsiVal = rsi(close, rsiLength) colors = close > emaVal і rsiVal > 50?color.green: color.red plot(emaVal , "EMA") plotcandle (відкритий, високий, низький, закритий, колір=кольори)

Тоді сценарій написаний! Додайте його до діаграми та подивіться, як це працює.


Tradingview脚本在运行

Діаграма Bitcoin/BUSD з індикаторами EMA/RSI.


Підведіть підсумки

У цій статті ми продемонструємо вам функціональність редактора Pine у ​​TradingView на кількох базових прикладах. Тепер ви повинні відчувати себе впевнено, роблячи прості анотації на графіках цін, щоб отримати більше інформації за своїми власними індикаторами.

У цій статті ми розглянули лише деякі з цих індикаторів, але створити більш складні індикатори неважко – ви можете створити новий вбудований сценарій або написати власний.

Все ще бракує натхнення? У наступних статтях можуть бути ідеї для вашого наступного проекту:

  • Короткий посібник із параболічного індикатора

  • «Навчальний посібник з корекції Фібоначчі»

  • «Докладне пояснення випереджаючих і відстаючих індикаторів»

  • Детальне пояснення індикатора експоненціального ковзного середнього (MACD).