Introducere
Fără instrumentele de tranzacționare potrivite, nu veți putea efectua o analiză tehnică eficientă. O strategie de tranzacționare solidă vă va ajuta să evitați greșelile comune, să vă îmbunătățiți gestionarea riscurilor și să vă creșteți capacitatea de a identifica și de a profita de oportunități.
Pentru mulți, TradingView este platforma grafică de referință. Oferind un centru de instrumente de analiză tehnică, această aplicație web HTML5 puternică este folosită de milioane de oameni pentru a monitoriza mișcările valutarului, criptomonedei și piețelor bursiere tradiționale.
TradingView are multe caracteristici puternice: vă permite să monitorizați activele pe numeroase platforme de tranzacționare, precum și să postați idei de tranzacționare în rețeaua dvs. de socializare. În acest articol, ne vom concentra asupra capacității sale de personalizare. Vom folosi Pine Script, limbajul de programare propriu al TradingView, care ne garantează un control granular asupra formatelor noastre grafice.
Să începem!
Ce este PineScript?
Pine Script este un limbaj de scripting pe care îl puteți folosi pentru a vă modifica graficele TradingView. Platforma vă oferă deja multe funcționalități pentru a face acest lucru, dar Pine Script vă permite să faceți un pas mai departe. Fie că este vorba despre schimbarea culorilor lumânărilor sau testarea unei noi strategii, Editorul Pine vă va permite să vă personalizați graficele în timp real după cum credeți de cuviință.
Codul în sine este excelent documentat, așa că asigurați-vă că consultați manualul de utilizare pentru mai multe informații. Scopul nostru în acest tutorial este să discutăm câteva dintre principiile de bază și să prezentăm indicatori care pot fi utili pentru tranzacționarea cu criptomonede.
Configurare
Începerea cu Pine Script este incredibil de simplă. Orice cod pe care îl scriem va rula pe serverele TradingView, astfel încât să putem accesa editorul și să ne dezvoltăm scripturile dintr-un browser – 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 ați făcut-o deja, faceți pasul și înregistrați un cont gratuit (este disponibil și un abonament pro, dar nu este necesar pentru acest ghid).
Urmați acest link și veți găsi un grafic similar cu următorul:

Al tău va fi probabil mai la zi.
Odată ajuns aici, vom dori să avem diagrama cu funcții complete - faceți clic pe butonul pentru a o accesa. Acest lucru ne va oferi o vedere mult mai detaliată, instrumente de desen și opțiuni pentru a desena linii de tendință, printre altele.

Diagramă cu funcții complete. Puteți ajusta intervalul de timp făcând clic pe vizualizările care apar deasupra filelor evidențiate.
Nu vom aborda modul de utilizare a diferitelor instrumente disponibile, dar dacă sunteți foarte serios în ceea ce privește analiza tehnică, vă recomandăm să vă familiarizați cu ele. În stânga jos (indicat în imagine), veți vedea o serie de file diferite – faceți clic pe Pine Editor.
Editorul Pinului

Acest editor este locul unde se întâmplă magia. Îi vom spune ce vrem să facem, apoi vom face clic pe Adăugare la diagramă pentru a vedea cum apar adnotările noastre mai sus. Rețineți că lucrurile se pot complica dacă includem mai multe adnotări deodată, așa că le vom elimina între diferitele exemple - faceți clic dreapta pe diagramă > Eliminați indicatorii.
Puteți vedea că avem deja câteva linii de cod acolo. Să continuăm să facem clic pe Adăugare la diagramă pentru a vedea ce se întâmplă.

Un al doilea grafic este adăugat sub originalul. Noul grafic reprezintă aceleași date. Plasați cursorul peste My Script și faceți clic pe cruce pentru a-l șterge. Acum, să analizăm codul în detaliu.
studiază ("Scriptul meu")Această primă linie stabilește pur și simplu adnotarea noastră. Este nevoie doar de numele pe care doriți să-l dați indicatorului ("My Script", în acest caz), deși există și o serie de parametri opționali pe care îi putem adăuga. Una dintre ele este suprapunerea, care îi spune lui TradingView să plaseze indicatorul pe graficul existent (mai degrabă decât pe un segment nou). După cum puteți vedea în primul nostru exemplu, implicit apare ca fals. Deși nu îl vom vedea în acțiune acum, overlay=true adaugă indicatorul la graficul existent.
complot (închidere)Această linie este instrucțiunea de a marca prețul de închidere al Bitcoin. plot ne oferă pur și simplu un grafic cu linii, deși putem afișa și lumânări și bare, așa cum vom vedea în curând.
Acum, să încercăm următoarele:
//@version=4
studiază(„Scriptul meu”, suprapunere=adevărat)
complot(deschis, culoare=culoare.violet)Odată ce adăugați acest lucru, ar trebui să puteți vedea un al doilea grafic (care va fi ca cel original deplasat la dreapta). Tot ce am făcut este să captăm prețul de deschidere și, deoarece deschiderea zilei curente este închiderea zilei precedente, este logic ca acestea să prezinte o formă identică.
Foarte bun! Vom scăpa de adnotările curente - nu uitați, pentru a face acest lucru trebuie să faceți clic dreapta și să selectați Eliminați indicatorii. Plasați cursorul peste Bitcoin/BUSD și faceți clic pe butonul Ascunde pentru a șterge și graficul curent.
Mulți comercianți preferă diagramele cu lumânări, deoarece ne oferă mai multe informații decât o simplă diagramă precum cea pe care tocmai am făcut-o. Să continuăm să le adăugăm mai jos.
//@version=4
studiază(„Scriptul meu”, suprapunere=adevărat)
plotcandle (deschis, sus, jos, închidere)Este un început bun, dar lipsa culorilor îl face puțin fad. În mod ideal, ar trebui să avem lumânări roșii atunci când deschiderea este mai mare decât închiderea în perioada în cauză și verzi când închiderea depășește deschiderea. Deci vom adăuga o linie deasupra funcției plotcandle():
//@version=4
studiază(„Scriptul meu”, suprapunere=adevărat)
culori = deschis >= închis? culoare.roșu : culoare.verde
plotcandle (deschis, sus, jos, închidere)Aceasta va analiza fiecare lumânare și va verifica dacă deschiderea este mai mare sau egală cu închiderea. Dacă este, înseamnă că prețurile au scăzut în perioada, așa că va colora lumânarea în roșu. În caz contrar, îl va colora în verde. Modificați funcția plotcandle() pentru a aproba această schemă de culori:
//@version=4
studiază(„Scriptul meu”, suprapunere=adevărat)
culori = deschis >= închis? culoare.roșu : culoare.verde
plotcandle (deschis, înalt, scăzut, închidere, culoare = culori)Ștergeți indicatorii actuali dacă nu ați făcut-o deja și adăugați-i pe acesta în diagramă. Acum, ar trebui să avem ceva care arată ca o diagramă obișnuită cu sfeșnic.

Preţios!
Grafică mediile mobile (MA)
Avem deja câteva dintre elementele de bază. Să ne uităm acum la primul nostru indicator personalizat – media mobilă exponențială sau EMA. Acesta este un instrument valoros, deoarece ne permite să filtram orice zgomot de pe piață și să netezim acțiunea prețului.
EMA diferă ușor de media mobilă simplă (SMA) prin faptul că acordă o pondere mai mare celor mai recente date. Tinde să fie mai reactiv la mișcările bruște și este adesea folosit pentru jocuri pe termen scurt (cum ar fi în tranzacționarea zilnică, de exemplu).
Media mobilă simplă (SMA)
De asemenea, am putea reprezenta un grafic SMA, astfel încât să putem compara cele două mijloace mai târziu. Adăugați această linie la scriptul dvs.:
plot(sma(close, 10))Aceasta va reprezenta media ultimelor zece zile. Ajustați numărul din paranteze pentru a vedea cum se schimbă curba atunci când luați în considerare diferite lungimi.

SMA, pe baza ultimelor zece zile.
Media mobilă exponențială (EMA)
EMA va fi puțin mai greu de înțeles, dar nu trebuie să vă faceți griji. Să descompunăm mai întâi formula:
EMA = (Închidere - EMA din ziua anterioară) * Multiplicator - EMA din ziua anterioarăDeci, ce ne spune asta? Ei bine, pentru fiecare zi calculăm o nouă medie mobilă, pe baza celei din ziua precedentă. Multiplicatorul este ceea ce „ponderează” cea mai recentă perioadă și se calculează cu următoarea formulă:
Multiplicator = 2 / (Lungimea EMA + 1)Ca și în cazul mediilor mobile simple, trebuie să specificăm cât de lungă va fi EMA. Sintactic, funcția de reprezentare a EMA este similară cu cea a SMA. Trasează-l lângă SMA, astfel încât să le poți compara pe cele două:
//@version=4
studiază(„Scriptul meu”, suprapunere=adevărat)
plot(sma(close, 10))
complot(ema(închide,10))
Puteți vedea că există o ușoară diferență între ambele tipuri de MA.
➠ Te gândești să începi în lumea criptomonedelor? Cumpărați Bitcoin pe Binance!
Scripturi încorporate
Până acum, am scris codul nostru manual, astfel încât să vă familiarizați cu el. În continuare, vom introduce un element care ne poate economisi timp, mai ales dacă urmează să scriem scripturi mai complexe și nu vrem să o facem de la zero.
În partea dreaptă sus a editorului, dați clic pe Nou. Veți întâlni un meniu derulant cu tot felul de indicatori tehnici diferiți. Faceți clic pe Moving Average Exponential pentru a vedea codul sursă al unui indicator EMA.

Continuați și adăugați acest lucru în grafic.
Acesta este diferit de al nostru – veți recunoaște funcțiile input(). Sunt grozave din punct de vedere al utilizării, deoarece puteți face clic pe această casetă...

...și modificați cu ușurință unele dintre valori într-o fereastră pop-up făcând clic pe rotița Setări.

Vom adăuga câteva funcții input() în următorul nostru script pentru a demonstra acest lucru.
Marcați indicatorul indicelui de rezistență relativă (RSI).
Indicele de putere relativă (RSI) este un alt indicator esențial de analiză tehnică. Este cunoscut ca indicator de „impuls”, adică măsoară viteza cu care activele sunt cumpărate și vândute. Prezentat pe o scară de la 0 la 100, un scor RSI încearcă să informeze investitorii dacă activele sunt „supracumpărate” sau „supravândute”. De obicei, un activ poate fi considerat supravândut dacă are un scor mai mic sau egal cu 30 și supracumpărat cu un scor mai mare sau egal cu 70.
Dacă vă îndreptați către Nou > Strategie RSI, o puteți verifica singur. RSI este de obicei măsurat în perioade de 14 (adică 14 ore sau 14 zile), dar puteți modifica acele setări pentru a se potrivi propriei strategii.
Adăugați asta la grafic. Ar trebui să vedeți câteva săgeți afișate acum (definite de funcția strategie.entry() din cod). RsiLE indică o oportunitate potențială de a prelungi activul, deoarece acesta poate fi supravândut. RsiSE evidențiază posibilele puncte în care să scurtați activul atunci când este supracumpărat. Rețineți că, ca și în cazul tuturor indicatorilor, nu ar trebui să vă bazați neapărat pe aceștia ca dovadă infailibilă că prețurile vor crește sau scădea.
Backtesting
Există o modalitate de a ne testa indicatorii personalizați. Deși performanța trecută nu este o garanție a rezultatelor viitoare, testarea retrospectivă a scripturilor ne poate oferi o idee despre cât de eficiente sunt acestea în captarea semnalelor.
Mai jos vom da un exemplu de script simplu. Să creăm o strategie simplă care intră într-o poziție lungă atunci când prețul BTC scade sub 11.000 USD și iese din poziție când prețul depășește 11.300 USD. Deci putem vedea cât de profitabilă ar fi fost această strategie din punct de vedere istoric.
//@version=4
strategie ("ALaLuna", overlay=true)
enter = input(11000)
ieșire = intrare (11300)
pret = aproape
dacă (preț <= introduceți)
strategy.entry("CompraLaCaída", strategy.long, comment="CompraLaCaída")
dacă (preț >= ieșire)
strategie.close_all(comment="VendeLasNoticias")Aici am definit intrarea și ieșirea ca variabile; ambele sunt intrări, ceea ce înseamnă că le putem schimba pe grafic mai târziu. Am stabilit, de asemenea, variabila preț, care ia închiderea fiecărei perioade. Deci, avem o anumită logică sub formă de declarații if. Dacă partea dintre paranteze pătrate este adevărată, blocul indentat mai jos va fi executat. În caz contrar, va fi omis.
Deci, dacă prețul este mai mic sau egal cu intrarea dorită, prima expresie se evaluează la adevărat și vom deschide o poziție lungă. Odată ce prețul este egal sau depășește rezultatul dorit, al doilea bloc va fi activat, închizând toate pozițiile deschise.
Vom adnota diagrama cu săgeți care arată unde intrăm/ieșim, așa că specificăm ce să etichetăm aceste puncte cu parametrul de comentariu (în acest exemplu, „BuyTheDip” și „SellTheNews”). Copiați codul și adăugați-l în grafic.

Acum puteți vedea indicatorii pe diagramă. Poate fi necesar să micșorați.
TradingView aplică automat regulile dvs. datelor mai vechi. Veți observa, de asemenea, că trece de la Pine Editor la fila Strategy Tester. Acest lucru vă permite să vedeți o imagine de ansamblu asupra potențialelor profituri, o listă de tranzacții și fiecare dintre performanțe individuale.

Pozițiile în care am intrat și am ieșit.
Puneți piesele împreună
Este timpul să ne scriem propriul scenariu folosind unele dintre conceptele pe care le-am văzut până acum. Vom combina EMA și RSI și vom folosi valorile acestora pentru a colora lumânările, care vor returna informații pe care le putem vizualiza cu ușurință.
Acest lucru nu trebuie interpretat ca un sfat financiar; Nu există o modalitate corectă obiectiv de a utiliza acest indicator. Ca și în cazul tuturor celorlalți, ar trebui să fie folosit cu alte instrumente pentru a vă dezvolta propria strategie.
Acum să lucrăm la noul nostru script. Eliminați toți indicatorii dvs. din grafic și ascundeți și graficul Bitcoin/BUSD, astfel încât să avem o pânză curată pe care să lucrați.
Să începem prin a defini studiul nostru. Simțiți-vă liber să-i denumiți cum doriți, doar asigurați-vă că setați overlay = true.
studiază(titlu="Scriptul Academiei Binance", suprapunere=adevărat)Amintiți-vă formula noastră EMA de mai înainte. Trebuie să oferim multiplicatorului lungimea EMA. Să-l convertim într-o intrare care necesită un număr întreg (deci fără zecimale). De asemenea, vom seta un minim care poate fi (minval) și o valoare implicită (defval).
studiază(titlu="Scriptul Academiei Binance", suprapunere=adevărat)
emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)Folosind această nouă variabilă, putem calcula valoarea EMA pentru fiecare lumânare din graficul nostru:
studiază(titlu="Scriptul Academiei Binance", suprapunere=adevărat)
emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)
emaVal = ema(închidere, emaLength)Excelent. Despre RSI. Îi vom da o lungime în mod similar:
studiază(titlu="Scriptul Academiei Binance", suprapunere=adevărat)
emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)
emaVal = ema(închidere, emaLength)
rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)Și acum, îl putem calcula:
studiază(titlu="Scriptul Academiei Binance", suprapunere=adevărat)
emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)
emaVal = ema(închidere, emaLength)
rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)
rsiVal = rsi(închidere, rsiLungime)În această etapă, vom pune cap la cap logica care colorează lumânările pe baza valorilor EMA și RSI. Să luăm o situație în care (a) prețul de închidere al lumânării depășește EMA și (b) în care RSI este peste 50.
Deoarece? Ei bine, puteți decide că acești indicatori pot fi folosiți împreună pentru a vă spune când să cumpărați Bitcoin pe termen scurt sau lung. De exemplu, ați putea crede că îndeplinirea ambelor condiții înseamnă că este un moment bun pentru a intra pe o poziție lungă. Sau invers, îl puteți folosi pentru a vă informa când să nu treceți pe scurt, chiar dacă alți indicatori spun contrariul.
Deci următoarea noastră linie va arăta astfel:
studiază(titlu="Scriptul Academiei Binance", suprapunere=adevărat)
emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)
emaVal = ema(închidere, emaLength)
rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)
rsiVal = rsi(închidere, rsiLungime)
culori = close > emaVal și rsiVal > 50 ? culoare.verde : culoare.roșuDacă traducem acest lucru într-un limbaj simplu, spunem pur și simplu că dacă valoarea EMA depășește prețul de închidere și scorul RSI depășește 50, vom colora lumânarea în verde. În caz contrar, îl vom colora în roșu.
Apoi, trasează EMA:
studiază(titlu="Scriptul Academiei Binance", suprapunere=adevărat)
emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)
emaVal = ema(închidere, emaLength)
rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)
rsiVal = rsi(închidere, rsiLungime)
culori = close > emaVal și rsiVal > 50 ? culoare.verde : culoare.roșu
plot(emaVal, „EMA”)În cele din urmă, trasează lumânările, asigurându-vă că includeți parametrul de culoare:
studiază(titlu="Scriptul Academiei Binance", suprapunere=adevărat)
emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)
emaVal = ema(închidere, emaLength)
rsiLength = input(title="RSI Length", type=input.integer, defval=25, minval=0)
rsiVal = rsi(închidere, rsiLungime)
culori = close > emaVal și rsiVal > 50 ? culoare.verde : culoare.roșu
plot(emaVal, „EMA”)
plotcandle (deschis, înalt, scăzut, închidere, culoare=culori)Și acesta este scenariul! Adăugați-l în diagramă pentru a-l vedea în acțiune.

Un grafic BTC/BUSD cu indicatorul EMA/RSI.
În concluzie
În acest articol, ne uităm la câteva exemple de bază despre ceea ce puteți face cu editorul Pine de la TradingView. În acest moment, ar trebui să vă asigurați că faceți adnotări simple pe diagramele de preț pentru a obține informații suplimentare din propriii indicatori.
Ne-au interesat doar câțiva indicatori aici, dar este ușor să generați indicatori mai complexi, fie selectând scripturile încorporate ale lui New, fie scriindu-le singur.
Lipsa de inspiratie? Următoarele articole vă pot oferi câteva idei pentru următorul dvs. proiect:
Ghid scurt pentru indicatorul SAR parabolic
Ghid pentru stăpânirea retracerilor Fibonacci
Introducere în indicatorii Leading și Lagging (indicatori Leading/Lagging)
Indicatorul MACD explicat
