Introducere
Fără instrumente de tranzacționare fiabile, este imposibil să se efectueze analize tehnice de înaltă calitate. O strategie de tranzacționare puternică vă va ajuta să evitați greșelile comune, să gestionați riscurile mai eficient și să găsiți și să executați mai multe oportunități de tranzacționare.
Pentru majoritatea comercianților, TradingView este o platformă populară pentru analiza graficelor. O aplicație web HTML5 bogată în funcții, care oferă o varietate de instrumente de analiză tehnică, este folosită de milioane de utilizatori pentru a urmări mișcările în forex, criptomonede și piețele bursiere tradiționale.
TradingView oferă o serie de caracteristici puternice, permițându-vă să urmăriți activele pe mai multe platforme de tranzacționare și să împărtășiți idei de tranzacționare pe propria rețea socială a TradingView. În acest articol ne vom uita la opțiunile de personalizare a TradingView. Vom folosi Pine Script, un limbaj de programare TradingView care oferă control granular asupra aspectului diagramelor.
Sa incepem!
Ce este Pine Script?
Pine Script este un limbaj de scripting care vă permite să personalizați diagramele pe TradingView. Platforma vă oferă deja o mulțime de funcționalități pentru aceasta, dar Pine Script vă permite să extindeți capacitățile. Indiferent dacă doriți să schimbați culorile lumânărilor sau să testați o nouă strategie, vă puteți personaliza diagramele în timp real așa cum doriți cu editorul Pine.
Documentația detaliată este disponibilă pe site, astfel încât puteți consulta întotdeauna manualul de utilizare pentru instrucțiuni detaliate. În acest articol, am dori să acoperim elementele de bază ale Pine Script și să arătăm cum să creați indicatori care pot fi utili atunci când tranzacționăm criptomonede.
Înființat
Începeți cu Pine Script este foarte ușor. Tot codul pe care îl scriem rulează pe serverele TradingView și avem acces la un editor de cod și putem scrie scripturi direct în browser - nu este nevoie să descărcați aplicații terțe sau să configurați nimic.
În acest tutorial, vom diagrama perechea valutară Bitcoin/Binance USD (BTCBUSD). Dacă nu sunteți încă înregistrat la TradingView, creați un cont gratuit (este disponibil și un abonament profesional, dar nu este necesar pentru acest articol).
Urmați acest link și veți vedea un grafic ca acesta:

Programul tău trebuie să fie mai actualizat.
Avem nevoie de un program detaliat - pentru a merge la el, faceți clic pe butonul indicat. Vom vedea diagrame mai detaliate, instrumente de desen și instrumente pentru linii de tendințe.

Program detaliat. În panoul de deasupra filelor selectate puteți seta intervalele de timp dorite.
Acum nu vom discuta despre utilizarea diferitelor instrumente disponibile, dar dacă sunteți serios în ceea ce privește analiza tehnică, atunci vă recomandăm insistent să vă familiarizați cu ele. În stânga jos (evidențiat în imagine) există mai multe file - faceți clic pe Pine Editor.
Redactor la Pine

Acest editor este locul în care se întâmplă adevărata magie. Pentru a vedea rezultatul, trebuie să scrieți instrucțiuni în editor, apoi faceți clic pe butonul „Adăugați la diagramă”. Vă rugăm să rețineți: dacă aplicați mai mulți indicatori personalizați în același timp, graficul poate deveni dezordonat, așa că îi vom elimina între exemple (butonul dreapta al mouse-ului pe diagramă > Eliminați indicatorii).
După cum puteți vedea, avem deja câteva linii de cod. Să facem clic pe butonul „Adaugă la diagramă” și să vedem ce se întâmplă.

Un al doilea a apărut sub graficul original. Noul grafic prezintă aceleași date. Pentru a șterge al doilea grafic, plasați cursorul peste My Script și faceți clic pe cruce. Acum să ne uităm la cod.
studiază ("Scriptul meu")Prima linie specifică numele diagramei. Acest lucru necesită doar numele indicatorului (în acest caz „Scriptul meu”), dar puteți seta și parametri suplimentari. Una dintre ele este suprapunerea. Înseamnă plasarea indicatorului pe o diagramă existentă (nu într-un segment nou). După cum putem vedea din primul exemplu, este setat implicit la false. Nu vom testa acest lucru acum, dar setarea overlay=true va adăuga indicatorul la diagrama existentă.
complot (închidere)Această linie este o instrucțiune pentru trasarea prețului de închidere al Bitcoin; plot specifică o diagramă cu linii, dar putem adăuga lumânări și bare.
Acum luați în considerare următorul exemplu:
//@version=4 studiu(„Scriptul meu”, suprapunere=adevărat) complot(deschis, culoare=culoare.violet)Adăugând această linie în editor, ar trebui să vedeți un al doilea grafic (care arată ca originalul, dar deplasat la dreapta). Am trasat prețul de deschidere și, deoarece deschiderea zilei curente este închiderea zilei precedente, este logic ca graficele să aibă aceeași formă.
Grozav! Să ștergem diagramele pe care le-am creat (rețineți că pentru a face acest lucru trebuie să faceți clic dreapta pe diagramă și să selectați „Ștergeți indicatorii”). Pentru a șterge graficul curent, plasați cursorul peste graficul Bitcoin/BUSD și faceți clic pe butonul Ascunde.
Mulți comercianți folosesc diagrame cu lumânare, deoarece oferă mai multe informații decât diagramele obișnuite (cum ar fi cel pe care tocmai l-am construit). Acum să adăugăm lumânări la diagramă.
//@version=4 study(„Scriptul meu”, suprapunere=adevărat) plotcandle(deschis, înalt, scăzut, închidere)E mai bine, dar din cauza lipsei culorilor graficul este inexpresiv. În mod ideal, trebuie să desenăm lumânări roșii dacă prețul de deschidere pe intervalul de timp este mai mare decât prețul de închidere și verde dacă prețul de închidere este mai mare decât prețul de deschidere. Să adăugăm o linie deasupra funcției plotcandle():
//@version=4 studiu(„Scriptul meu”, suprapunere=adevărat) culori = deschis >= închidere ? color.red: culoare.verde plotlumânare (deschis, înalt, scăzut, închidere)În această linie trecem prin toate lumânările și verificăm: este prețul de deschidere mai mare sau egal cu prețul de închidere Dacă da, atunci prețul a scăzut în perioada și lumânarea va fi roșie? În caz contrar – verde. Pentru a adăuga o schemă de culori, modificați funcția plotcandle() după cum se arată mai jos:
//@version=4 studiu(„Scriptul meu”, suprapunere=adevărat) culori = deschis >= închidere ? color.red: color.green plotcanandle (deschis, înalt, scăzut, închidere, culoare = culori)Dacă nu ați făcut deja acest lucru, ștergeți graficul anterior și adăugați unul nou. Acum ar trebui să avem o diagramă regulată cu lumânări.

Minunat!
Construirea de medii mobile (MA)
Am acoperit câteva elemente de bază. Să trecem la crearea primului nostru indicator personalizat, media mobilă exponențială sau EMA. Acesta este un indicator valoros, deoarece filtrează zgomotul pieței și netezește mișcările prețurilor.
EMA diferă de media mobilă simplă (SMA) prin faptul că acordă mai multă pondere datelor recente. EMA reacționează mai activ la mișcările neașteptate ale pieței și este adesea folosită în strategii pe termen scurt (de exemplu, tranzacționare intraday).
Medie mobilă simplă (SMA)
Putem reprezenta un grafic SMA și apoi îl putem compara cu EMA. Adăugați următoarea linie la script:
plot(sma(close, 10))Această linie va afișa media ultimelor 10 zile. Puteți seta diferite valori ale perioadei între paranteze și puteți vedea cum se modifică curba.

SMA pentru ultimele 10 zile
Media mobilă exponențială (EMA)
EMA este puțin mai greu de înțeles, dar nu vă faceți griji. Mai întâi să ne uităm la formula:
EMA = (preț de închidere - EMA din ziua precedentă) * multiplicator - EMA din ziua anterioarăCe spune formula asta? Pentru fiecare zi, calculăm o nouă medie mobilă pe baza celei anterioare. Multiplicatorul este „greutatea” perioadei precedente, care se calculează folosind următoarea formulă:
multiplicator = 2 / (perioada EMA + 1)Ca și în cazul unei medii mobile simple, trebuie să specificați perioada pentru construirea EMA. Sintaxa pentru funcția EMA este similară cu funcția SMA. Pentru claritate, să tragem un grafic EMA lângă SMA:
//@version=4 studiu(„Scriptul meu”, suprapunere=adevărat) plot(sma(close, 10)) plot(ema(close,10))
Diferența dintre SMA și EMA
➟ Vă gândiți de unde să începeți să lucrați cu criptomonede? Cumpărați Bitcoin pe Binance!
Scripturi încorporate
Până acum, am scris codul manual pentru a-l înțelege mai detaliat. Dar haideți să explorăm un instrument care ne va economisi timp, mai ales dacă scriem scripturi mai complexe și nu vrem să o facem de la zero.
În colțul din dreapta sus al editorului, faceți clic pe butonul „Nou”. Va apărea un meniu derulant cu diverși indicatori tehnici. Pentru a vedea codul sursă al indicatorului EMA, faceți clic pe elementul „Media mobilă exponențială”.

Adăugați codul la diagramă
Codul șablonului va fi diferit de ceea ce am scris - acordați atenție funcțiilor input(). Sunt convenabile deoarece puteți face clic în colțul din stânga sus al diagramei...

...și în fereastra pop-up este ușor să modificați unele valori apăsând rotița de setări.

Pentru a demonstra acest lucru, vom adăuga două funcții input() la următorul script.
Construirea indicatorului indicelui de forță relativă (RSI).
Indicele de putere relativă (RSI) este un alt indicator cheie de analiză tehnică. Este cunoscut ca un indicator de impuls. Aceasta înseamnă că afișează rata la care activele sunt cumpărate și vândute. Indicele RSI, care variază de la 0 la 100, le spune comercianților dacă un activ este supracumpărat sau supravândut. În general, un activ este considerat supravândut dacă RSI este mai mic sau egal cu 30 și supracumpărat dacă RSI este mai mare sau egal cu 70.
Puteți verifica singur - accesați meniul Nou > Strategie RSI. RSI este de obicei măsurat pe perioade de 14 unități (adică 14 ore sau 14 zile), dar puteți personaliza acest parametru pentru a se potrivi propriei strategii.
Adăugați-l la diagramă. Ar trebui să vedeți câteva săgeți (definite în cod de funcția strategie.entry()). RsiLE indică potențialul unei poziții lungi într-un activ, deoarece acesta poate fi revândut. RsiSE indică, de asemenea, potențialul de a scurta un activ, deoarece acesta poate fi supracumpărat. Vă rugăm să rețineți: ca și în cazul tuturor indicatorilor, nu ar trebui să vă bazați pe ei ca garanție că prețurile vor scădea/crește.
Strategii de testare
Ne putem testa propriii indicatori. În timp ce performanța datelor istorice nu este o garanție a rezultatelor viitoare, testarea scripturilor pe datele istorice vă poate oferi o idee despre cât de eficiente sunt acestea la urmărirea semnalelor.
Să luăm ca exemplu un script simplu. Să creăm o strategie simplă în care vom intra într-o poziție lungă când prețul BTC scade sub 11.000 USD și vom închide poziția când prețul depășește 11.300 USD. Ne putem uita la cât de profitabilă este această strategie atunci când este aplicată istoriei pieței.
//@version=4 strategy("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) strategy.close_all(comment="SellTheNews")Aici am definit nivelurile de intrare și de ieșire ca variabile - ambele sunt de intrare, ceea ce înseamnă că apoi le putem modifica pe diagramă. De asemenea, am creat o variabilă de preț care ia valoarea de închidere pentru fiecare perioadă. Logica este prezentată sub forma declarațiilor if. Dacă partea dintre paranteze este adevărată, atunci blocul cu indentație de sub ea va fi rulat. Altfel va fi ignorat.
Deci, dacă prețul este mai mic sau egal cu valoarea de intrare dorită, prima expresie se evaluează la adevărat și mergem lung. Atunci când prețul este egal sau depășește valoarea de ieșire dorită, se va declanșa al doilea bloc, închizând toate pozițiile deschise.
În plus, pe diagramă am arătat cu săgeți locurile de intrare în poziții și de ieșire din ele. Am marcat aceste puncte cu un parametru de comentariu (în acest exemplu „BuyTheDip” și „SellTheNews”). Copiați codul și adăugați-l în diagramă.

Indicatori pe diagramă. Puteți micșora
TradingView aplică automat regulile tale datelor mai vechi. Vă rugăm să rețineți că ați trecut de la Pine Editor la fila Strategy Tester. Aici puteți analiza profitul potențial, puteți vizualiza lista de tranzacții și performanța fiecărei tranzacții.

Poziții deschise și închise
Să rezumam
Acum ne putem scrie propriul script folosind instrumente familiare. Vom combina EMA și RSI pe aceeași diagramă și apoi vom folosi valorile lor pentru a colora lumânările pentru a crea informații care pot fi vizualizate cu ușurință.
Rezultatele graficului nu constituie sfaturi financiare – nu există o modalitate corectă obiectiv de a-l folosi. Ca și alți indicatori, ar trebui să fie utilizat împreună cu alte instrumente pentru a vă dezvolta propria strategie.
Să scriem noul nostru scenariu. Pentru a avea un spațiu liber pentru a lucra, eliminați indicatorii anteriori din grafic și ascundeți graficul Bitcoin/BUSD.
Să începem prin a defini studiul nostru. Numiți-o așa cum doriți, asigurându-vă doar că suprapunerea = adevărat.
studiu(title="Scriptul Academiei Binance", suprapunere=true)Să ne amintim formula EMA pe care am descris-o mai sus. Trebuie să determinăm multiplicatorul pentru perioada EMA. Să o facem o variabilă (input) care este un număr întreg (adică fără zecimale). Vom seta și 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)Folosind această nouă variabilă, putem calcula valoarea EMA pentru fiecare lumânare:
study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)Amenda. Acum să trecem la RSI. Să-i setăm perioada î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 îl 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ă setăm logica care colorează lumânările în funcție de valorile EMA și RSI. Luați în considerare situația în care prețul de închidere al lumânării depășește EMA (a) și când RSI este peste 50 (b).
De ce exact aceste condiții? Acești indicatori pot fi folosiți împreună pentru a vă spune când să mergeți lung sau scurt pe Bitcoin. De exemplu, dacă ambele condiții sunt îndeplinite, poate însemna că acum este un moment bun pentru a deschide o poziție lungă. Sau, dimpotrivă, puteți folosi acest indicator pentru a înțelege când să nu treceți pe scurt, chiar dacă alți indicatori spun contrariul.
Următoarea linie a scriptului nostru 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 codul în limbaj obișnuit, se dovedește că dacă valoarea EMA depășește prețul de închidere și valoarea RSI depășește 50, colorăm lumânarea în verde. În caz contrar, culoarea va fi roșie.
Adăugați 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ă, să desenăm lumânările adăugând un parametru 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)Iată întregul nostru scenariu! Pentru a-l vedea în acțiune, adăugați-l în diagramă.

Grafic BTC/BUSD cu indicator EMA/RSI.
rezumat
În acest articol, am analizat câteva exemple simple de utilizare a Editorului Pine de la TradingView. Până acum, dacă ați completat exemplele noastre, puteți crea deja subtitrări simple pentru graficele de preț și puteți obține informații suplimentare de la proprii indicatori.
În acest articol, am atins doar câțiva indicatori, dar îi puteți analiza pe alții mai complexi, fie selectând scripturi încorporate din lista Nouă, fie scriindu-le singur.
Cauți inspirație? Puteți obține idei pentru următorul proiect din articolele de mai jos:
Un ghid rapid pentru utilizarea unui sistem SAR parabolic
Un ghid pentru utilizarea liniilor Fibonacci
Indicatori conducători și întârziați
Care este indicatorul MACD

