Pine Script nədir və hansı tapşırıqları həll edir TradingView
Əsas məqam
Pine Script formal qaydanı qrafik məlumatlarına əsaslanan hesablamaya çevirir. Dil seriyaları vizuallaşdırmaq, şərtləri yoxlamaq və modelləşdirmə strategiyaları üçün uyğundur, lakin problemin qoyulması və nəticənin yoxlanılmasını əvəz etmir.
Pine Script TradingView -də quraşdırılmışdır. İstifadəçi Şam Redaktorunu açır, proqram mətnini yazır, onu saxlayır və nəticəni diaqrama əlavə edir. Platforma mənbə kodunu tərtib edir, proqramı qəbul edir və onu mövcud çubuqlar dəstində işlədir. İlk tanışlıq üçün ayrıca yerli kompilyator lazım deyil.
TradingView Pine Script-da hazır diaqram seriyası qəbul edilir, ona görə də ilk yoxlama kiçik ola bilər: bir düstur, bir parametr və bir xətt.
Dil adətən dörd tapşırıq üçün istifadə olunur:
- Hərəkətli ortalama, diapazon və ya fərdi kimi seriyaları hesablayın osilator.
- Qiymətin yanında xətt, etiket, fon rəngi və ya digər nəticə çəkin.
- Strategiya qaydalarını təsvir edin və test cihazında hipotetik sifarişlərin simulyasiyasını əldə edin.
- Yenidən istifadə edilə bilən funksiyaları və fərdi növləri kitabxanaya köçürün.
Açar söz burada - qayda. Ssenari "güclü hərəkət göstər" kimi qeyri-müəyyən bir fikri başa düşmür. Onun müşahidə edilə bilən şərtlərə ehtiyacı var: hansı məlumatları götürməli, hansı dövr üçün hesablamalı, nəyi müqayisə etməli və nə çıxarmalı. Qayda nə qədər dəqiq olarsa, bir neçə çubuqdakı kodu əl ilə yoxlamaq bir o qədər asan olar.
|
Diaqramın mənbəyi: rəsmi bölmələrin müəllif xülasəsi First steps Və Execution model. Diaqram interfeysi və ya qapalı infrastrukturu təsvir etmir TradingView.
Skript nədən ibarətdir: versiya, bəyanat və əsas kod
Əsas məqam
işçi skriptdə versiya annotasiyası, bir proqram növü bəyannaməsi və təlimatlar var. Girintilər və sətir kəsmələri əhəmiyyətlidir və adlar hesablanmış seriyalardan daxilolma məlumatlarını ayırmağa kömək edir.
Pine Script rəsmi strukturu üç hissədən ibarətdir. Birincisi görünüş versiyası annotasiyasıdır //@version=6. O, tərtibçiyə kodun hansı dil versiyası ilə yazıldığını bildirir. Annotasiyanı buraxsanız, davranış köhnə versiyaya uyğun ola bilər, ona görə də yeni dərslikdə versiyanı açıq şəkildə göstərmək daha yaxşıdır.
İkinci hissə - elan. Skript funksiyalardan birini istifadə edir: indicator(), strategy() və ya library(). Proqramın növünü və mövcud funksiyaları müəyyən edir. Siz göstərici üçün ad və parametr təyin edə bilərsiniz overlay, strategiya üçün - modelləşdirmə xassələri, kitabxana üçün - ixrac edilmiş obyektlər toplusunun təsviri.
Üçüncü hissə - əsas kod. Girişlər, dəyişənlər, hesablamalar, şərtlər və vizual çağırışlar burada elan edilir. Pine Script-da dəyər çox vaxt tək ədəd deyil, lakin yaxın: hər çubuğun öz bağlanış qiyməti və öz hesablama nəticəsi var. İfadə ta.sma(close, 3) buna görə də bir sabit dəyər deyil, orta ardıcıllıq yaradır.
Əvvəlcə skripti pasport kimi yuxarıdan aşağı oxumaq faydalıdır:
- dilin hansı versiyası elan edilir;
- hansı proqram növü elan edilir;
- istifadəçi hansı parametrləri dəyişə bilər;
- hesablamanın əsaslandığı ilkin seriya;
- hansı nəticə çıxarılır və ya simulyasiya edilir.
|
Sxematik mənbə: bölmənin müəllif təsviri Script structure.
Sadə: bir dəyər Seriya: hər bir çubuqda dəyər
|
Diaqramın mənbəyi: rəsmiyə görə sadə qiymətlə seriya arasındakı fərqin müəllifin izahı icra modelləri Pine Script.
Bar Pine Script necə icra edir və real vaxtda nələr dəyişir
Əsas məqam
tarixdə, hesablama hər bir mövcud çubuq üçün aparılır və açıq real vaxt çubuğunda göstərici hər yeniləmə ilə həyata keçirilə bilər. Bar bağlanmazdan əvvəl aralıq dəyərlər təsdiqlənmir.
Hər cərgənin bir sətirdən ibarət olduğu bir cədvəl təsəvvür edin. Pine Script ardıcıl olaraq sıra məlumatlarını alır, təlimatları yerinə yetirir və bu sətir üçün sıra nəticəsini saxlayır. Növbəti sətirdə yeni məlumatlar və icazə verilən yerlərdə keçmiş dəyərlər tarix operatoru vasitəsilə əldə edilə bilər, məs. close[1].
Tarixi çubuqlarda kod adətən hər sətirdə bir dəfə icra olunur. Onların open, high, low Və close artıq məlumdur. Açıq real vaxt çubuğunda vəziyyət fərqlidir: qiymət və maksimum və ya minimum bağlanmadan əvvəl yenilənə bilər. Göstərici hər yeniləmədə yenidən hesablayır, və yeni keçiddən əvvəl TradingView açıq çubuğun dəyişən vəziyyətini son təsdiqlənmiş vəziyyətə qaytarır. Sənədlərdə bu mexanizm geri çəkilmə adlanır.
Bu, əsas qaydaya gətirib çıxarır: hazırda açıq şamda görünən dəyər dəyişə və ya yox ola bilər. Çubuğun bağlanmasından sonra o, həmin çubuğun təsdiq edilmiş nəticəsi olur. Bu, mütləq səhv və ya gündəlik mənada “yenidən çəkilmə” deyil. Əvvəlcə şərtin açıq zolağın məlumatlarından istifadə edib-etmədiyini və dəqiq nə vaxt düzəldiləcəyini müəyyən etməlisiniz.
Təlim cədvəli beş bar tarixçəsini və bir açıq çubuğu göstərir. Nümunə olaraq üç bağlanma üçün SMA götürürük:
| Bar | Close | SMA ( 3 ) hesablamadan sonra | dövlət |
|---|---|---|---|
| 1 | 100 | məlumat yoxdur | Bağlanıb, üç dəyər yoxdur |
| 2 | 102 | məlumat yoxdur | Bağlanıb, üç dəyər yoxdur |
| 3 | 101 | 101,00 | Bağlandı və təsdiqləndi |
| 4 | 105 | 102,67 | Bağlandı və təsdiqləndi |
| 5 | 104 | 103,33 | Bağlandı və təsdiqləndi |
| 6 | 106 sonra 103 | 105,00 sonra 104,00 | Açıq, dəyər dəyişir |
Altıncı sətirdə nəticə əvvəlcə bərabərdir (105 + 104 + 106) / 3 = 105, və cərəyanı dəyişdirdikdən sonra 103-a yaxın olur. (105 + 104 + 103) / 3 = 104. Əvvəllər bağlanmış çubuqlar bu nümunədə dəyişdirilməyib. Rəqəmlər sintetikdir və yalnız mexanikanı yoxlamaq üçün lazımdır.
|
Diaqramın mənbəyi: modeldən istifadə edərək sintetik seriyanın müəllif hesablaması Execution model Və Bar states.
İndikator, strategiya və kitabxana arasındakı fərq nədir?
Əsas məqam
göstərici məlumatları hesablayır və göstərir, strategiya hipotetik sifarişləri modelləşdirir, kitabxana digər skriptlərə təkrar istifadə edilə bilən kod təqdim edir. Növ seçimi proqramın ölçüsündən deyil, tapşırıqdan asılıdır.
Göstərici vasitəsilə elan edilir indicator(). Xətlər, işarələr, cədvəllər və digər vizual elementlər çəkə bilər. Sadə göstərici SMA real mövqe açmır: o, seriyanı hesablayır və diaqramda göstərir. Nəticəyə əsasən istifadəçi fərdi müşahidə qaydalarını formalaşdıra bilər.
Strategiya vasitəsilə elan edilir strategy(). Onun kodunda hipotetik sorğular yaradan əmrlər görünür. TradingView onları broker emulyatoru ilə emal edir və hesabat göstərir. Bu, real icranın təsdiqi deyil, bir model testidir: komissiya, sürüşmə, ərizələrin doldurulması və hesablama parametrləri ayrıca göstərilməli və yoxlanılmalıdır.
Kitabxana vasitəsilə elan edilir library(). Bu, digər Pine skriptləri üçün ixrac edilən funksiyalar, metodlar, xüsusi növlər və ya siyahılardan ibarətdir. Kitabxana bir neçə proqramda eyni sınaqdan keçmiş məntiqə ehtiyac olduqda faydalıdır. Öz-özünə xətt çəkmək və ya proqram yaratmaq tələb olunmur.
| Növ | Əsas vəzifə | Müşahidə olunan nəticə | Sübut etmir |
|---|---|---|---|
| Göstərici | Məlumatları hesablayın və göstərin | Xətt, etiket, cədvəl, rəng | Mənfəətlilik və ya giriş ehtiyacı |
| Strategiya | Formal qaydaları modelləşdirin | Hipotetik əməliyyatlar və hesabat | Brokerdə real icra |
| Kitabxana | Yenidən istifadə funksiyaları və növləri | İdxal edilə bilən API | Onu çağıran skriptin düzgünlüyü |
Pine Script növünü necə seçmək olar Əgər uyğundur
Əgər uyğun deyil
|
Diaqramın mənbəyi: rəsmi bölmələrin müəllif müqayisəsi Strategies Və Libraries.
Minimal nümunə Pine Script v6 və nəticəni yoxlamaq
Əsas məqam
Aşağıdakı misal SMA-ni bağlayır. Yoxlama kodun tərtib edilməsindən ibarət deyil, müstəqil əl ilə hesablama ilə bir neçə dəyərin üst-üstə düşməsindən ibarətdir.
TradingView ünvanında Şam Redaktorunu açın, yeni boş göstərici yaradın və kodu yerləşdirin:
//@version=6
indicator("SMA test", overlay = true)
lengthInput = input.int(3, "SMA length", minval = 1)
smaValue = ta.sma(close, lengthInput)
plot(smaValue, "SMA", color = color.orange, linewidth = 2)Birinci sətir Pine Script v6 çəkir. indicator() göstəricini elan edir və onu əsas diaqramın üstünə çəkməyi xahiş edir. input.int() 3 dəyəri ilə uzunluq parametri yaradır və 1 dəyərindən kiçik uzunluğa icazə vermir. ta.sma() bir sıra bağlamalar üzərində sadə hərəkətli ortalama hesablayır. plot() narıncı xətt ilə nəticələnən sıranı göstərir.
Diaqrama əlavə etdikdən sonra nəticəni addım-addım yoxlayın:
- Redaktorda kompilyasiya xətası olmadığına və qrafikdə bir sətir göründüyünə əmin olun.
- Göstərici parametrlərini açın və bunu yoxlayın
SMA length3- a bərabərdir. - Üç bitişik qapalı zolağı seçin və onları diaqram məlumat mənbəyindən yaxına yazın.
- Üç dəyəri əlavə edin və 3 ilə bölün. Qiymətin dəqiqliyini nəzərə alaraq nəticəni üçüncü çubuqdakı xətt dəyəri ilə müqayisə edin.
- Növbəti qapalı zolağa keçin: ilk dəyəri pəncərədən çıxarın, yenisini əlavə edin və hesablamanı təkrarlayın.
- Açıq bara ayrıca baxın. Bağlamadan əvvəl təsdiqlənmiş aralıq dəyərini qeyd etməyin.
Dil məhdudiyyətləri və Midas yaxınlığında təhlükəsiz iş
Əsas məqam
Pine Script qaydalar və məhdudiyyətlər daxilində işləyir TradingView. Midas yaxınlığında müşahidə olunan davranışı öyrənmək və müstəqil təlim kodu yazmaq təhlükəsizdir, lakin onu çıxarmaq mümkün deyil, yalnız dəvət üçün indikatorun qorunan mənbəyini kopyalayın və ya yenidən qurun.
Pine Script limitləri platforma kontekstindən başlayır. Skript onun üçün mövcud olan məlumatları görür və TradingView modelinə uyğun olaraq icra olunur. Tarixin dərinliyi, obyektlərin sayı, hesablama vaxtı və bəzi sorğu növləri məhduddur. Xüsusi limitlər dəyişə bilər, ona görə də onlar köhnə nümunədəki rəqəmləri köçürməkdənsə, mövcud rəsmi sənədlərdə yoxlanılmalıdır.
İkinci məhdudiyyət tarixlə real vaxt arasındakı fərqdir. Şərt qapalı çubuqlarda sabit görünə bilər, lakin açıq çubuqlarda dəyişə bilər. Təsdiqlənmiş etiket tapşırıqda vacibdirsə, onun yalnız bağlandıqdan sonra görünüb-göstərilməməsini açıq şəkildə müəyyənləşdirin. Erkən cavab vacibdirsə, yalnız uğurlu olanları deyil, bütün aralıq vəziyyəti qeyd edin.
Üçüncü məhdudiyyət - simulyasiya icraya bərabər deyil. Strategiya hesabatı broker emulyatorunun qaydalarına və test parametrlərinə uyğun olaraq qurulub. Bu, canlı sifarişdə eyni qiymətə, gecikmə və ya likvidliyin mövcudluğuna zəmanət vermir. Hər hansı bir geri çəkilmədən əvvəl komissiya, sürüşmə, mövqe ölçüsü və risk.
Midas yaxınlığında sadə haşiyə var. Yalnız dəvət üçün indikator icazə icazəsi olan məhsul kimi istifadə edilə bilər və qrafikdə icazə verilən nəticəni müşahidə edə bilər. Siz qorunan mənbə kodunu əldə etməyə, dekompilyasiya etməyə, kopyalamağa və ya təkrar istehsal etməyə cəhd edə bilməzsiniz. Təlim üçün öz problem tərtibinizə əsaslanaraq müstəqil skript yazın.
İmtina. Material təhsil xarakterlidir və fərdi investisiya məsləhəti deyil. Göstərici, skript və ya test cihazının nəticəsi gələcək nəticələrə zəmanət vermir. Ticarət kapital itkisi riskini ehtiva edir.
Aləti Midas ilə tətbiq edin
Midas ekosistemində addım-addım təlimatlar, texniki analiz təlimləri və icma dəstəyi var — ilk buraxılışdan tutmuş öz ticarət məntiqinizin analizinə qədər.
- addım-addım məhsul təlimatları
- Texniki analiz üzrə strukturlaşdırılmış təlim
- komanda və klub üzvləri ilə söhbət edin
Təhlükəsiz təhsilə necə davam etmək olar
Əsas məqam
bir müstəqil nümunə üzərində mexanikanı düzəldin, bir dəfə bir parametr dəyişdirin və versiyaları saxlayın. The observed label of another product does not reveal its algorithm.
Pine Script is not a general purpose language. Its environment and data model are configured for calculations inside TradingView. Bu, daxil olmağı asanlaşdırır open, high, low, close, volume and time, but at the same time sets platform restrictions. The code works with the data set available to the chart, and the behavior on an open bar depends on the execution model.
Dil güclü şəkildə yazılmışdır, lakin yeni başlayanlar üçün praktiki fərqlə başlamaq daha vacibdir. Mənası 3 - bir sadə ədəd. close - sətirdən sətrinə dəyişən. ta.sma(close, 3) də bir sıradır, çünki orta üç dəyərdən ibarət pəncərədən istifadə edərək yenidən hesablanır. “Sadə bir dəyər gözlənilirdi, sıra əldə edildi” xətası adətən riyaziyyatı deyil, növlərin və istifadə kontekstinin uyğunsuzluğunu göstərir.
Şərhlər ilə başlayır //. Adları mənalı etmək daha yaxşıdır: lengthInput parametrin rolunu daha dəqiq izah edir x, A smaValue hesablanmış ortanı orijinaldan fərqləndirir close. This is especially important when the code is being reviewed by another person.
Strategies have an additional feature. Defolt olaraq, real vaxt çubuğunda strategiya hesablanması yalnız bağlandıqdan sonra baş verə bilər, əgər digər parametrlər aktivləşdirilməyibsə. Therefore, the same condition in the indicator and strategy cannot be automatically considered synchronous. Before comparing, write down the type of program, calculation settings and when the result was read.
For the first task, select the minimum type. Əgər düsturu başa düşmək və xətti görmək lazımdırsa, göstərici ilə başlayın. Move to strategy only after entry, exit, timing and costs are written down without ambiguity. Kod təkrarı artıq baş verdikdə və funksiya interfeysi sabit olduqda kitabxana seçin.
Əl ilə alınan nəticə uyğun gəlmirsə, “keyfiyyət TradingView” yox, dəqiq müqayisə şərtlərini yoxlayın: simvolun eyni olub-olmadığını yoxlayın. müddət açıqdır, qiymət növü eynidir, uzunluq düzgün göstərilib, çubuq bağlıdır, kifayət qədər tarix varmı, ekran dəqiqliyi eynidirmi. One green compilation status does not prove the correctness of the selected formula.
Minimal nümunə bilərəkdən xəbərdarlıqları, sifarişləri, fərqli vaxt çərçivəsi və mürəkkəb vəziyyət məntiqi məlumatlarına dair sorğuları ehtiva etmir. Bu, hər bir sıranı müşahidə edilə bilən nəticə ilə əlaqələndirməyə imkan verir. Aşağıdakı dəyişikliyi bir-bir edin: əvvəlcə 3 uzunluğunu 5 ilə əvəz edin və eyni vaxtda bir neçə şərt əlavə etmək əvəzinə pəncərəni əl ilə yenidən yoxlayın.
Safe training scenario next to Midas:
- Midas daxili məntiqinə istinad etmədən müşahidə edilə bilən qayda formalaşdırın, məsələn, "bağlamaqla SMA(3) qurun".
- Write a minimal independent Pine Script and manually check the values.
- Save the original and modified versions. Nəyin dəyişdiyini və hansı qapalı çubuqların uzlaşdırıldığını yazın.
- Midas etiketi yaxınlıqda görünürsə, yalnız vaxtı, çubuğun bağlanmasını və ictimaiyyətə görünən nəticəni qeyd edin.
- Do not claim that independent code repeats the algorithm Midas. Fərdi müşahidələrin üst-üstə düşməsi səbəbləri aşkar etmir və ekvivalentliyi sübut etmir.
- Müşahidədən ticarət əmri kimi deyil, öyrənmə jurnalı kimi istifadə edin.
Midas təlimində və göstəricilər yan-yana işləyir: əvvəlcə istifadəçi təkrarlana bilən nümunədən istifadə edərək mexanikanı yoxlayır, sonra diaqram kontekstində məhsul siqnallarını oxumağı öyrənir. Midas etiketi ticarətə daxil olmaq üçün avtomatik əmr deyil, təhlil aparmaq üçün səbəbdir. This order helps to separate the tool from your own solution.
Başlamaq üçün faydalıdır ticarət strategiyaları bölməsi, sonra rolu yoxlayın ticarət üçün göstəricilər və ayrıca sökün hərəkətli orta. Seçim göstəricilər TradingView başqasının kodunu kopyalamadan hansı problemlərin vizual şəkildə həll oluna biləcəyini görməyə kömək edəcək.
Mənbələr
-
- TradingView Pine Script: First steps - redaktor, tərtib və ilk göstərici, sənədlər v6.
-
- TradingView Pine Script: Script structure - versiya, bəyannamə və əsas kod.
-
- TradingView Pine Script: Execution model - tarixi və real vaxt çubuqları, geri qaytarma və təsdiqləmə.
-
- TradingView Pine Script: Bar states - bar states and confirmation signs.
-
- TradingView Pine Script: Strategies - broker emulyatoru və strategiya hesablama xüsusiyyətləri.
-
- TradingView Pine Script: Libraries - declaration, export and reuse of libraries.
Tez-tez verilən suallar
Pine Script sadə sözlərlə nədir?
Bu, TradingView daxilindəki proqramlaşdırma dilidir. Onun köməyi ilə formal qayda qrafik barları üzrə hesablama, vizual indikator, simulyasiya üçün strategiya və ya funksiyalar kitabxanasına çevrilir. Kod platforma tərəfindən kompilyasiya olunur və icra olunur. Dil özü faydalı ticarət ideyasını seçmir və nəticəni zəmanət etmir.
Kompüterimə Pine Script quraşdırmalıyam?
Əsas iş üçün №. Kod TradingView içindəki Pine Editor-da yazılır, orada kompilyasiya olunur və cədvələ əlavə edilir. Saxlama, yayımlama və xüsusiyyətlərə çıxış hesabınızdan və mövcud platforma siyasətlərindən asılıdır. Layihə üçün lokal mətn redaktoru istifadə oluna bilər, lakin Pine Script runtime TradingView.
Niyə Pine Script hər barda ifa olunur?
Cədvəldəki dəyərlərin əksəriyyəti ardıcıllıqdır: hər çubuğun öz bağlanışı və öz formula nəticəsi var. Buna görə proqram verilənlər dəstindən ardıcıl keçir. Tarixə görə, hesablama adətən hər bar üçün bir dəfə baş verir, Açıq real vaxt çubuğundakı göstərici hər yeniləmədə bağlanış təsdiqlənədək yenidən hesablana bilər.
Göstərici strategiyadan nə ilə fərqlənir?
indicator() is intended primarily for calculation and visualization. strategy() adds commands for hypothetical orders and a tester report, which is processed by the broker emulator. Strategiya hesabatı həqiqi icra deyil. Komissiya, sürüşmə və hesablama momenti parametrləri ayrı-ayrılıqda yoxlanılır.
Hər hansı TradingView göstəricisinin mənbə kodunu görmək mümkündürmü?
yox. Açıq nəşrlər üçün kod müəllifin seçimi ilə əlçatan ola bilər, lakin yalnız dəvət olunan və digər qorunan skriptlər mənbəni çıxarmaq və ya surətini çıxarmaq hüququ vermir. Təlim üçün öz tapşırığınız üçün müstəqil kod yazın və yalnız icazə verilən müşahidə olunan nəticələri müqayisə edin, alqoritmlərin ekvivalentliyini iddia etmədən.




Şərhlər
Mənbə şərhləri tərcümə edilmir.