Introducere
Analiza tehnică eficientă nu poate fi efectuată fără instrumentele de tranzacționare adecvate. O strategie de tranzacționare puternică poate ajuta la evitarea greșelilor comune, la îmbunătățirea managementului riscului și la îmbunătățirea capacității de a identifica și exploata oportunitățile.
Pentru mulți, TradingView este platforma de grafică ideală. Această aplicație web puternică HTML5 oferă un centru de instrumente de analiză tehnică, ajutând milioane de utilizatori să urmărească Forex, criptomonede și mișcările tradiționale ale pieței de valori.
TradingView are multe caracteristici puternice: le permite utilizatorilor să urmărească activele pe mai multe platforme de tranzacționare și să își posteze opiniile de tranzacționare pe site-urile lor de socializare. Acest articol se va concentra pe capacitățile sale de personalizare. Vom folosi Pine Script, limbajul de programare proprietar al TradingView, care ne permite să avem un control mai granular asupra aspectului diagramelor.
Să începem!
Ce este Pine Script?
Pine Script este un limbaj de scripting care poate fi folosit pentru a modifica diagramele TradingView. Platforma TradingView oferă deja multe caracteristici similare, dar Pine Script merge și mai departe. Indiferent dacă doriți să schimbați culoarea diagramei sfeșnic sau doriți să testați o nouă strategie, Pine Editor vă permite să personalizați diagramele în timp real în funcție de nevoile dvs.
Codul în sine este bine documentat, așa că asigurați-vă că consultați manualul de utilizare pentru detalii. Acest articol își propune să discute câteva elemente de bază și să introducă indicatori care pot fi folositori în tranzacționarea cu criptomonede.
crea
Pine Script este simplu și ușor de utilizat. Orice cod pe care îl scriem rulează pe serverele TradingView, astfel încât să putem accesa editorul printr-un browser și să ne dezvoltăm scripturile fără a fi necesare descărcări sau configurații suplimentare.
În acest tutorial, vom diagrama perechea valutară Bitcoin/Binance USD (BTCBUSD). Dacă nu aveți încă un cont Binance, creați un cont gratuit (un cont Pro este, de asemenea, posibil, dar nu este necesar pentru acest ghid).
Deschideți linkul și veți vedea o diagramă similară cu următoarea:

Datele grafice pot fi actualizate.
Acum, vrem să obținem o diagramă cu funcții bogate, faceți clic pe butonul pentru a intra. Apoi putem vedea vederi mai detaliate, instrumente de desen, opțiuni pentru desenarea liniilor de tendință și alte caracteristici.

Diagrame complet funcționale. Puteți ajusta programul făcând clic pe Vizualizare deasupra filei evidențiate.
Nu vom discuta despre cum să folosiți diferitele instrumente disponibile, dar dacă doriți cu adevărat să efectuați analize tehnice, vă recomandăm cu tărie să vă familiarizați mai întâi cu ele. În stânga jos (așa cum este subliniat în imagine) veți vedea câteva file diferite - faceți clic pe Pine Editor.
Editorul Pinului

Acest editor este uimitor. Îi vom spune ce vrem să facem și apoi facem clic pe Adăugare la diagramă și vom vedea adnotarea pe care am adăugat-o să apară în diagramă. Rețineți că dacă adăugăm mai multe adnotări în același timp, acestea se vor amesteca, așa că le vom șterge în exemplu (clic dreapta în diagramă > Șterge indicator).
După cum puteți vedea, avem deja câteva linii de cod. Să facem clic pe Adăugare la diagramă și să vedem ce se întâmplă.

Adăugați un al doilea grafic sub diagrama originală. Noul diagramă arată exact aceleași date. Plasați mouse-ul peste scriptul meu și faceți clic pe × pentru a șterge. Acum, haideți să explorăm codul.
cercetare(„scriptul meu”)Prima linie stabilește doar adnotarea noastră. Este nevoie doar de numele indicatorului pe care doriți să-l apelați (în acest caz „Scriptul meu”), dar putem adăuga și câțiva parametri opționali. Una dintre ele este suprascrie, acest parametru indică TradingView să pună indicatorul în graficul existent (în loc să fie într-un grafic nou). După cum puteți vedea din primul exemplu pe care l-am enumerat, valoarea implicită este false. Deși nu puteți vedea încă cum funcționează, overlay=true va adăuga indicatorul la diagrama existentă.
Desenarea unei diagrame (Închidere)Această linie este instrucțiunea de a grafic prețul de închidere al Bitcoin. Diagramele ne oferă doar o diagramă cu linii, dar putem prezenta și diagrame cu lumânare și diagrame cu bare, așa cum vom vedea în curând.
Acum, să încercăm următoarele:
//@version=4 studiu(„Scriptul meu”, suprapunere=adevărat) complot(deschis, culoare=culoare.violet)Odată adăugat, ar trebui să vedeți un al doilea grafic (va arăta ca și cum graficul original a fost mutat la dreapta). Ceea ce facem este să graficăm prețurile de deschidere și, deoarece prețul de deschidere al zilei este prețul de închidere al zilei precedente, este logic ca aceste diagrame să se miște exact la fel.
bine! Să ștergem adnotarea curentă (rețineți că acest lucru se face făcând clic dreapta și făcând clic pe Ștergere indicator). Plasați mouse-ul pe Bitcoin/BUSD și faceți clic pe butonul Ascunde pentru a șterge graficul curent.
Mulți comercianți preferă să folosească diagrame K-line, care ne pot oferi mai multe informații decât graficul simplu pe care tocmai l-am creat. În continuare, să adăugăm graficul pe care l-am desenat.
//@version=4 study(„Scriptul meu”, suprapunere=adevărat) plotcandle(deschis, înalt, scăzut, închidere)A început bine, dar culorile terne l-au făcut să pară puțin blând. În mod ideal, graficul K-line ar trebui să fie roșu atunci când prețul de deschidere este mai mic decât prețul de închidere și verde dacă prețul de închidere este mai mare decât prețul de deschidere. Adăugăm o linie deasupra funcției plotcandle():
//@version=4 studiu(„Scriptul meu”, suprapunere=adevărat) culori = deschis >= închis?color.red: color.green plotcandle(deschis, înalt, scăzut, închidere)Acest lucru necesită examinarea fiecărei diagrame K-line pentru a verifica dacă prețul de deschidere este mai mare sau egal cu prețul de închidere. Dacă acesta este cazul, înseamnă că prețul a scăzut în acest timp și graficul cu lumânare va deveni roșu. În caz contrar, va deveni verde. Modificați funcția plotcandle() și adăugați această schemă de culori:
//@version=4 studiu(„Scriptul meu”, suprapunere=adevărat) culori = deschis >= închis?color.red: color.green plotcandle(deschis, înalt, scăzut, închide, culoare=culori)Dacă nu ați făcut-o deja, ștergeți valoarea existentă și adăugați această valoare în diagramă. Acum ar fi trebuit să desenăm o diagramă similară cu o diagramă K-line.

Bine făcut!
Trageți o medie mobilă (MA)
Am finalizat câteva operațiuni de bază. Să aruncăm o privire la primul nostru indicator personalizat – media mobilă exponențială sau EMA. Acest instrument este util deoarece ne permite să filtram orice zgomot de pe piață și să netezim acțiunea prețului.
EMA este ușor diferită de media mobilă simplă (SMA) prin faptul că pune mai mult accent pe datele recente. Tinde să reacționeze mai mult la schimbările bruște și este adesea folosit pentru operațiuni pe termen scurt (de exemplu, în tranzacționarea zilnică).
Medie mobilă simplă (SMA)
De asemenea, putem reprezenta un grafic SMA, astfel încât să le putem compara pe cele două mai târziu. Adăugați această linie la scriptul dvs.
plot(sma(close, 10))Aceasta arată media ultimelor zece zile. Ajustați numerele dintre paranteze pentru a vedea cum se schimbă curba pe măsură ce se schimbă lungimea.

SMA se bazează pe ultimele zece zile de date.
Media mobilă exponențială (EMA)
EMA este mai complicat de înțeles, dar nu vă faceți griji. Să analizăm mai întâi această formulă:
EMA = (prețul de închidere – EMA din ziua anterioară) * multiplu – EMA din ziua anterioarăCe indică asta? În fiecare zi, calculăm o nouă valoare medie mobilă pe baza valorii din ziua precedentă. Multiplu este „ponderat” cu numărul zilelor recente și se calculează folosind următoarea formulă:
Multiplu = 2/(lungimea EMA + 1)Ca și în cazul mediei mobile simple, trebuie să atribuim o valoare lungimii EMA. Sintactic, trasarea funcției EMA este similară cu trasarea funcției SMA. Trasează acest lucru alături de SMA și le poți compara pe cele două.
//@version=4 studiu(„Scriptul meu”, suprapunere=adevărat) plot(sma(close, 10)) plot(ema(close, 10))
Veți vedea că aceste două tipuri de MA sunt ușor diferite.
➟ Vrei să-ți începi călătoria criptomonedei? Bine ați venit să cumpărați Bitcoin pe Binance!
Script încorporat
Până acum, ne-am scris codul manual, astfel încât să îl puteți simți intuitiv. Acum vom introduce câteva funcții care pot economisi timp, mai ales dacă vrem să scriem scripturi mai complexe, dar nu vrem să începem de la zero.
În colțul din dreapta sus al editorului, faceți clic pe Nou. Veți primi un meniu derulant care arată o varietate de indicatori tehnici diferiți. Faceți clic pe Indexul mediei mobile pentru a vedea codul sursă al indicatorului EMA.

Faceți clic și adăugați-l la diagramă.
Acest index este diferit de al nostru, veți observa funcția input(). Acestea sunt grozave din punct de vedere al utilizării, deoarece puteți face clic pe această casetă...

...și faceți clic pe pictograma roată de setări pentru a schimba cu ușurință unele valori în fereastra pop-up.

Vom adăuga câteva funcții input() la următorul script pentru a demonstra acest lucru.
Graficul indicatorului indicelui de forță relativă (RSI).
Indicele de putere relativă (RSI) este un alt indicator important în analiza tehnică. Cunoscut ca indicator de impuls, măsoară prețul la care un activ este cumpărat și vândut. Pe o scară de la 0 la 100, scorul RSI încearcă să spună investitorilor dacă un activ este supracumpărat sau supravândut. De obicei, dacă un activ are un scor de 30 sau mai puțin, acesta poate fi considerat supravândut, în timp ce un scor de 70 sau mai mult poate fi supracumpărat.
Accesați New>RSI Strategy pentru a vedea singur. RSI este, în general, măsurat pe o perioadă de 14 (adică 14 ore sau 14 zile), dar sunteți liber să ajustați această setare pentru a se potrivi strategiei dvs.
Adăugați RSI la grafic. Ar trebui să vedeți acum afișate mai multe săgeți (definite de funcția strategie.entry() din acest cod). RsiLE reprezintă o oportunitate potențială de a extinde un activ, deoarece acesta poate fi supravândut. RsiSE evidențiază posibilele puncte de scurtare atunci când un activ este supracumpărat. Vă rugăm să rețineți că, la fel ca în cazul tuturor indicatorilor, nu trebuie neapărat să luați acești indicatori drept dovezi concludente că prețurile vor scădea/crește.
Backtesting
Există o modalitate de a ne testa propriii indicatori personalizați. În timp ce performanța trecută nu este o garanție a rezultatelor viitoare, testarea retrospectivă a scriptului nostru ne poate oferi o idee despre eficacitatea acestuia la captarea semnalelor.
Mai jos vom oferi un exemplu de script simplu. Planificăm o strategie simplă și clară pentru a intra într-o poziție lungă atunci când prețul Bitcoin scade la 11.000 USD și a ieși din poziția lungă atunci când prețul depășește 11.300 USD. Putem vedea apoi cât de profitabilă a fost această strategie din punct de vedere istoric.
//@version=4 strategie("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) price = close if (price <= enter) strategy.entry("BuyTheDip",strategy.long ,comment="BuyTheDip") if (preț >= ieșire) strategie.close_all(comment="SellTheNews")Aici definim intrarea și ieșirea ca variabile - ambele sunt intrări, ceea ce înseamnă că putem face modificări la ambele mai târziu în diagramă. De asemenea, am configurat o variabilă de preț pentru a lua prețul de închidere al fiecărei perioade. Apoi, avem o logică care urmează modelul de declarație if. Dacă partea dintre paranteze este adevărată, atunci blocul indentat de sub acesta va fi rulat. În caz contrar, va fi omis.
Prin urmare, dacă prețul este mai mic sau egal cu prețul de intrare dorit, iar prima expresie este adevărată, vom deschide o poziție lungă. Odată ce prețul este egal sau depășește prețul de ieșire necesar, va fi declanșat un al doilea bloc, închiderea tuturor pozițiilor deschise.
Adnotăm graficul cu săgeți care arată unde intrăm/ieșim, așa că folosim parametrii de evaluare pentru a specifica ce marchează acele puncte (în acest caz „BuyTheDip” și „SellTheNews”). Copiați codul și adăugați-l în diagramă.

Acum puteți vedea acești indicatori în grafic. Poate fi necesară amplificarea.
TradingView aplică automat regulile dvs. datelor mai vechi. Veți observa, de asemenea, că TradingView trece de la Pine Editor la fila Strategy Tester. Acest lucru vă permite să vedeți o imagine de ansamblu asupra profiturilor potențiale, o listă de tranzacții și performanța fiecărui indicator.

Pozițiile în care am intrat și am ieșit.
Combinate
Acum ne putem scrie propriul script folosind unele dintre conceptele pe care le-am văzut până acum. Vom combina EMA și RSI și vom folosi valorile lor pentru a afecta culoarea diagramei K-line, astfel încât să o putem înțelege cu ușurință.
Dar aceasta nu constituie sfaturi financiare și nu există o modalitate corectă obiectiv de a utiliza acești indicatori. Ca toate celelalte instrumente, ar trebui să fie combinat cu alte instrumente pentru a vă dezvolta propria strategie de investiții.
Acum haideți să explorăm noul script. Eliminați toți indicatorii din grafic și ascundeți graficul Bitcoin/BUSD, astfel încât să avem un fundal de operare curat.
Să ne uităm mai întâi la definiție. Numiți cum doriți, asigurați-vă că setați overlay=true.
studiază(titlu="Scriptul Academiei Binance", suprapunere=adevărat)Amintiți-vă formula noastră anterioară EMA. Trebuie să folosim lungimea EMA pentru a calcula multiplu. Să transformăm acest lucru într-o intrare care necesită un număr întreg de cifre, deci fără zecimale. De asemenea, vom seta valoarea minimă (minval) și valoarea implicită (defval).
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer,defval=25, minval=0)Pe baza acestei noi variabile, putem calcula valoarea EMA pentru fiecare sfeșnic din grafic:
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer,defval=25, minval=0) emaVal = ema(close, emaLength)foarte bun. În continuare, să ne uităm la RSI. Îi vom atribui o valoare a lungimii într-un mod similar:
study(title="Binance Academy Script", 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)Acum putem calcula:
study(title="Binance Academy Script", 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)În această etapă, să punem cap la cap logica care determină culorile sfeșnicelor în funcție de valorile EMA și RSI. Să presupunem că (a) sfeșnicul se închide deasupra EMA și (b) RSI este peste 50.
De ce ar trebui să presupunem asta? Pentru că ați putea decide să utilizați o combinație a acestor indicatori pentru a ști când să mergeți pe Bitcoin lung sau scurt. De exemplu, ați putea crede că îndeplinirea acestor două condiții înseamnă că acum este un moment bun pentru a merge mult timp. Sau dimpotrivă, îl puteți folosi pentru a vă reaminti când să nu treceți pe scurt, chiar dacă alți indicatori spun contrariul.
Prin urmare, următoarea noastră linie de cod va arăta astfel:
study(title="Binance Academy Script", 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 și rsiVal > 50? culoare.verde: culoare.roșuDacă traducem această propoziție în limba engleză simplă, spunem de fapt că dacă valoarea EMA depășește prețul de închidere și scorul RSI depășește 50, graficul cu lumânare va deveni verde. În caz contrar, va deveni roșu.
Apoi, trasează graficul EMA:
study(title="Binance Academy Script", 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 și rsiVal > 50? color.green: color.red plot(emaVal, "EMA")În cele din urmă, desenați diagrama cu linii K, asigurați-vă că includeți parametrii de culoare:
study(title="Binance Academy Script", 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 și rsiVal > 50?color.green: color.red plot(emaVal , „EMA”) plotcandle(deschis, înalt, scăzut, închidere, culoare=culori)Apoi, scenariul este scris! Adăugați-l în diagramă și vedeți cum funcționează.

Un grafic Bitcoin/BUSD cu indicatori EMA/RSI.
Rezuma
În acest articol, vă demonstrăm funcționalitatea Editorului Pine pe TradingView prin câteva exemple de bază. Acum ar trebui să vă simțiți încrezători să faci adnotări simple pe graficele de preț pentru a obține mai multe informații din propriii indicatori.
Am acoperit doar câțiva dintre acești indicatori în acest articol, dar nu este dificil să construiți indicatori mai complexi - puteți alege să creați un nou script încorporat sau să scrieți al dvs.
Îți lipsește încă inspirația? Următoarele articole vă pot oferi câteva idei pentru următorul dvs. proiect:
Un scurt ghid pentru indicatorul parabolic
„Ghid pentru studiul retrasării Fibonacci”
„Explicația detaliată a indicatorilor conducători și întârziați”
Explicație detaliată a indicatorului mediei mobile exponențiale (MACD).

