Kuidas luua TradingView's TA indikaatoreid
Avaleht
Artiklid
Kuidas luua TradingView's TA indikaatoreid

Kuidas luua TradingView's TA indikaatoreid

EdasijÔudnud
Avaldatud Aug 28, 2020VĂ€rskendatud Jun 15, 2023
13m

Sissejuhatus

Ilma Ă”igete kauplemisvahenditeta ei saa sa tĂ”husat tehnilist analĂŒĂŒsi teha. Tugev kauplemisstrateegia aitab sul vĂ€ltida levinud vigu, parandada riskihaldust ning suurendada sinu vĂ”imet tuvastada ja vĂ”imalusi Ă€ra kasutada.

Paljude jaoks on TradingView graafikute koostamise platvorm. Tehnilise analĂŒĂŒsi tööriistade keskust pakkuvat vĂ”imsat HTML5 veebirakendust kasutavad miljonid inimesed Forexi, krĂŒptoraha ja traditsiooniliste aktsiaturgude liikumise jĂ€lgimiseks.

TradingView'l on palju vĂ”imsaid funktsioone: see vĂ”imaldab meil jĂ€lgida varasid paljudes kauplemisplatvormides ja avaldada oma suhtlusvĂ”rgustikus kauplemisideid. Selles artiklis keskendume selle kohandatavusele. Kasutame Pine Scripti, TradingView' oma programmeerimiskeelt, mis annab meile ĂŒksikasjaliku kontrolli meie diagrammi paigutuste ĂŒle.

Alustame!


Mis on Pine Script?

Pine Script on skriptikeel, mida saab kasutada sinu TradingView graafikute muutmiseks. Platvorm pakub selleks juba palju funktsioone, kuid Pine Script vĂ”imaldab astuda veel sammu edasi. Olenemata sellest, kas soovid muuta oma kĂŒĂŒnalde vĂ€rve vĂ”i testida uut strateegiat, vĂ”imaldab Pine redaktor sul oma reaalajas graafikuid oma Ă€ranĂ€gemise jĂ€rgi kohandada.

Kood ise on suurepĂ€raselt dokumenteeritud, nii et lisateabe saamiseks loe kindlasti selle kasutusjuhendit. Meie eesmĂ€rk selles juhendiga on arutada mĂ”ningaid pĂ”hitĂ”desid ja tutvustada indikaatoreid, mis vĂ”ivad krĂŒptoga kauplemisel kasuks tulla.


Seadistamine

Pine Scriptiga alustamine on uskumatult lihtne. KĂ”ik meie kirjutatud koodid töötavad TradingView' serverites, nii et pÀÀseme redaktorile juurde ja arendame oma skripte brauserist – ilma tĂ€iendava allalaadimise vĂ”i konfiguratsioonita.

Selles juhendis koostame diagrammi Bitcoini/Binance USD (BTCBUSD) krĂŒptopaariga. Kui sul seda veel pole, loo tasuta konto (saadaval on ka pro-tellimus, kuid seda pole selle juhendi jaoks vaja). 

JÀrgi seda linki ja nÀed diagrammi, mis sarnaneb jÀrgmisega:


BTCBUSD diagramm tradingview's

Sinu oma on tÔenÀoliselt ajakohasem.


Siin proovime saada tĂ€isfunktsionaalsusega diagrammi – sellele juurde pÀÀsemiseks klĂ”psa nuppu. See annab meile muu hulgas palju ĂŒksikasjalikuma ĂŒlevaate, joonistustööriistad ja vĂ”imalused trendijoonte joonistamiseks.


BTCBUSD tradingview' tÀisfunktsionaalne diagramm

TÀisfunktsionaalne diagramm. Saad reguleerida ajavahemikku, klÔpsates esiletÔstetud vahekaartide kohal olevatel vaadetel.


Me ei aruta, kuidas kasutada erinevaid saadaolevaid tööriistu, kuid kui oled tĂ”siselt huvitatud tehnilisest analĂŒĂŒsist, soovitame sul nendega tutvuda. Vasakpoolses allnurgas (pildil vĂ€lja toodud) nĂ€ed mĂ”nda erinevat vahekaarti – klĂ”psa Pine redaktor.


Pine redaktor


pine redaktori kuvatÔmmis


See redaktor on koht, kus juhtub maagia. Me ĂŒtleme talle, mida tahame teha ja seejĂ€rel klĂ”psame nuppu Lisa diagramm, et nĂ€ha ĂŒlaosas meie mĂ€rkusi. Pane tĂ€hele, et asjad vĂ”ivad muutuda segaseks, kui lisame korraga mitu mĂ€rkust, nii et eemaldame need nĂ€idete vahel (paremklĂ”psa diagrammil > Eemalda indikaatorid).

NÀed, et meil on seal juba paar rida koodi. KlÔpsa nuppu Lisa diagrammi, et nÀha, mis juhtub.


Esimese skripti lisamine tradingview' diagrammile


Teine diagramm lisatakse originaali alla. Uus diagramm esindab samu andmeid. HĂ”ljuta kursorit Minu skripti kohal ja klĂ”psa selle eemaldamiseks ristil. NĂŒĂŒd uurime koodi.

study("My Script")

See esimene rida on lihtsalt meie annotatsiooni seadistamine. See nĂ”uab ainult nime, mida soovid indikaatoriks nimetada (antud juhul „Minu skript“), kuid on ka mĂ”ningaid valikulisi parameetreid, mida saame lisada. Üks neist on overlay, mis kĂ€sib TradingView'l paigutada indikaatori olemasolevale graafikule (uue segmendi asemel). Nagu nĂ€ed meie esimesest nĂ€itest, on see vaikimisi false. Kuigi me seda praegu töös ei nĂ€e, lisab overlay=true indikaatori olemasolevale diagrammile.

plot(close)

See rida on juhis Bitcoini sulgemishinna joonistamiseks. plot annab meile lihtsalt joondiagrammi, kuid saame kuvada ka kĂŒĂŒnlaid ja ribasid, nagu varsti nĂ€eme. 

NĂŒĂŒd proovime jĂ€rgmist:

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

Kui oled selle lisanud, peaksid nÀgema teist diagrammi (mis nÀeb vÀlja nagu originaal nihutatud paremale). KÔik, mida oleme teinud, on joonistanud selle asemel avamishinna ja kuna praeguse pÀeva avamine on eelmise pÀeva sulgemine, on mÔistlik, et need on identse kujuga.

Okei! Kustutame praegused mÀrkused (pea meeles, et teeme seda paremklÔpsuga ja klÔpsates nuppu Eemalda indikaatorid). HÔljuta kursorit Bitcoini / BUSD kohal ja klÔpsa nupul Peida, et ka praegune diagramm kustutada.

Paljud kauplejad eelistavad kĂŒĂŒnladiagramme, kuna need annavad meile rohkem teavet kui lihtne joonis, nagu see, mida me just tegime. Lisame need jĂ€rgmisena. 

//@version=4 study("My Script", overlay=true) plotcandle(open, high, low, close)

See on hea algus, kuid vĂ€rvide puudumine muudab selle pisut magedaks. Ideaalis peaks meil olema punased kĂŒĂŒnlad, kui avamishind on kĂ”rgem kui antud ajaperioodi sulgemishind ja rohelised, kui sulgemishind ĂŒletab avamishinna. Lisame funktsiooni plotcandle() kohale rea:

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

See vaatab iga kĂŒĂŒnalt ja kontrollib, kas avamishind on kĂ”rgem vĂ”i vĂ”rdne sulgemishinnaga. Kui see on nii, tĂ€hendab see, et hinnad on perioodi jooksul langenud, nii et see vĂ€rvib kĂŒĂŒnla punaseks. Vastasel juhul vĂ€rvib see selle roheliseks. Muutke funktsiooni plotcandle() selle vĂ€rviskeemi edastamiseks:

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

Eemalda praegused indikaatorid, kui sa pole seda veel teinud ja lisa see diagrammile. NĂŒĂŒd peaks meil olema midagi, mis sarnaneb tavalise kĂŒĂŒnladiagrammiga.


KĂŒĂŒnladiagramm tradingview's

Ilus!


Liikuvate keskmiste joonistamine (MA)

Meil on mĂ”ned pĂ”hitĂ”ed. Liigume edasi meie esimese kohandatud indikaatori – eksponentsiaalse liikuva keskmise ehk EMA juurde. See on vÀÀrtuslik tööriist, kuna see vĂ”imaldab meil vĂ€lja filtreerida turumĂŒra ja tasandada hinnamuutusi. 

EMA erineb pisut lihtsast liikuvast keskmisest (SMA) selle poolest, et see annab kĂ”ige vĂ€rskematele andmetele suurema kaalu. See kipub reageerima Ă€kilistele liikumistele ja seda kasutatakse sageli lĂŒhiajalisteks mĂ€ngudeks (nĂ€iteks pĂ€evakauplemisel).


Lihtne liikuv keskmine (SMA)

Sama hÀsti vÔiksime joonistada SMA, et saaksime neid kahte hiljem vÔrrelda. Lisa oma skriptile see rida:

plot(sma(close, 10))

See nĂ€itab eelmise kĂŒmne pĂ€eva keskmist. Muuda sulgudes olevat numbrit, et nĂ€ha, kuidas kĂ”ver muutub, kui vĂ”tta arvesse erinevaid pikkusi.


Lihtne liikuv keskmine eelmise 10 pÀeva pÔhjal

SMA, mis pĂ”hineb eelmisel kĂŒmnel pĂ€eval.


Eksponentsiaalne liikuv keskmine (EMA)

EMA-st on pisut keerulisem aru saada, kuid pole vaja muretseda. Uurime kÔigepealt valemit:

EMA = (Sulgemishind - eelmise pÀeva EMA) * kordaja - eelmise pÀeva EMA

Niisiis, mida see meile ĂŒtleb? Arvutame uue liikuva keskmise eelmise pĂ€eva oma pĂ”hjal. Kordaja on see, mis „kaalub“ kĂ”ige viimast perioodi ja see arvutatakse jĂ€rgmise valemiga:

Kordaja = 2 / (EMA pikkus + 1)

Nagu lihtsate liikuvate keskmiste puhul, peame tĂ€psustama, kui pikk on EMA. SĂŒntaktiliselt sarnaneb EMA joonistamise funktsioon SMA funktsiooniga. Joonista see koos SMA-ga, et saaksid neid kahte vĂ”rrelda:

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


EMA ja SMA ĂŒhel tradingview' diagrammil

NĂ€ete kahe MA tĂŒĂŒbi vahel vĂ€ikest erinevust.


➟ Kas soovid alustada krĂŒptorahaga? Osta Bitcoini Binance'ist!


Sisseehitatud skriptid

Seni oleme oma koodi kirjutanud kÀsitsi, et sellest aru saada. Kuid tutvustame midagi, mis vÔib meie aega sÀÀsta, eriti kui kirjutame keerukamaid skripte ja me ei taha neid luua nullist.

Redaktori ĂŒlaosa paremas servas klĂ”psa nuppu Uus. Saad rippmenĂŒĂŒ kĂ”ikvĂ”imalike erinevate tehniliste nĂ€itajatega. EMA indikaatori lĂ€htekoodi kuvamiseks klĂ”psa nuppu Eksponentsiaalne liikuv keskmine.



Liikuv keskmine eksponentsiaal pine skriptis

JĂ€tka ja lisa see diagrammi.


See erineb meie omast – sa mĂ€rkad input() funktsioone. Need on kasutatavuse seisukohast kenad, kuna saad sellel kastil klĂ”psata...


Diagrammi muutmine tradingview' liideses


...ja hĂ”lpsalt mĂ”nda vÀÀrtust hĂŒpikaknas muuta, klĂ”psates sĂ€tete rattal.


EMA sisendite muutmine


Selle demonstreerimiseks lisame oma jÀrgmisesse skripti paar input() funktsiooni.


Suhtelise tugevuse indeksi (RSI) indikaatori joonistamine

Suhtelise tugevuse indeks (RSI) on tehnilise analĂŒĂŒsi teine oluline indikaator. Seda tuntakse momentumi indikaatorina, mis tĂ€hendab, et see mÔÔdab varade ostmise ja mĂŒĂŒmise kiirust. Skaalal 0–100 esitatud RSI skoor pĂŒĂŒab investoreid teavitada sellest, kas varad on ĂŒleostetud vĂ”i ĂŒlemĂŒĂŒdud. Tavaliselt loetakse vara ĂŒlemĂŒĂŒduks, kui selle skoor on vĂ€iksem vĂ”i vĂ”rdne 30, ja seda vĂ”idab olla ĂŒleostetud, kui hind on suurem vĂ”i vĂ”rdne 70-ga.

Kui valid Uus > RSI strateegia, nÀed seda ise. RSI-d mÔÔdetakse tavaliselt 14 (st 14 tunni vÔi 14 pÀeva) perioodide jooksul, kuid saad seda sÀtet oma strateegia jÀrgi kohandada.

Lisa see diagrammile. Peaksid nĂŒĂŒd nĂ€gema mĂ”nda noolt (mÀÀratletud strateegia.entry() abil funktsioon koodis). RsiLE viitab potentsiaalsele vĂ”imalusele avada vara pikk positsioon, kuna see vĂ”ib olla ĂŒlemĂŒĂŒdud. RsiSE tĂ”stab esile vĂ”imalikud punktid, kus vara lĂŒhikeseks mĂŒĂŒa, kui see on ĂŒlemĂŒĂŒdud. Pane tĂ€hele, et nagu kĂ”igi indikaatorite puhul, ei tohiks sa tingimata tugineda neile kui lollikindlatele tĂ”enditele, et hinnad langevad/tĂ”usevad.


Tagasitestimine

Meil on vÔimalus oma kohandatud indikaatoreid testida. Kuigi varasem tootlus ei garanteeri tulevasi tulemusi, vÔib meie skriptide jÀreltestimine anda meile aimu, kui tÔhusad need signaalid on. 

Allpool anname lihtsa skripti nĂ€ite. Loome lihtsa strateegia, mis siseneb pikale positsioonile, kui BTC hind langeb alla 11 000 dollari ja vĂ€ljub positsioonist, kui hind ĂŒletab 11 300 dollarit. SeejĂ€rel nĂ€eme, kui tulus oleks see strateegia ajalooliselt olnud.

//@version=4 strategy("ToDaMoon", overlay=true) enter = input(11000) exit = input(11300) price = close if (price = exit)     strategy.close_all(comment="SellTheNews")Siin oleme defineerinud sisenemise ja vĂ€ljumise muutujatena – mĂ”lemad on sisendid, mis tĂ€hendab, et saame neid hiljem diagrammil muuta. Seadistame ka hinnamuutuja, mis vĂ”tab iga perioodi sulgemispunkti. Siis on meil loogikat if lausete kujul. Kui sulgudes olev osa on tĂ”ene, siis kĂ€ivitatakse selle all olev sisestatud plokk. Vastasel juhul jĂ€etakse see vahele.Seega, kui hind on vĂ€iksem vĂ”i vĂ”rdne meie soovitud kirjega, hinnatakse esimest avaldist tĂ”eseks ja me avame pika positsiooni. Kui hind on vĂ”rdne soovitud vĂ€ljumishinnaga vĂ”i ĂŒletab seda, kĂ€ivitub teine plokk, mis sulgeb kĂ”ik avatud positsioonid. MĂ€rgime Ă€ra diagrammi nooltega, mis nĂ€itavad, kus me sisenesime/vĂ€ljusime, seega oleme tĂ€psustanud need punktid kommentaarparameetriga (selles nĂ€ites "BuyTheDip" ja "SellTheNews"). Kopeeri kood ja lisage see diagrammi.
NĂŒĂŒd nĂ€ed diagrammil indikaatoreid. VĂ”imalik, et peate vĂ€lja suumima.
TradingView rakendab sinu reegleid automaatselt vanematele andmetele. Samuti nĂ€ed, et see lĂŒlitub Pine'i redaktorist vahekaardile Strateegiatestija. See vĂ”imaldab teil nĂ€ha ĂŒlevaadet oma potentsiaalsest kasumist, tehingute loendit ja iga nende individuaalset tulemust.
Positsioonid, kuhu oleme sisenenud ja millest vÀljusime.
VĂ”tame selle kokkuOn aeg kirjutada oma stsenaarium, kasutades mĂ”nda seninĂ€htud kontseptsiooni. Me ĂŒhendame EMA ja RSI ning kasutame nende vÀÀrtusi kĂŒĂŒnlate vĂ€rvimiseks, andes ĂŒlevaate, mida on lihtne visualiseerida. Seda ei tohiks tĂ”lgendada finantsnĂ”ustamisena – selle indikaatori kasutamiseks pole objektiivselt Ă”iget viisi. Nagu kĂ”iki teisigi, tuleks seda kasutada koos teiste vahenditega oma strateegia vĂ€ljatöötamiseks.NĂŒĂŒd töötame oma uue skripti kallal. Eemalda diagrammist kĂ”ik indikaatorid ja peida ka Bitcoini/BUSD diagramm, et saaksime töötada puhtal lĂ”uendil.Alustame oma uuringu mÀÀratlemisest. Nimeta see kuidas ise soovid, lihtsalt veendu, et oleks mÀÀratud overlay=true.study(title="Binance Academy Script", overlay=true)Tuleta meelde meie varasem EMA valem. Peame esitama kordaja EMA pikkusega. Teeme sellest sisendi, mis nĂ”uab tĂ€isarvu (seega, ilma kĂŒmnendkohtadeta). Samuti mÀÀrame minimaalse, mis vĂ”ib olla (minval) ja vaikevÀÀrtus (defval).study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0)
Seda uut muutujat kasutades saame arvutada EMA vÀÀrtuse meie diagrammi iga kĂŒĂŒnla jaoks:study(title="Binance Academy Script", overlay=true) emaLength = input(title="EMA Length", type=input.integer, defval=25, minval=0) emaVal = ema(close, emaLength)
Tore. NĂŒĂŒd lĂ€heme RSI peale. Anname sellele pikkuse sarnaselt: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)Ja nĂŒĂŒd saame selle arvutada: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)Selles etapis paneme kokku loogika, mis vĂ€rvib kĂŒĂŒnlaid sĂ”ltuvalt EMA ja RSI vÀÀrtustest. VĂ”tame olukorra, kus (a) kĂŒĂŒnla sulgemishind ĂŒletab EMA ja (b) kus RSI on ĂŒle 50.Miks? VĂ”id otsustada, et neid indikaatoreid saab kasutada koos selleks, et öelda, millal avada Bitcoini pikk positsioon vĂ”i seda lĂŒhikeseks mĂŒĂŒa. NĂ€iteks vĂ”id arvata, et mĂ”lema tingimuse tĂ€itmine tĂ€hendab, et on Ă”ige aeg siseneda pikale positsioonile. VĂ”i vastupidi, vĂ”id seda kasutada selleks, et ennast teavitada, millal mitte lĂŒhikeseks mĂŒĂŒa, isegi kui muud indikaatorid nĂ€itavad vastupidist.Niisiis, meie jĂ€rgmine rida nĂ€eb vĂ€lja selline: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 and rsiVal > 50 ? color.green : color.redKui tĂ”lgime selle lihtsasse inimkeelde, siis me lihtsalt ĂŒtleme, et kui EMA vÀÀrtus ĂŒletab sulgemishinna ja RSI skoor ĂŒletab 50, vĂ€rvime kĂŒĂŒnla roheliseks. Vastasel juhul vĂ€rvime selle punaseks. JĂ€rgmisena joonistame EMA-diagrammi: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 and rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA")Viimaseks joonista kĂŒĂŒnlad, lisades kindlasti vĂ€rviparameetri: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 and rsiVal > 50 ? color.green : color.red plot(emaVal, "EMA") plotcandle(open, high, low, close, color=colors)Ja see ongi skript! Lisa see diagrammile, et nĂ€ha seda tegevuses.
BTC/BUSD diagramm koos EMA/RSI indikaatoriga.
LĂ”ppmĂ€rkusedSelles artiklis oleme lĂ€bi vaadanud mĂ”ned pĂ”hilised nĂ€ited selle kohta, mida saab teha TradingView' Pine redaktoriga. NĂŒĂŒdseks peaksid tundma end kindlalt tehes hinnadiagrammidele lihtsaid mĂ€rkusi, et saada oma indikaatoritest tĂ€iendavat teavet.Oleme siin huvi tundnud vaid paari indikaatori vastu, kuid on lihtne ĂŒles sĂ€ttida keerukamaid – kas valides New alt sisseehitatud skriptid vĂ”i kirjutades need ise.Vajad inspiratsiooni? JĂ€rgmised artiklid vĂ”ivad anda sulle ideid oma jĂ€rgmise projekti jaoks.Paraboolse SAR-indikaatori lĂŒhijuhendFibonacci Retracementi juhendEnnetavate ja viivitusega indikaatorite tutvustusMACD indikaatori tutvustus