Pine Script кітапханалары: импорттау, экспорттау және функциялық нұсқалар

"Pine Script Libraries: Import, Export және Function Versions" мақаласының мұқабасы: сол жақта үш экспортталған функциясы бар кітапхана блогы, оң жақта үш скрипт орналасқан; Екеуі бірінші нұсқаға қосылған, үшіншісі екіншісіне ауыстырылған.

Кітапхана ақталған кезде және көшіріп-қою жеткілікті болғанда?

Адал шекара қарапайым. Егер бір скрипт есептеуді қажет етсе, ол осы скрипттің ішінде болуы керек. Ескі индикаторды ашып, функцияны сол жерден көшіріп жатқанда, және тағы да көп нәрсе, көшіру-қою қымбатқа түседі, баспаға бір реттік әуре-шудан гөрі.

Кітапхананың бағасы бар, алдын ала білген дұрыс. Оны жай ғана редакторда сақтап, байланыстыру мүмкін емес: оны кем дегенде жеке түрде жариялау керек. Ол әрдайым ашық бастапқы кодпен жарияланады, TradingView басқа нұсқа берілмейді. Ал оны кейіннен өңдеу редактордағы нұсқа сияқты еркін жұмыс істемейді.

Оның орнына сен шындықтың бір орнын аласың. Кітапханадағы формуланы түзетіп, жаңа нұсқасын шығарып, қай скрипттерді оған аудару керектігін өзіңіз шешіңіз. Ешкім тыныш ауыспайды, бұл ақау емес, сайттың саналы шешімі.

Кітапхана кімді құтқарады
Егер жарамды болса
  • Сол есептеу сенің үш немесе одан да көп сценарийіңде бар
  • Сіз жалпы сигналдар логикасы бар индикаторлар жиынтығын жазасыз
  • Сіз өз функцияларыңызды басқа авторларға бергіңіз келе ме?
  • Ішкі утилиталар жиынтығын құру: дөңгелектеу, форматтау, сессиялармен жұмыс істеу
Жарамсыз болса
  • Дәл бір индикатор бұл функцияны қажет етеді
  • Код күн сайын өзгереді және әлі орнатылған жоқ
  • Логика көрсетілмейді: кітапхана әрдайым ашық
  • Қолжетімділікті сату үшін жеке өнім керек

Егер сіз тек тілге қарап отырсаңыз және өз тіліңізді жазу туралы шешім қабылдамаған болсаңыз, жалпы суреттен бастаңыз: ол не Pine Script және оның қалай жұмыс істейтіні. Кітапханалар екінші қадам, бәріне керек емес.

Содан кейін library() айырмашылығы indicator() Және strategy()?

Pine Script кітапханалары индикатор мен стратегиямен тең дәрежеде үшінші типтегі скрипт болып табылады. Әр скрипт дәл бір декларациядан басталады және ол жаһандық ауқымда тұрады. Сонымен, таңдау қарапайым: не indicator(), немесе strategy(), немесе library(). Үшіншісі көрсетілмейді және комбинация да көрсетілмейді.

Кітапхана мен индикатор арасында бірнеше айырмашылықтар бар, және олардың басым бөлігі логикалық.

Дұрыс айтасың export Тек кітапханаларға ғана қолжетімді. Индикатор, қанша қаласа да, өз функциясын басқа скриптке бере алмайды, бұл тыйым салу үшін тыйым емес, рөлдерді бөлу.

Кітапхана тақырыбы атау кеңістігінің атауы сияқты жұмыс істейді, және оның ережелері қатаңырақ. Тек латын әріптері, сандары және астын сызу жарамды, саннан бастауға болмайды. String "Library for 14-day averages" жай ғана бос орындар мен дефис болғандықтан, компиляция қатесіне себеп болады, және "Library_for_14_day_averages" өтеді.

Кітапхана кестеге ілінбеуі керек. Көмек TradingView тікелей былай дейді: кітапханалар қабаттасуға арналмаған, олар басқа скрипт жазылғанда импортталады. Техникалық тұрғыдан алғанда, диаграммадағы код әлі де қалыпты индикатор ретінде орындалады және бұл жарияланбас бұрын таза диаграмманы дайындау үшін қолданылады.

Және кейінірек тағы бір кішкентай нәрсе шығады: кітапхана өзі ескерту жасамайды. Ол функцияны шақыру арқылы экспорттай алады alert() ішінде, және ескерту осы функцияны шақыратын скриптті жасайды.

Кітапхана құру жолы: Функциядан export

Тілдің алтыншы нұсқасындағы кітапхана құрылымы былай көрінеді:

//@version=6
// @description Короткое описание, что тут лежит
library("My_Tools", overlay = true)

export myEma(int x) =>
    ta.ema(close, length = x)

Жарнамада library() дәл үш параметр: title, overlay Және dynamic_requests. Біріншісі қажет, ол импорттау кезінде идентификатор ретінде де қызмет етеді. Екіншісі суреттің негізгі диаграмма панеліне жетуіне жауапты, әдепкі бойынша ешқандай. Үшіншісі динамикалық сұраныстарға мүмкіндік береді, ал алтыншы нұсқада әдепкі бойынша қосылған, ал бесінші нұсқада өшірілген.

Сіз тек функцияларды ғана емес, басқа функцияларды экспорттай аласыз. Тізімде әдістер, пайдаланушы анықтаған типтер, enums және тұрақты айнымалылар кіреді. Константалар тілге басқалардан кейін, 2025 жылдың маусымында келді және олардың өз шарттары бар: типі тек int, float, bool, color немесе string, Жарнамада сөз const.

Типтер мен энумдарға қатысты айқын емес ереже бар. Егер экспортталған функция сіздің типіңізге сай объектіні қабылдаса немесе қайтарып берсе, онда типтің өзін экспорттау қажет. Егер бір экспортталған өріс басқа типті қолданса да солай. Бірақ егер шрифт тек кітапхананың ішкі ас үйіне ғана қажет болса, оны сыртқа шығарудың қажеті жоқ.

Бос кітапхана жиналмайды. Компиляцияның сәтті болуы үшін кем дегенде бір атау болуы керек: функция, әдіс, тип немесе enum.

  1. 1

    Жарықтандыру функциясы

    Сіз көшіріп жатқан есептеуді скрипттен скриптке таңдаңыз

  2. 2

    Декларацияны кітапханамен ауыстыру

    Атауы тек латын тілінде, сандар мен астын сызу

  3. 3

    Жабдықтау экспорты және түрлері

    Әр параметр үшін түрі қажет, әйтпесе ол жиналмайды

  4. 4

    Енгізулер мен жаһандық сілтемелерді жою

    Ішінде кіріс шақырып, жаһандық массивтерді ала алмайсың

  5. 5

    Диаграмманы тексеріңіз

    Кітапхана коды қалыпты индикатор ретінде орындалады

  6. 6

    Жеке немесе қоғамдық жариялау

    Жариялаусыз кітапхананы импорттау мүмкін емес

Егер сізде кәдімгі индикатор ішінде жұмыс істейтін функция болса және оны басқа скрипттерде қайта қолданғыңыз келсе, процедура.

Редакторды ашып, жобаны сақтау және скриптті диаграммаға қосу бөлек механика, ол туралы мақалада егжей-тегжейлі талданады Редактор Pine Script.

Экспортталған функция параметрлері неге типтерді талап етеді?

Құжаттаманың мәтіні ешқандай еркіндік қалдырмайды: параметр түрін анықтау міндетті, ал индикаторлар мен стратегиялардағы арнайы функциялардан айырмашылығы, мұнда типтер жазылмайды. Себебі утилитарлық. Функция бөтен адамдарға беріледі, ал компилятор келісімшартты алдын ала білуі керек.

Типтен бөлек, параметрдің квалификациясы бар, және мұнда таңдау тек екі сөз: simple Және series. Дұрыс айтасың const Экспортталған функцияда рұқсат етілмейді, ол тек кәдімгі, экспортталмайтын жүйелерге ғана қолжетімді.

Әдепкі бойынша, аргументтер келесідей келеді series, егер ашық жазбасаң simple. Компилятор параметрдің ішкі қолданылуын қарап, квалификаторды өзі таңдайды. Сондықтан ең жиі кездесетін тұзақ бар, құжаттамада ол тура саусақтарда көрсетілген. Кеттік:

export myEma(int x) =>
    ta.ema(close, length = x)

Параметр x ұзындық аргументіне кіреді, және жылжымалы орташа ұзындығы қарапайым мән болуы тиіс. Бұл дегеніміз, x автоматты түрде анықтау беретін алады simple. Челлендж myEma(x = 20) Тыныш жиналады, бірақ myEma(x = bar_index) компиляция қатесін береді: bar_index Әр тактада өзгерістер, бұл серия. Ешқандай құпия ештеңе жоқ, тек функция келісімшарты кодта көрінгеннен қатты болып шықты.

Керісінше жағдай да орын алады. Егер функцияның қарапайым мәнді қайтаруын қаласаңыз, ішінде сериялық мәндер жоқ екеніне көз жеткізуіңіз керек. Біреуі жеткілікті, нәтижесінде серия болады.

Экспортталған функция ішінде не істеуге болмайды?

Құжаттамада шектеулердің жабық тізімі берілген, және оны толық оқып шыққаныңыз жөн, кейін болжам жасамау үшін.

Бірінші. Кітапхананың жаһандық аймағындағы айнымалыларға қол жеткізе алмайсыз, тек тұрақты ретінде жарияланғандары ғана. Баптаулардан немесе жаһандық массивтен алынған мән экспортталған функцияда қолжетімсіз.

Екіншісі. Отбасы функцияларын шақыра алмайсың input. Баптаулар тұтынушы скриптте сақталады, кітапханада емес, және дұрыс: әйтпесе, бір кітапхана интерфейсті оны қосқандардың бәріне таңдар еді.

Үшінші. Сұраулар request.*() Жергілікті ауқымда рұқсат етіледі, егер dynamic_requests қолмен өшірілмеген. Бірақ олардың өз шарттары бар: дау expression Функция параметрлеріңізге тәуелді бола алмайды. Тикер және Уақыт аралығы болуы мүмкін, бірақ өрнектің өзі тәуелді емес.

Төртінші. alert() функция ішінде рұқсат етілген, бірақ тек функцияны шақырған адам ғана ескерту жасайды. Картада ілініп тұрған кітапханадан ескерту жасай алмайсың.

Бесінші. Кітапхана функциясы әрдайым қайтарады simple немесе series, Ол әлсіреп бара жатқан жоқ. Сондықтан, оның нәтижесі тұрақты күтілетін жерде алмастырылмайды. Классикалық мысал: show_last U plot() типтің мәнін талап етеді input int немесе const int, Және оны кітапханадан қайтара алмайсың.

Оған қосымша екі жалпы тіл ережесі бар, олар жиі ұмытылып кетеді. Челлендж plot() тек жаһандық доменде өмір сүреді, яғни кез келген функция ішінде ол мүлде жоқ. Және пайдаланушы функциялары үшін рекурсия тыйым салынған, өзіңізді атай алмайсыз.

Кітапхананы қалай жариялауға болады және оны кім көреді?

Кітапхананы жарияланғанша импорттау мүмкін емес. Мұнда "редакторда сақтап, қосу" деген жоқ.

Жеке және қоғамдық қызмет арасында таңдау кімге қоңырау шалуыңызға байланысты. Жеке нұсқасы қауымдастық лентасына кірмейді және іздеу арқылы табылмайды, ал виджет тек сіздің профиліңізде көрінеді. Бірақ жиі қате жазылатын маңызды деталь — жеке пост беті сілтемеге ие кез келген адамға тікелей сілтеме арқылы ашылады. Бұл сейф емес, бұл іздеуден жасырылған көрме.

Үйлесімділік ережелерін бір рет есте сақтау керек. Қоғамдық скрипт тек қоғамдық кітапханаларды пайдалана алады және өзі ашық бастапқы коды болуы тиіс. Редактордағы жеке скрипттер мен жобалар қоғамдық және жеке кітапханаларда жұмыс істей алады. Бірақ қоғамдық жабық сценарийде, қорғалған немесе тек шақыру арқылы ғана, жеке кітапхананы пайдалана аласыз.

Екі нұсқада өңдеу құқығы әртүрлі. Автор әрқашан жеке басылымды өзгертіп, өшіре алады. Қоғамдық көрсетілімде тек он бес минут бар, содан кейін ол аяқталады. Сондықтан, жақында ескіретін қоғамдық кітапхана сипаттамасында ештеңе жазылмаған.

Сайттың ережелері басқа біреудің коды туралы анық айтады: кітапханалар қоғамдық доменде. Сіз олардың функцияларын шақырып, кодты автордың рұқсатынсыз ашық скриптте қайта пайдалана аласыз. Бірақ енді олардың кодын жеке басылымға нақты келісімсіз беру мүмкін емес. Екі жағдайда да сипаттамада автор көрсетілген. Ашық бастапқы код әдепкі бойынша Mozilla Public License 2.0 бойынша лицензияланады, егер автор бастапқы кодта басқа лицензия жазбаған болса.

Ал тарифтер туралы, себебі бәрі ақшаға келіп тіреледі. Негізгі тариф бойынша мүлде қоғамдық басылымдар жоқ, жеке басылымдар қолжетімді. Қоғамдық автобустар үшін жиілік шектеулері бар: бір күнде беске дейін және отыз күнге он бес адамға дейін. Бұл шектеулер жеке басылымдарға және бұрын жарияланған сценарийлерге қатысты жаңартуларға қатысты емес.

Кітапхананы қалай импорттауға болады және неге alias қажет?

Синтаксисі келесідей:

//@version=6
indicator("Using AllTimeHighLow library", "", true)
import PineCoders/AllTimeHighLow/1 as allTime

plot(allTime.hi())
plot(allTime.lo())

Үш бөліктен тұратын жол нақты нені қосқаныңызды бірегей анықтайды. Мұнда жиі кездесетін бір шарт бар: импортта ол жазылған. title кітапхана хабарландыруынан, автор басылымға ойлап тапқан атауы емес. Бұл көбінесе әртүрлі желілер.

Лақап аты кейінгі as атау кеңістігін анықтайды. S as allTime функциялар былай аталады allTime.hi(). Егер бүркеншік ат жазбасаңыз, кітапхана атауы өзі атау кеңістігіне айналады. Бір нүктелік белгілеу арқылы кітапхананың түрлері мен энумдары қолжетімді.

Бірден есте сақтауға ыңғайлы бірнеше импорт ережелері бар:

  • Жолдағы нұсқа нөмірі әрдайым нақты жазылады, бұл жолда "соңғы" мән жоқ.
  • Қоғамдық скрипт тек қоғамдық кітапханаларды қамтуы мүмкін және ол ашық бастапқы кодты болуы тиіс.
  • Жеке кітапхана жеке сценарийге, редактордағы жобаға және жабық кодты қоғамдық скриптке қолайлы.

Қосылған кітапханалар саны тікелей шектелмейді, кодтың жалпы көлемі шектеулі. Бұл туралы төменде, тәуекелдер туралы толығырақ айтыңыз.

  1. 1

    Кітапхана бетін аш

    Қоғамдық кітапханалар Қауымдастық скрипттер лентасында бар

  2. 2

    Көшіру импорттау жолы

    Бетте дайын жолды көшіруге арналған батырма бар

  3. 3

    Жарнама астына импорт енгізу

    Жолдағы нұсқа нөмірі сен алған күйінде қалады

  4. 4

    Достық лақап ат қой

    as-тан кейін олар қысқа атау жазады, оның арқылы функциялар шақырылады

  5. 5

    Сипаттамада авторды көрсетіңіз

    Сайттың ережелерін талап етіп, сыпайылықты емес.

Егер қауымдастық лентасынан дайын Pine Script кітапханасын тауып, оның функциясын іске қосқыңыз келсе, қысқа жол.

Неліктен импортталғандар өздері жаңа нұсқаға ауыспайды?

Құжаттаманың мәтіні қарапайым: кітапханаларды пайдаланатын скрипттер сенімді жұмыс істеуі үшін соңғы нұсқаны автоматты түрде алу мүмкін емес. Автор жаңартуды жариялаған сайын кітапхана нұсқасының саны артады. Егер жаңа нұсқа керек болса, жолдағы нөмірді ауыстырыңыз import.

Бұл қолайсыздық сияқты естіледі, бірақ шын мәнінде бұл сақтандыру. Керісінше елестетіңіз: басқа біреудің кітапханасының авторы формуланы өз жолымен түзеткен, ал таңертең сіздің көрсеткішіңіз басқа сигналдарды тартады, бірақ сіз оған қол тигізбедіңіз. Бұл платформа дәл осылай рұқсат етпейді.

Қорытынды: Нұсқа нөмірін өзгерту — бұл скрипттің мінез-құлқын өзгерту, косметика емес. Одан кейін сигналдарды қайта қарау керек: кетіп қалу керек Артқы тест Сол аспапта және индикаторды тексеру Қайта бояу, Логикалық түзетумен істейтіндей. Ескі және жаңа нәтижелердің сәйкестігіне ешкім кепілдік бермейді.

Жаңартылған нөмірді қайдан алуға болады. Жарияланған кітапхананың бетінде дайын импорттау жолын буферге көшіру батырмасы бар, бұл ең жылдам әдіс. Екінші нұсқа, қолмен жазатындар үшін: редакторда автордың атымен автотолықтыру бар, ол қолжетімді кітапханаларды көрсетеді.

Басқалардың сценарийлерін бұзбау үшін нұсқаларын қалай шығаруға болады?

Кітапханалар Pine Script механикалық түрде нөмірленеді: платформа мәселенің мәні туралы ештеңе айтпайды, тек жаңарту жарияланған сайын оны арттырады. Бұл дегеніміз, өзіңіз тәртіп сақтауыңыз керек, ал мұнда көрші экожүйелерден дайын заттарды қарызға алу оңайырақ.

Semantic Versioning спецификациясы ережені анықтауға тұрарлық: шығарылған нұсқа өзгермейді, кез келген өзгеріс жаңа шығарылым ретінде жарияланады. TradingView бұл тура мағынасында жұмыс істейді, себебі жариялау бастапқы кодтың тәуелсіз көшірмесін жасайды және ол версия тарихының бір бөлігіне айналады.

Cargo құжаттамасынан талдаудағы маңызды өзгерісті көру ыңғайлы: қоғамдық элементті алып тастау үйлесімділікті бұзады, Қажетті функция параметрін қосу да үйлесімді, бірақ жаңа қоғамдық элемент қосу үйлесімді. Pine Script бір-біріне ауыстырылды. Кітапханаға жаңа экспортталған функция қосылды, ескі пайдаланушылар ештеңе байқамады. Біз бар аргументке міндетті дәлел қостық, ал ескі әдіспен айтқандардың бәрі келді.

npm құжаттамасы сандарды өте қарапайым еске салады: 1.0.0-дің алғашқы шығарылымы, 1.0.1 үшін түзету, өзгерісті бұзатын үйлесімді жаңалық 1.1.0 2.0.0. Алайда, Python орау нұсқаулығындағыдай, бірден брондау адал болады: іс жүзінде бәрі қатаң семверді ұстана бермейді, және соңында бұл сан автордың шешімі болып қала береді.

Сипаттамасы туралы бөлек. Қоғамдық басылымды он бес минуттан кейін өңдеуге болмайтындықтан, өзгерістер тарихын басынан бастап тәртіпті жүргізу орынды. Keep a Changelog тәсілі мұнда пайдалы: өзгерістер тізімі адамдарға арналған, әр нұсқада өз жазбасы, күні мен анық нүктелері бар. Әйтпесе, бір жылдан кейін сіз өзіңіз үшінші нұсқаның екіншісінен қалай ерекшеленгенін есіңізде сақтамайсыз.

Ештеңе сынбайды

Барлығына үзіліс

  1. 1.Жаңа функция қосылды
  2. 2.Функция ішіндегі есептеуді өзгертті
  3. 3.Экспорттардың алынып тасталуы немесе атауы өзгертілді
Жаңартуды қашан үнсіз шығару керек, ал кітапхананы импорттағандарға қашан ескерту керектігі туралы нұсқаулық.

Кітапханаларда не өзгерді Pine Script v6?

Алтыншы нұсқаға дейін, егер автор динамикалық сұраныстарды қолмен қоспаса, экспортталған функция ішіндегі деректер сұранысы жабылатын. 2024 жылдың қарашасында v6 шыққаннан кейін бұл өзгеріс өзгерді: челлендждер request.*() ішкі циклдер, шартты және экспортталған кітапхана функциялары рұқсат етілген.

Сол уақытта үнсіздік өзгерді. Бесінші нұсқада dynamic_requests өшірілді, алтыншы бөлімде қосылды. Ескі кодты порттағанда, бұл декларацияда ашық қалу тұзағына әкеледі dynamic_requests = false, содан кейін жергілікті аумақтан сұраныс шақыруға тыйым салынады, тіпті ол пайдаланушы функциясының ішінде жасырылған болса да. Көшу нұсқаулығы қарапайым шешімді ұсынады: түрлендіру кезінде нақты параметрді алып тастап, компиляторға өзі шешім қабылдауға мүмкіндік беру керек.

  1. 2021 қазан

    Кітапханалар Pine Script v5 жылы пайда болды

    Қайта пайдаланылатын функциялар үшін жаңа баспа түрі

  2. 2024 маусым

    Тілге enum түрлері қосылды

    Жаңа деректер түрі, жарамды мәндер тізімі

  3. 2024 қараша

    Pine Script v6 және динамикалық сұраныстар

    Сұраныс экспортталған функциялар ішінде рұқсат етіледі

  4. 2025 маусым

    Экспорттық тұрақты айнымалылар

    Тек int, float, bool, color және string сөздері const сөзімен

Бүгінгі күні кітапханаңыздың нақты не істей алатынын және басқа біреудің кодында қандай синтаксис табатыныңызды анықтайтын төрт тармақ.

Егер сіз функцияларыңыздан тек утилиталар жиынтығын ғана емес, жұмыс істейтін алгоритмді жинасаңыз, онда тексерудің жалпы жүйесі пайдалы болады: оның қалай жұмыс істейтіні Алгоритмдік сауда және алгоритм қалай тексеріледі Оған шешім қабылдауды сеніп тапсырмас бұрын.

Тәуекелдер мен шектеулер

Көлем туралы. Бір скрипттің компиляцияланған нұсқасы шамамен жүз мың токенмен шектеледі, нақты саны 100 256. Кітапханалар бөлек компиляцияланады және олардың коды индикатордың көлемін ұлғайтпайды. Алайда барлық қосылған кітапханалардың жалпы көлемі миллион токенмен шектелген, ал компиляция сұранысы бес мегабайттан аспауы керек.

Сондықтан жағымсыз функция бар, оны алдын ала білген дұрыс: кітапхана толық компиляцияланады, қанша функция шақырсаңыз да. Үлкен жиындықтағы бір кішкентай ерекшелік әлі де бүкіл жинақты өзімен бірге сүйреп кетеді. Қорытынды қарапайым: кітапханаларды бір тақырыпқа жинағаннан гөрі ықшам және тақырып бойынша ұстаған дұрыс.

Сол операдан тағы бір кішкентай нәрсе: сұраныстар request.*() Импортталған функциялар сіздің сұраныс лимитіңізге енгізіледі, тіпті дәл сол сұраныс және сол аргументтер негізгі скрипт кодында болса да.

Тәуелділік туралы. Басқа біреудің кітапханасын қосу арқылы сіз есептеулер туралы басқа біреудің шешімін қабылдайсыз. Дизайнер жаңа нұсқасын шығарады, оны өзіңіз ауыстырмайынша көрмейсіз, бұл жақсы. Бірақ керісінше де рас: егер ескі нұсқада қате болса, оны қолмен жаңартқанша сақтайсыз.

Құпиялылық туралы. Жоғарыда айтқанымызды қайталайық, себебі дәл осы жерде олар жанып кетеді: жеке жазба лентадан және іздеуден жасырылған, бірақ тікелей сілтеме арқылы ашылады. Ешкімге көрсетілмейтін код кітапханаға мүлде апарылмайды.

Авторлық туралы. Басылымыңыздың сипаттамасында басқа кітапхананың авторын көрсету сыпайылық емес, сайт ережелерінің талабы. Плагиат үшін сайт ережелері есепшотты тұрақты түрде бұғаттауға дейін қарастырады, сондықтан авторға несие беру де сақтандыру болып табылады.

Және осы мақалаға қатысты шынайы күмәнім. Параметрдің жоғалған түрі немесе шақыру сияқты жағдайлар үшін дәл компиляцияланған қате мәтіндері input Ресми құжаттамада ішкі функция жоқ: тыйым салулардың өзі сипатталған. Егер компилятор сізге бірдеңе берсе, шектеулер тізімін тексеріңіз, басқалардың парафраздарын емес.

Дереккөздер

Жиі қойылатын сұрақтар

Оны пайдалану үшін кітапхана жариялау керек пе?

Иә. Кітапхананы жарияланғанша импорттау мүмкін емес. Сонымен қатар, жеке басылым жеткілікті, ол қауымдастық лентасына енбейді.

Кітапхананың бастапқы кодын жасыру мүмкін бе?

Жоқ. Барлық кітапханалар тек ашық бастапқы код ретінде жарияланады, басқа көріну түрін таңдай алмайсыз. Жеке жазба оны іздеуден жасырады, бірақ сілтеме бар адамнан жасырмайды.

Экспортталған функцияда енгізуді неге қолдана алмайсың?

Баптаулар тұтынушы скриптке тиесілі. Экспортталған функция отбасы функцияларын шақыра алмайды input және баптаулардан инициализацияланған жаһандық айнымалыларды қабылдай алмайды.

Автор кітапхананың жаңа нұсқасын шығарғанда скриптім өздігінен жаңартыла ма?

Жоқ. Импорттау жолындағы нұсқа нөмірі бекітілген, соңғы нұсқаға автоматты түрде ауысу жоқ. Ауыстыру — санды қолмен түзету.

Бір скриптте бірнеше кітапхананы қосуға бола ма?

Иә, импорт санына тікелей шектеу жоқ. Жалпы көлемі шектеулі: барлық қосылған кітапханалар бірге миллион токеннен аспауы тиіс. Сонымен қатар, әр импорт жеке жол ретінде жазылады, оның өз нұсқа нөмірі бар, және функцияларды анық бүркеншік белгі арқылы атау ыңғайлырақ. as.

Басқа біреудің кітапханасын TradingView арнасынан пайдалана аламын ба?

Иә, кітапханалар сайттың ережелері бойынша қоғамдық домен ретінде жіктеледі: олардың функцияларын шақырып, кодты ашық скриптте қайта пайдалану автордан сұрамай рұқсат етіледі. Жеке басылым үшін рұқсат қажет. Қалай болғанда да, сипаттамада автор көрсетілген.

Бұл материалдан не үйренесіз
  • Library мен Indicator қалай ерекшеленеді және кітапхана мүлде қажет емес екенін
  • Функцияны экспорттау арқылы сыртқа қалай жылжытуға болады және неге параметрлердің типтері болуы керек
  • Импорттау жолы нұсқа нөмірі қалай көрінеді және ALIAS онда не істейді
  • Неге импорт жаңа нұсқаға ауыспайды және нұсқаларды қалай мұқият шығару керек
30 минутта қолданыңыз
Орта

Материал пайдалы болды ма?

Бұл тілдік нұсқа үшін бағалау әзірге қолжетімсіз.

Пікірлер

Бастапқы материалдағы пікірлер аударылмайды.

Салалық сарапшы
Max Vitkovsky
Market analyst

Analyses cryptocurrency market structure, levels and on-chain context, with attention to risk and invalidation conditions.

Midas индикаторының Buy және Sell сигналдары бар TradingView графигі
TradingView-ге арналған Midas мультииндикаторыСаудаға арналған ең озық индикаторлардың бірі
  • Кейін өзгермейтін сигналдар
  • Интерактивті техникалық талдау
  • Таңдауға болатын 7 стратегия
TradingView-ге арналған Midas мультииндикаторыСигнал, стоп және 3 мақсат тікелей графикте
  • Сигнал шам жабылғанда бекітіледі
  • Стоп пен 3 мақсат автоматты түрде құрылады
  • Мәміле жоспары кіруден бұрын көрінеді