Pine Script nima va u TradingView da qanday vazifalarni hal qiladi
Asosiysi
Pine Script rasmiy qoidani grafik maʼlumotlarga asoslangan hisob-kitobga aylantiradi. Til seriyalarni vizuallashtirish, shartlarni tekshirish va modellashtirish strategiyalari uchun javob beradi, lekin muammoni oʻrnatish va natijani tekshirish oʻrnini bosmaydi.
Pine Script TradingView ichiga o'rnatilgan. Foydalanuvchi Pine muharririni ochadi, dastur matnini yozadi, uni saqlaydi va natijani jadvalga qoʻshadi. Platforma manba kodini kompilyatsiya qiladi, dasturni oladi va uni mavjud bo'lgan barlar to'plamida ishga tushiradi. Birinchi tanishuv uchun alohida mahalliy kompilyator kerak emas.
TradingView Pine Script da tayyor diagramma seriyasini oladi, shuning uchun birinchi tekshirish kichik bo'lishi mumkin: bitta formula, bitta parametr va bitta qator.
Til odatda toʻrtta vazifa uchun ishlatiladi:
- Harakatlanuvchi oʻrtacha, diapazon yoki maxsus kabi qatorni hisoblang osillatr.
- Narx yoniga chiziq, yorliq, fon rangi yoki boshqa natijani chizing.
- Strategiya qoidalarini tavsiflang va testerda faraziy buyurtmalar simulyatsiyasini oling.
- Qayta foydalanish mumkin boʻlgan funksiyalar va maxsus turlarni kutubxonaga koʻchiring.
Kalit soʻz bu yerda - qoidasi. Ssenariy "kuchli harakatni ko'rsatish" kabi noaniq fikrni tushunmaydi. Unga kuzatilishi mumkin bo'lgan shartlar kerak: qanday ma'lumotlarni olish, qaysi davr uchun hisoblash, nimani solishtirish va nimani chiqarish. Qoida qanchalik aniq boʻlsa, bir nechta satrlardagi kodni qoʻlda tekshirish shunchalik oson boʻladi.
|
Diagramma manbasi: rasmiy bo'limlarning muallif xulosasi First steps Va Execution model. Diagrammada interfeys yoki yopiq infratuzilma tasvirlanmagan TradingView.
Skript nimalardan iborat: versiya, e'lon va asosiy kod
Asosiysi
ishchi skriptda versiya izohi, bitta dastur turi deklaratsiyasi va ko'rsatmalar mavjud. Chiziqlar va qator uzilishlari muhim va nomlar kiritilgan maʼlumotlarni hisoblangan seriyalardan ajratishga yordam beradi.
Pine Script rasmiy tuzilishi uch qismdan iborat. Birinchisi, koʻrish versiyasining izohidir //@version=6. U kompilyatorga kod qaysi til versiyasida yozilganligini aytadi. Agar izoh qoldirsangiz, xatti-harakatlar eski versiyaga mos kelishi mumkin, shuning uchun yangi qo'llanmada versiyani aniq ko'rsatgan ma'qul.
Ikkinchi qism - e'lon. Skript funksiyalardan birini ishlatadi: indicator(), strategy() yoki library(). U dastur turini va mavjud funksiyalarni aniqlaydi. Siz indikator uchun nom va parametrni oʻrnatishingiz mumkin overlay, strategiya uchun - modellashtirish xususiyatlari, kutubxona uchun - eksport qilinadigan ob'ektlar to'plamining tavsifi.
Uchinchi qism - asosiy kod. Kirishlar, oʻzgaruvchilar, hisoblar, shartlar va vizualizatsiya chaqiruvlari bu yerda eʼlon qilinadi. Pine Script da qiymat ko'pincha bitta raqam emas, lekin yaqin: har bir bar o'zining yopilish narxiga va o'z hisob-kitob natijasiga ega. Ifoda ta.sma(close, 3) shuning uchun bitta doimiy qiymatdan ko'ra o'rtachalar ketma-ketligini yaratadi.
Avval skriptni pasport kabi yuqoridan pastga o'qish foydalidir:
- tilning qaysi versiyasi e'lon qilingan;
- qanday dastur turi e'lon qilingan;
- foydalanuvchi qanday parametrlarni oʻzgartirishi mumkin;
- qaysi dastlabki seriyadan hisob-kitobga asoslanadi;
- qanday natija chiqadi yoki simulyatsiya qilinadi.
|
Sxematik manba: bo'limning mualliflik ko'rinishi Script structure.
Oddiy: bitta qiymat Seriya: har bir satrdagi qiymat
|
Diagramma manbasi: rasmiy ma'lumotlarga ko'ra oddiy qiymat va seriya o'rtasidagi farqni muallifning tushuntirishi ijro modeli Pine Script.
Pine Script barlar bo‘yicha qanday ishlaydi va real vaqt rejimida nima o‘zgaradi
Asosiysi
tarixda, hisoblash har bir mavjud satr uchun amalga oshiriladi va ochiq real vaqt satrida indikator har bir yangilanish bilan bajarilishi mumkin. Bar yopilishidan oldin oraliq qiymatlar tasdiqlanmaydi.
Har bir satr bitta satrdan iborat jadvalni tasavvur qiling. Pine Script ketma-ket qator ma'lumotlarini oladi, ko'rsatmalarni bajaradi va ushbu satr uchun satr natijasini saqlaydi. Keyingi satrda yangi maʼlumotlar va ruxsat etilgan hollarda oʻtgan qiymatlar tarix operatori orqali mavjud, masalan. close[1].
Tarixiy shtrixlarda kod odatda har bir satrda bir marta bajariladi. Ular open, high, low Va close allaqachon ma'lum. Ochiq real vaqt panelida vaziyat boshqacha: narx va maksimal yoki minimal yopilishdan oldin yangilanishi mumkin. Ko'rsatkich har bir yangilanishda yana hisoblab chiqadi, va yangi oʻtishdan oldin TradingView ochiq satrning oʻzgaruvchan holatini oxirgi tasdiqlangan holatga qaytaradi. Hujjatlarda bu mexanizm orqaga qaytarish deb ataladi.
Bu umumiy qoidaga olib keladi: ochiq shamda hozirda ko'rinadigan qiymat o'zgarishi yoki yo'qolishi mumkin. Bar yopilgandan so'ng, u o'sha satrning tasdiqlangan natijasiga aylanadi. Bu har doim ham xato yoki kundalik ma'noda "qayta chizish" emas. Avval siz shart ochiq satr ma'lumotlaridan foydalanishini va aniq qachon tuzatilishi kutilayotganligini aniqlashingiz kerak.
Mashg'ulot jadvali besh barli tarix va bitta ochiq barni ko'rsatadi. Misol sifatida biz uchta yopilish uchun SMA ni olamiz:
| Bar | Close | SMA(3) hisobdan keyin | Holat |
|---|---|---|---|
| 1 | 100 | maʼlumot yoʻq | Yopiq, uchta qiymat yoʻq |
| 2 | 102 | maʼlumot yoʻq | Yopiq, uchta qiymat yoʻq |
| 3 | 101 | 101,00 | Yopiq va tasdiqlangan |
| 4 | 105 | 102,67 | Yopiq va tasdiqlangan |
| 5 | 104 | 103,33 | Yopiq va tasdiqlangan |
| 6 | 106, keyin 103 | 105,00, keyin 104,00 | Ochiq, qiymat o'zgaradi |
Oltinchi qatorda natija birinchi bo'lib teng (105 + 104 + 106) / 3 = 105, va joriyni 103 ga yaqin o'zgartirgandan so'ng u shunday bo'ladi (105 + 104 + 103) / 3 = 104. Ilgari yopilgan chiziqlar bu misolda oʻzgartirilmagan. Raqamlar sintetik va faqat mexanikani tekshirish uchun kerak.
|
Diagramma manbasi: muallifning sintetik seriyali modelidan foydalangan holda hisob-kitobi Execution model Va Bar states.
Indikator, strategiya va kutubxona bilan farq nima
Asosiysi
indikator ma'lumotlarni hisoblaydi va ko'rsatadi, strategiya faraziy buyurtmalarni modellashtiradi, kutubxona boshqa skriptlarga qayta foydalanish mumkin bo'lgan kodni taqdim etadi. Turni tanlash dastur hajmiga emas, balki vazifaga bog'liq.
Ko'rsatkich orqali e'lon qilinadi indicator(). U chiziqlar, belgilar, jadvallar va boshqa vizual elementlarni chizishi mumkin. Oddiy indikator SMA haqiqiy pozitsiyani ochmaydi: u ketma-ketlikni hisoblab chiqadi va uni diagrammada aks ettiradi. Natijaga asoslanib, foydalanuvchi individual kuzatish qoidalarini shakllantirishi mumkin.
Strategiya orqali e'lon qilinadi strategy(). Uning kodida faraziy so'rovlarni yaratuvchi buyruqlar paydo bo'ladi. TradingView ularni broker emulyatori bilan qayta ishlaydi va hisobotni ko'rsatadi. Bu namunaviy test, haqiqiy ijroni tasdiqlash emas: komissiya, sirpanish, ilovalarni toʻldirish va hisoblash sozlamalari alohida koʻrsatilishi va tekshirilishi kerak.
Kutubxona orqali e'lon qilingan library(). Unda boshqa Pine skriptlari uchun eksport qilinadigan funksiyalar, usullar, maxsus turlar yoki raqamlar mavjud. Agar bir nechta dasturlarda bir xil sinovdan o'tgan mantiq kerak bo'lsa, kutubxona foydali bo'ladi. Oʻz-oʻzidan chiziq chizish yoki ilova yaratish shart emas.
| Tur | Asosiy vazifa | Natija kuzatildi | Tasdiqlamaydi |
|---|---|---|---|
| Indikator | Maʼlumotlarni hisoblash va koʻrsatish | Chiziq, yorliq, jadval, rang | Daromadlilik yoki kirish zarurati |
| Strategiya | Rasmiy qoidalar namunasi | Gipotetik operatsiyalar va hisobot | Brokerda haqiqiy ijro |
| Kutubxona | Qayta foydalanish funksiyalari va turlari | Import qilinadigan dasturiy interfeys | Uni chaqiradigan skriptning to'g'riligi |
Turni qanday tanlash mumkin Pine Script Mos keladi, agar
Mos kelmaydi, agar
|
Diagramma manbasi: rasmiy bo'limlarni muallifning taqqoslashi Strategies Va Libraries.
Minimal misol Pine Script v6 va natijani tekshirish
Asosiysi
quyidagi misolda SMA yopilish orqali tuziladi. Tekshiruv kodni tuzishda emas, balki mustaqil qo'lda hisoblash bilan bir nechta qiymatlarning mos kelishidan iborat.
Pine muharririni TradingView sahifasida oching, yangi boʻsh koʻrsatkich yarating va kodni joylashtiring:
//@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)Birinchi qator: Pine Script v6. indicator() indikatorni e'lon qiladi va uni asosiy diagrammaning tepasiga chizishni so'raydi. input.int() 3 qiymati bilan uzunlik parametrini yaratadi va 1 dan kamroq uzunlikka ruxsat bermaydi. ta.sma() bir qator yopilishlar boʻyicha oddiy harakatlanuvchi oʻrtachani hisoblaydi. plot() olingan qatorni to'q sariq chiziq bilan ko'rsatadi.
Diagrammaga qo'shgandan so'ng, natijani bosqichma-bosqich tekshiring:
- Tahrirlovchida kompilyatsiya xatosi yoʻqligiga va grafikda bitta qator paydo boʻlishiga ishonch hosil qiling.
- Ko'rsatkich sozlamalarini oching va tekshiring
SMA length3 ga teng. - Uchta qoʻshni yopiq chiziqni tanlang va ularni diagramma maʼlumotlar manbasidan yaqiniga yozing.
- Uchta qiymatni qoʻshing va 3 ga boʻling. Natijani narxning aniqligini hisobga olgan holda uchinchi satrdagi chiziq qiymati bilan solishtiring.
- Keyingi yopiq satrga o'ting: oynadan birinchi qiymatni olib tashlang, yangisini qo'shing va hisobni takrorlang.
- Ochiq chiziqni alohida kuzating. Yopishdan oldin tasdiqlangan oraliq qiymatini yozmang.
Tilning cheklovlari va Midas yonida xavfsiz ishlash
Asosiysi
Pine Script qoidalar va cheklovlar doirasida ishlaydi TradingView. Midas yaqinida kuzatilgan xatti-harakatlarni o'rganish va mustaqil trening kodini yozish xavfsiz, ammo uni chiqarib bo'lmaydi, faqat taklif uchun indikatorning himoyalangan manbasini nusxalash yoki qayta qurish.
Pine Script cheklovlari platforma kontekstidan boshlanadi. Skript o'zi uchun mavjud ma'lumotlarni ko'radi va TradingView modeli bo'yicha bajariladi. Tarix chuqurligi, ob'ektlar soni, hisoblash vaqti va so'rovlarning ayrim turlari cheklangan. Maxsus chegaralar oʻzgarishi mumkin, shuning uchun ular eski misoldagi raqamlarni koʻtarmasdan, amaldagi rasmiy hujjatlarda tekshirilishi kerak.
Ikkinchi cheklov - tarix va real vaqt o'rtasidagi farq. Vaziyat yopiq barlarda barqaror ko'rinishi mumkin, lekin ochiq barlarda o'zgarishi mumkin. Agar topshiriqda tasdiqlangan yorliq muhim boʻlsa, u faqat yopilgandan keyin paydo boʻlishini aniq belgilab qoʻying. Agar erta javob berish muhim boʻlsa, faqat muvaffaqiyatli boʻlganlarni emas, balki barcha oraliq holatlarni qayd qiling.
Uchinchi cheklov - simulyatsiya bajarishga teng emas. Strategiya hisoboti broker emulyatori qoidalariga va test sozlamalariga muvofiq tuzilgan. Bu jonli buyurtmada bir xil narx, kechikish yoki likvidlik mavjudligini kafolatlamaydi. Har qanday pul olishdan oldin komissiya, sirg'alib ketish, pozitsiya o'lchami va xavf.
Midas yaqinida oddiy chegara bor. Faqat taklif etilgan indikatordan ruxsat berilgan mahsulot sifatida foydalanish va jadvalda ruxsat etilgan natijani kuzatish mumkin. Himoyalangan manba kodini olishga, dekompilyatsiya qilishga, nusxalashga yoki qayta ishlab chiqarishga urina olmaysiz. Mashg'ulot uchun o'zingizning muammoli formulangiz asosida mustaqil skript yozing.
Diskleymer. Material ta’limiy xarakterga ega va shaxsiy investitsiya tavsiyasi hisoblanmaydi. Indikator, skript yoki tester natijasi kelajakdagi natijalarga kafolat bermaydi. Savdo kapitalni yo'qotish xavfini o'z ichiga oladi.
Asbobni amalda Midas bilan o'rganing
Midas ekotizimida bosqichma-bosqich ko'rsatmalar, texnik tahlil o'qitish va jamoa qo'llab-quvvatlashi mavjud — birinchi ishga tushirishdan o'z savdo logikangizni tahlil qilishgacha.
- mahsulot bo'yicha bosqichma-bosqich ko'rsatmalar
- texnik tahlilni strukturalangan o'rganish
- jamoa va klub ishtirokchilari bilan chat
O‘qishni qanday xavfsiz davom ettirish
Asosiysi
bitta mustaqil misolda mexanikani tuzating, bir vaqtning o'zida bitta parametrni o'zgartiring va versiyalarni saqlang. Boshqa mahsulotning kuzatilgan yorlig'i uning algoritmini ko'rsatmaydi.
Pine Script umumiy maqsadli til emas. Uning muhiti va maʼlumotlar modeli TradingView ichida hisob-kitoblar uchun sozlangan. Bu kirishni osonlashtiradi open, high, low, close, tovush va vaqt, lekin ayni paytda platforma cheklovlarini o'rnatadi. Kod diagrammaga kirish mumkin bo'lgan ma'lumotlar to'plami bilan ishlaydi va ochiq paneldagi xatti-harakatlar bajarish modeliga bog'liq.
Til kuchli yozilgan, ammo yangi boshlanuvchilar uchun amaliy farqdan boshlash muhimroqdir. Qiymat 3 - bitta tub son. close - qatordan satrga oʻzgaradi. ta.sma(close, 3) ham qatordir, chunki oʻrtacha yana uchta qiymatdan iborat oyna yordamida hisoblanadi. “Oddiy qiymat kutilgan edi, qator olindi” xatosi odatda matematikani emas, balki foydalanish turlari va kontekstining nomuvofiqligini bildiradi.
Fikrlar bilan boshlanadi //. Ismlarni ma'noli qilish yaxshidir: lengthInput parametrning rolini ko'ra aniqroq tushuntiradi. x, a smaValue hisoblangan oʻrtachani asl koʻrsatkichdan ajratib turadi close. Bu, ayniqsa, kod boshqa shaxs tomonidan tekshirilayotganda juda muhim.
Strategiyalar qoʻshimcha xususiyatga ega. Odatiy boʻlib, real vaqt satrida strategiyani hisoblash, agar boshqa sozlamalar yoqilmagan boʻlsa, u yopilgandan keyingina amalga oshirilishi mumkin. Shuning uchun indikator va strategiyadagi bir xil holat avtomatik ravishda sinxron deb hisoblanmaydi. Taqqoslashdan oldin dastur turini, hisoblash sozlamalarini va natija qachon oʻqilganligini yozing.
Birinchi vazifa uchun minimal turni tanlang. Agar siz formulani tushunishingiz va chiziqni ko'rishingiz kerak bo'lsa, indikatordan boshlang. Strategiyaga faqat kirish, chiqish, vaqt va xarajatlar noaniqliksiz yozilgandan keyin oʻting. Kod takrorlanishi allaqachon sodir boʻlgan va funksiya interfeysi barqaror boʻlsa kutubxonani tanlang.
Agar qo'lda berilgan natija mos kelmasa, "sifat TradingView" ni emas, balki aniq taqqoslash shartlarini tekshiring: belgi bir xilmi yoki yo'qmi vaqt oralig‘i ochiq, narx turi mos keladimi, toʻgʻri uzunlik koʻrsatilganmi, chiziq yopiqmi, tarix yetarlimi, displey aniqligi bir xilmi. Bitta yashil kompilyatsiya holati tanlangan formulaning toʻgʻriligini tasdiqlamaydi.
Minimal misol ataylab ogohlantirishlar, buyruqlar, boshqa vaqt oralig'idagi ma'lumotlar uchun so'rovlar va murakkab holat mantig'ini o'z ichiga olmaydi. Bu har bir qatorni kuzatilishi mumkin boʻlgan natija bilan bogʻlash imkonini beradi. Quyidagi oʻzgartirishni birma-bir bajaring: avval 3 uzunligini 5 bilan almashtiring va bir vaqtning oʻzida bir nechta shartlarni qoʻshishdan koʻra, oynani yana qoʻlda tekshiring.
Xavfsiz trening stsenariysi Midas yonidagi:
- Midas ichki mantigʻiga havola qilmasdan kuzatilishi mumkin boʻlgan qoidani shakllantirish, masalan, “SMA(3) ni yopish orqali qurish”.
- Minimal mustaqil Pine Script yozing va qiymatlarni qo'lda tekshiring.
- Asl va oʻzgartirilgan versiyalarni saqlang. Nima o'zgarganligini va qaysi yopilgan barlar kelishilganligini yozing.
- Agar Midas yorligʻi yaqin atrofda koʻrinsa, faqat vaqtni, bar yopilishini va hammaga koʻrinadigan natijani yozib oling.
- Mustaqil kod algoritmni takrorlaydi, deb da'vo qilmang Midas. Shaxsiy kuzatuvlarning tasodifiyligi sabablarni ochib bermaydi va ekvivalentligini isbotlamaydi.
- Kuzatishdan savdo buyrug'i sifatida emas, balki o'quv jurnali sifatida foydalaning.
Midas treningida va indikatorlar yonma-yon ishlaydi: birinchidan, foydalanuvchi takrorlanadigan misol yordamida mexanikani tekshiradi, keyin diagramma kontekstida mahsulot signallarini oʻqishni oʻrganadi. Midas yorlig'i savdoga kirish uchun avtomatik buyruq emas, balki tahlil o'tkazish uchun sababdir. Bu buyurtma asbobni oʻz yechimingizdan ajratishga yordam beradi.
Buni boshlash foydali savdo strategiyalari bo'limi, keyin rolni tekshiring treyding uchun indikatorlar va alohida qismlarga ajrating sürma o'rtacha. Kompilyatsiya ko'rsatkichlari TradingView boshqa birovning kodini nusxalashga urinmasdan qanday muammolarni vizual tarzda hal qilish mumkinligini ko'rishga yordam beradi.
Manbalar
-
- TradingView Pine Script: First steps - muharrir, kompilyatsiya va birinchi ko'rsatkich, hujjatlar v6.
-
- TradingView Pine Script: Script structure - versiyasi, deklaratsiya va asosiy kod.
-
- TradingView Pine Script: Execution model - tarixiy va real vaqtda barlar, orqaga qaytarish va tasdiqlash.
-
- TradingView Pine Script: Bar states - satr holati va tasdiqlash belgilari.
-
- TradingView Pine Script: Strategies - broker emulyatori va strategiyani hisoblash xususiyatlari.
-
- TradingView Pine Script: Libraries - kutubxonalarni deklaratsiyalash, eksport qilish va qayta foydalanish.
Tez-tez beriladigan savollar
Pine Script nima ekanini oddiy soʻz bilan tushuntirish?
Bu TradingView ichidagi dasturlash tili. U yordamida rasmiy qoidani grafig barlaridagi hisob-kitobga, vizual indikatorga, simulyatsiya strategiyasiga yoki funktsiyalar kutubxonasiga aylantiradilar. Kod platforma tomonidan kompilyatsiyalanadi va bajariladi. O'zining tili foydali savdo g'oyasini tanlamaydi va natijani kafolatlamaydi.
Pine Script ni kompyuterga oʻrnatish kerakmi?
Asosiy ishlash uchun kerak emas. Kod TradingView ichidagi Pine Editorda yoziladi, shu yerda kompilyatsiya qilinadi va grafikaga qoʻshiladi. Saqlash, nashr etish va imkoniyatlarga kirish hisob qaydnomasi va platformaning amaldagi qoidalariga bogʻliq. Mahalliy matn muharriridan loyihani tayyorlash uchun foydalanish mumkin, lekin bajaradigan Pine Script muhit TradingView.
Nega Pine Script har bir bar’da bajariladi?
Grafikadagi koʻpgina qiymatlar qatorlar shaklida bo‘ladi: har bir barning o‘z close qiymati va formuladan olingan natijasi mavjud. Shuning uchun dastur ma’lumotlar to‘plami orqali ketma-ket o‘tadi. Tarixda hisoblash odatda har bir bar uchun bir marta amalga oshiriladi, Indikator ochiq realtime-bar’da esa har bir yangilanishda yopilish bilan tasdiqlanguncha qayta hisoblanishi mumkin.
Indicator strategy dan nimasi bilan farq qiladi?
indicator() asosan hisoblash va vizualizatsiya uchun moʻljallangan. strategy() faraziy buyurtmalar va broker emulyatori tomonidan qayta ishlanadigan tester hisoboti uchun buyruqlar qoʻshadi. Strategiya hisobotlari haqiqiy bajarilish hisoblanmaydi. Komissiya, slippage va hisoblash payti sozlamalari alohida tekshiriladi.
Har qanday indikatorning manba kodini koʻrish mumkinmi TradingView?
Yo‘q. Ochiq nashrlarda kod muallifning qaroriga ko'ra ochiq bo'lishi mumkin, lekin invite-only va boshqa himoyalangan skriptlar kodni olish yoki nusxalash huquqini bermaydi. Oʻrganish uchun o‘z masalangiz bo‘yicha mustaqil kod yozing va faqat ruxsat etilgan kuzatiladigan natijalarni solishtiring, algoritmlar ekvivalentligini aytmasdan.




Izohlar
Manba izohlari tarjima qilinmaydi.