request.security nə iş görür və nə vaxt lazımdır?
Əsas məqam
funksiyası ifadənizi başqa simvol və ya başqa vaxt çərçivəsi kontekstində işlədir və nəticəni cari sətirdə qaytarır. Skriptin öz diaqramından daha geniş görünməsi lazım olduqda lazımdır: gündəlik trend üzrə filtrləmə, indekslə müqayisə, daha aşağı miqyasdan həcm. Öz diaqramınız daxilində hesablamalar üçün artıqdır.
Defolt olaraq skript ekranda açıq olan bir şam dəstini görür. Onları necə yan keçdiyi və dəyərlər sətrini niyə sətir-sətir saydığı bu barədə materialda müzakirə olunur, Pine Script dəyərləri sətir üzrə necə hesablayır. Dürüst bir nöqsan da var idi: minimal nümunə bilərəkdən kənardan heç nə tələb etmirdi. Bu, bağladığımız keçiddir.
request.security vasitəsilə sorğu çox xüsusi problemləri həll edir. On beş dəqiqə işləyərkən girişi gündəlik trend istiqamətinə görə süzün. Bitcoin davranışını altkoin qrafikində üst-üstə qoyun. Dörd alətdə göstəricini eyni anda və orta hesabla hesablayın. Bütün bu hallarda hesablama orada, xarici kontekstdə aparılmalı və sizə hazır nömrə gəlməlidir.
Ancaq məlumatları götürməyə ehtiyac olmadıqda, bunu ayrıca xatırlamağa dəyər. Əgər ifadə öz qrafikinizin şamlarından istifadə etməklə hesablanırsa, heç bir sorğuya ehtiyac yoxdur: adi düstur yazın. Rəsmi FAQ TradingView birbaşa deyir ki, adətən öz simvolunuzu və öz vaxt çərçivənizi tələb etməyə ehtiyac yoxdur: öz qrafikinizin dəyərlərinə müraciət etmək daha asandır.
Əgər uyğundur
- Daha yüksək zaman çərçivəsinin trendinə görə filtrləyin: biz 15m saytında ticarət edirik, 1D saytından icazə alırıq
- Alətinizi indeks, dollar indeksi və ya digər cüt ilə müqayisə edin
- Öz indeksiniz üçün simvollar siyahısından dərhal bir göstərici toplamaq
- İntrabar həcminin və ya diaqram şamının içərisindəki intrabarların sayının hesablanması
Əgər uyğun deyil
- Cari diaqramın şamlarına əsaslanan istənilən düstur: soruşmadan birbaşa oxuyun
- Zəng daxilindəki barın vəziyyəti vasitəsilə yüksək səviyyəli çubuğun bağlanmasını tutmağa cəhd edin
- Risklərin idarə edilməsinin dəyişdirilməsi: başqasının məlumatları qaydanı daha təhlükəsiz etmir
- Skript sürətləndirilməsi: hər bir unikal sorğu limit daxilində vaxt və məkana başa gəlir
Üç arqument necə işləyir: simvol, zaman çərçivəsi və ifadə?
Əsas məqam
zəng üç məcburi hissədən ciddi qaydada yığılır. Əvvəlcə simvol, sonra zaman çərçivəsi xətti, sonra ifadə. Qalan arqumentlər isteğe bağlıdır və adla ötürülür. Mövqeyi qeyd edərkən ilk üçünün sırası dəyişdirilə bilməz və onlar başqasının kodunu forumdan fərq qoymadan köçürdükdə büdrəyirlər. Skriptin ilk işə salınmasından əvvəl onu yoxlamağa dəyər.
Rəsmi sənədlərdə tam imza belə yazılıb:
request.security(symbol, timeframe, expression, gaps, lookahead, ignore_invalid_symbol, currency, calc_bars_count)İlk üç hissə iş minimumudur. Simvol - işarəsi olan sətir, tercihen platforma ilə birlikdə: sənədlər mübadilə prefiksinin göstərilməsini tövsiyə edir, əks halda onu özü götürəcək və nəticə gözləniləndən fərqli ola bilər. Cari alət üçün hazır dəyişən var syminfo.tickerid, heç bir qeyri-müəyyənlik olmasın deyə götürmək tövsiyə olunur.
- 1
simvolu - onu haradan alırıq?
Diaqramınızın mübadilə prefiksi və ya syminfo.tickerid ilə ticker
- 2
müddət - hansı miqyasda
1 D, 60 , 15 kimi simli. Boş qrafikin vaxt çərçivəsi deməkdir
- 3
ifadə - nə hesablamaq
Xarici kontekstdə nəzərdən keçirilir və hazır şəkildə ötürülmür
İp ilə müddət demək olar ki, hər kəsin yandırdığı bir səhv var. Format çarpan və vahid hərfdən qurulub və dəqiqələrdə heç bir hərf yoxdur: "15" - on beş dəqiqədir, "1D" - gün, "1W" - həftə. Bu dəstdə sadəcə saat yoxdur. Sənədlər seçimsiz qeyd olunur: "1H" yanlış, düzgün saat girişi - "60".
Üçüncü hissə - ifadə - ən aşağı qiymətdir. Hesablanıb köçürülmür, orada tələb olunan simvolda yenidən hesablanır. yazsan ta.sma(close, 20), orta sizin deyil, digər insanların yaxınları əsasında hesablanacaq. Məhz buna ehtiyac var və hazır dəyərin köçürülməsini gözləyən insanı təəccübləndirən budur.
Başqa bir simvolun məlumatlarını necə sorğulamaq olar?
Əsas məqam
simvolunuzun yerinə tickeri əvəz edin, qrafikin vaxt çərçivəsini tərk edin və hər bir çubuqunuzda başqasının simvolunun dəyərini əldə edin. Eyni vaxt çərçivəsində başqa simvolun tələb edilməsi yenidən rənglənmə riski daşımır. Burada yeganə tutma zaman oxundadır: digər insanların məlumatları yalnız qrafikiniz yeniləndikdə yenilənəcək.
Minimal işləyən nümunə sözün əsl mənasında bir sətir kimi görünür. Sonra onu diaqramda göstərmək və ya qiymətinizlə müqayisə etmək olar:
//@version=6
indicator("Чужой символ на своём таймфрейме")
float otherClose = request.security("NASDAQ:AAPL", timeframe.period, close)
plot(otherClose)Bu kodu hara daxil etmək və onu necə saxlamaq barədə ayrıca təlimatda müzakirə olunur. Şam Redaktorunu açın və skripti yadda saxlayın. Burada düymələr deyil, davranış daha vacibdir.
Rəsmi FAQ yeni başlayanların əsas qorxusunu aradan qaldırır: diaqramdakı başqa simvoldan məlumat tələb etmək yenidən rənglənmə riski daşımır. Bu halda dəyəri dəyişməyə və əlavə arqumentlərə toxunmağa ehtiyac yoxdur.
Amma zamanın oxu sizin olaraq qalır. Sənədlər illüstrativ bir nümunə verir: SPY diaqramındakı BTCUSD məlumatları yalnız SPY-nin özündə yeni bar görünəndə yeni dəyər göstərəcək. Həftə sonları olan qrafikdə iyirmi dörd saatlıq alət bütün şənbə günü yerində qalacaq və bu, uğursuzluq deyil, iki məlumat seriyasının birləşmə xüsusiyyətidir.
request.security vasitəsilə daha yüksək zaman çərçivəsi məlumatı necə əldə etmək olar?
Əsas məqam
diaqram vaxt çərçivəsi əvəzinə daha yüksək miqyaslı xətti əvəz edin, məsələn, gündəlik. Əks halda qoruma əlavə etməyinizə əmin olun: əgər istifadəçi qrafikin altında miqyas seçərsə, skript başa düşülən xəta ilə dayanmalıdır. Rəsmi nümunələr Pine Script bu çeki birbaşa şablona daxil edir. Onsuz, skript səssizcə ondan gözlədiyinizdən tamamilə fərqli bir şey hesablayacaq.
Klassik tapşırıq belə səslənir: Mən on beş dəqiqəlik müddətdə ticarət edirəm, girişə yalnız gündəlik trend istiqamətində icazə verirəm. Filtr özü hər hansı bir şey ola bilər, tənzimləmə olmadan trend göstəricisini seçin - ayrı iş. Sorğu mexanikası eynidir.
Bu skript addım-addım yığılır:
- Şkalanın koda bərkidilməməsi üçün vaxt çərçivəsi üçün giriş yaradın.
- Yoxlayın: əgər seçilmiş miqyas diaqram miqyasından azdırsa, zəng edin
runtime.error()insan dilində mətnlə. - Sorğunun özünü daha yüksək vaxt çərçivəsi ilə yazın.
- Addımları öz gözlərinizlə görmək üçün nəticəni qrafikdə göstərin.
//@version=6
indicator("Дневная средняя на младшем графике", overlay = true)
string htf = input.timeframe("1D", "Старший таймфрейм")
if timeframe.in_seconds() > timeframe.in_seconds(htf)
runtime.error("Выбранный таймфрейм ниже таймфрейма графика. Возьмите старший.")
float htfMa = request.security(syminfo.tickerid, htf, ta.sma(close, 20))
plot(htfMa)Xətt pilləli olacaq və bu normaldır: dəyər hər on beş dəqiqədən bir deyil, gündə bir dəfə yenilənir. “Addımları necə düzəltmək olar” sualı illərlə forumlarda təkrarlanır, lakin burada hamarlanacaq heç nə yoxdur - daha aşağı miqyasda, yeniləmələr arasında gündəlik dəyər sadəcə mövcud deyil.
Niyə bağlanmamış barda daha yüksək zaman çərçivəsinin dəyəri dəyişir?
Əsas məqam
çünki gün çubuğu hələ bağlanmayıb və onun bağlanması cari qiymətlə birlikdə dəyişir. Tarixdə funksiya yalnız təsdiqlənmiş dəyərləri, real vaxtda isə canlı olanları qaytaracaq. Səhifəni yenidən yüklədikdən sonra dünənki canlı dəyərlər təsdiqlənmiş dəyərlərə çevriləcək və şəkil hərəkət edəcək. Bu, sorğunun normal davranışıdır.security. Kodunuzda ümumiyyətlə xəta olmaya bilər.
Bu davranışın bir adı var - yenidən çəkmək. TradingView bunu geniş şəkildə müəyyənləşdirir: tarixi və real vaxt hesablamalarının fərqli işlədiyi skript davranışı. Və dərhal qiymətləndirmə ilə çaxnaşmanı aradan qaldırır: onların hesablamalarına görə, mövcud göstəricilərin doxsan beş faizindən çoxu bu və ya digər formada yenidən rənglənir, açıq şamda MACD və RSI daxil olmaqla.
Sənədlər mexanikanı hərfi şəkildə təsvir edir. Tarixi çubuqlarda funksiya yalnız tələb olunan kontekstdən təsdiqlənmiş dəyərləri qaytarır, real vaxt çubuqlarında isə təsdiqlənməmiş dəyərləri qaytara bilər. Skript yenidən işə salındıqda, dünənki real çubuqlar tarixə çevrilir - və onlarda olan dəyərlər təsdiqlənmiş dəyərlərə dəyişir.
00:00
Gündüz barı açıldı
Sorğu günün cari bağlanışını qaytaracaq, bu, cari qiymətə bərabərdir
Gün ərzində
Həyatların və dəyişikliklərin mənası
Hər yeni qiymət bağlanmamış gün çubuğunun bağlanmasını dəyişir
Qrafikdə siqnal
İşarə göründü və dayanır
Şərt cari, hələ təsdiqlənməmiş dəyər əsasında yerinə yetirilir
23:59
Gündüz barı bağlandı
Dəyər sabitdir və bir daha dəyişməyəcək
Yenidən başladıqdan sonra
Tarix yenidən yazıldı
Skript yalnız təsdiqlənmişləri görür, bəzi işarələr yox olur
Praktiki nəticə xoşagəlməz, lakin dürüstdür. Canlı qrafikə baxarkən, ssenarinin sabah eyni hekayədə nə görəcəyini görmürsünüz. Gözəl şəkil ilə nəticə arasındakı boşluq burada böyüyür ticarət alqoritmini yoxlamaq.
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
Daha yüksək zaman çərçivəsinin təsdiqlənmiş dəyərini gələcəyə baxmadan necə götürmək olar?
Əsas məqam
rəsmi resept eyni anda iki hissədən ibarətdir. İfadə bir sətir geriyə sürüşdürülür və eyni zamanda irəliyə baxma arqumenti işə salınır. Ayrı-ayrılıqda, bu iki hissə işləmir: baxışı olmayan bir ofset gecikir, ofsetsiz bir baxış gələcəkdən məlumatları çıxarır. Sənədlər Pine Script bu iki hissəni bir-birindən asılı adlandırır.
Sənədlərin mətni aşağıdakı kimidir: yenidən rənglənməyən nəticə əldə etməyin ən etibarlı yolu yalnız keçmiş çubuqlara istinad edən ifadəni ötürməkdir, və eyni zamanda qoydu lookahead = barmerge.lookahead_on. Bağlantı haqqında sərt bir şey deyir: yerdəyişmə və irəli baxış bir-birindən asılıdır, digərinə zərər vermədən birini çıxara bilməzsiniz.
//@version=6
indicator("Подтверждённое дневное закрытие", overlay = true)
float dailyClose = request.security(syminfo.tickerid, "1D", close[1], lookahead = barmerge.lookahead_on)
plot(dailyClose)Buradakı məntiq göründüyü qədər çətin deyil. Açıq vəziyyətdə olan qabaqcıl arqument funksiyaya zolağınızın zamanı hələ bitməmiş yüksək səviyyəli sətirdən dəyəri götürməyə imkan verir. Bir çubuqla sürüşdürülməsi sorğunu kifayət qədər itələyir ki, o, artıq bağlanmış yüksək səviyyəli çubuğa dəysin. Gələcək yoxdur, yalnız təsdiqlənmiş keçmiş qalır.
Yerini dəyişdirmədən eyni baxış özünə qarşı silaha çevrilir. Sənədlər “FUTURE LEAK, istifadə etməyin” şərhi ilə anti-nümunə verir və ayrıca xəbərdarlıq edir: skriptlər, gələcəyə nəzər salaraq keçmişə sürükləyən yazıların dərcinə icazə verilmir. Aktiv geri test bu kod fantastik statistika göstərir. Canlı hesabda heç nə göstərmir.
Yalnız təsdiqlənmiş yüksək səviyyəli bar
Hələ barda olmayan məlumatlar
- 1.Ofset plus qabaqcadan baxış aktivləşdirilib
- 2.Defolt parametrlər, canlı bar
- 3.baxış ofset olmadan aktivləşdirilir
Ölçənin orta işarəsi standart mövqedir və o, aldatmır: funksiya vicdanla hal-hazırda böyük kontekstdə olanı verir. Düzgün işarə artıq saxtadır, çünki tarixi barda gələcək ssenariyə daxil olur.
Böyük barın bağlanmasını birbaşa tutmağa çalışanları ayrıca tələ gözləyir. Sorğunun daxilindəki bar vəziyyəti işləmir: sənədlər bunu bir sətirdə qeyd edir - barstate.isconfirmed zəngdə request.security() işləmir. İcmanın bir hissəsi zəngdən kənar çubuğun vəziyyətinə əsasən ofseti dəyişdirərək öz sarğıları ilə bu problemi həll edir. Hər iki yanaşma təsdiqlənmiş dəyər verir, lakin onun qrafikdə görünmə anı onlar üçün fərqlidir: vəzifəli şəxs yeni yüksək rütbənin əvvəlində qapalı yüksək səviyyəli barı dərhal qaytarır, icma sarğılarının davranışı sənədlərdə təsvir edilməyib və qrafikinizdə gözlərinizlə yoxlanılmalıdır. Dürüst siqnalın hərəkət edən siqnaldan necə fərqləndirilməsinin təhlili haqqında materialda yenidən çəkilmədən göstəricilər.
barmerge.gaps_on nədən fərqlənir barmerge.gaps_off?
Əsas məqam
arqument boşluqları köhnə kontekstin hələ yeni təsdiqlənmiş dəyəri olmayan çubuqlarda nə göstəriləcəyinə qərar verir. Söndürülmüş vəziyyətdə funksiya sonuncu məlum olanı təkrarlayır, açıq vəziyyətdə isə boş bir dəyər qaytarır. Defolt qeyri-aktivdir, buna görə də daha yüksək vaxt çərçivəsi addımlar kimi görünür. Bu arqument nadir hallarda və həmişə şüurlu şəkildə dəyişdirilməlidir.
Fərq bir masada görünür:
| Nəyi müqayisə edirik? | barmerge.gaps_off | barmerge.gaps_on |
|---|---|---|
| Defolt olaraq təyin edin | Bəli | yox |
| Yeni dəyəri olmayan bar | sonuncu təsdiqlənmişi canlı barda - hazırkı inkişaf edəndə təkrarlayır | boş dəyəri qaytarır |
| Qrafikdə nə kimi görünür | möhkəm pilləli xətt | yalnız yeniləmə anlarında xal verir |
| Rahat olanda | filtrlər, müqayisələr, istənilən “yuxarıda və ya aşağıda” məntiqi | yüksək səviyyəli çubuğun yenilənməsi faktını vurğulayır |
| Nə pozur | yeniləmə anını gizlədir | boş dəyərləri olan hesab yoxlamanı tələb edir |
//@version=6
indicator("gaps на глаз", overlay = true)
float noGaps = request.security(syminfo.tickerid, "60", close, gaps = barmerge.gaps_off)
float withGaps = request.security(syminfo.tickerid, "60", close, gaps = barmerge.gaps_on)
plot(noGaps, "Без разрывов", color.blue, 2, plot.style_linebr)
plot(withGaps, "С разрывами", color.purple, 6, plot.style_linebr)Seçim sadədir. “Qiymət gündəlik orta səviyyədən yuxarıdır” kimi şərtlər üçün defolt mövqeyi götürün: hər bir çubuqda dəyər lazımdır. Boş dəyərlərə yeni məlumatların daxil olma anı vacib olduqda, məsələn, yeni yüksək səviyyəli dövrün başlanğıcındakı qiymət üçün lazım olacaq.
niyə request.security daha aşağı zaman çərçivəsi üçün əlverişsizdir?
Əsas məqam
daha aşağı miqyasda funksiya hər bir çubuqunuz üçün yalnız bir intrabar qaytaracaq və hansı biri gələcək arqumentdən asılıdır. Birinci və ya sonuncu. Pine Script-da bütün intrabarlarla işləmək üçün dəyərlər massivini qaytaran ayrıca funksiya var. Onun adı request.security-dən bir quyruqda fərqlənir və onları qarışdırmaq asandır.
Davranış sənədlərdə bəzəksiz təsvir edilmişdir. Kiçik şkala daxil olduqda, funksiya kiçik kontekstdə ifadəni hesablayır, lakin hər bir diaqram çubuğu üçün yalnız bir daxili sətirin nəticəsini qaytarır. İrəli baxış açıq vəziyyətdə olanda bu, ilk mövcud intrabar, off vəziyyətdə isə sonuncudur. Real vaxt çubuqlarında arqumentdən asılı olmayaraq son mövcud dəyər qaytarılır.
Bardaxili məlumatlarla normal işləmək üçün, request.security_lower_tf(). Onun imzası fərqlidir: boşluqlar və qabaqcıl arqumentlər yoxdur, lakin ignore_invalid_timeframe, və defolt olaraq əlildir. Funksiya bardaxili vaxta görə sıralanmış dəyərlər massivini qaytarır.
//@version=6
indicator("Сколько минуток в одном баре")
array<float> closes = request.security_lower_tf(syminfo.tickerid, "1", close)
int qty = array.size(closes)
plot(qty, style = plot.style_histogram)Elementlərə daxil olmamışdan əvvəl massiv ölçüsünə görə yoxlanılmalıdır - bu forumlarda ümumi səhvdir: şəxs dərhal birinci elementi götürür və skript qəzası baş verir, massiv boş gəldiyi üçün. TradingView saytından daha bir vicdanlı imtina: hətta bəzi hallarda bu funksiya təchizatçı məlumatındakı fərqlərə görə bir qədər dəyişdirilə bilər.
Tarixçədə və real vaxtda yenidən başladıqdan sonra kodu necə yoxlamaq olar?
Əsas məqam
ritual beş addımdan ibarətdir və bir neçə dəqiqə çəkir. Siz markerlərin canlı qrafikdə harada olduğunu yazın, səhifəni yenidən yükləyin və baş verənlərlə müqayisə edin. Təsadüf - kod bu bölmədə dürüstdür. Uyğun deyil - yenidən rəngləmisiniz və hər hansı bir nəticə çıxarmaq üçün təmir edilməlidir.
Yoxlama dəqiq lazımdır, çünki siz fərqi gözlərinizlə görə bilmirsiniz: canlı qrafik və yenidən başladıqdan sonra eyni qrafik eyni dərəcədə inandırıcı görünür. Eyni oxunuş ritualı təhlildə təsvir edilmişdir yenidən başladıqdan sonra siqnal yoxlanılır, burada digər insanların məlumatlarına uyğunlaşdırılıb.
- 1
Dəyər jurnalını aktivləşdirin
log.info() tələb olunan dəyəri və bar vaxtını çap edir
- 2
Canlı qrafikin şəklini çəkin
Günlükdən son üç teq və dəyərlərin vaxtını qeyd edin
- 3
Səhifəni yenidən yükləyin
Həqiqi çubuqlar tarixə çevrilir, skript yenidən sayılır
- 4
Etiketləri və dəyərləri müqayisə edin
Jurnaldan eyni üç işarəni və eyni dəyərləri yoxlayın
- 5
Çıxışda təkrarlayın
Başqasının simvolunda boşluqların olduğu ərazini ayrıca yoxlayın
Uğursuzluq sayılan şey əvvəlcədən razılaşdırılmalıdır. Etiketi bir çubuqla dəyişdirmək yenidən rəngləməkdir, kiçik bir şey deyil. İtmiş Mark - Yenidən rəngləyin. Günlükdə fərqli dəyərlərə malik etiketlərin uyğunlaşdırılması da bir siqnaldır: bu, şərtin hələ də təsadüfi olaraq saxlanılması deməkdir.
Ticarət sessiyalarının qovşağında və həftə sonlarında davranışı ayrıca yoxlayın. Məhz orada iki alətin zaman oxları ayrılır və rəvan tarixdə işləyən məntiq orada pozulur. Belə bir çekin qaydalara tam şəkildə necə inteqrasiyası haqqında materialda müzakirə olunur. strategiyalar üçün giriş və çıxış qaydaları.
Risklər və məhdudiyyətlər
İmtina. Material təhsil xarakterlidir və fərdi investisiya məsləhəti deyil. Əməliyyatlarla bağlı qərarları özünüz verirsiniz; maliyyə bazarlarında ticarət investisiya yatırdığınız vəsaitləri itirmək riski ilə əlaqələndirilir.
Düzgün yazılmış sorğu geriyə doğru yalan danışmağı dayandırır, lakin bu siqnalı daha dəqiq etmir. Yenidən başladıqdan sonra eyni şeyi göstərən skript dürüstdür - lakin dürüstlük və gəlirlilik fərqli xüsusiyyətlərdir və birincisi ikinciyə zəmanət vermir.
Məlumat təchizatçıdan gəlir və skriptdə yaradılmır. TradingView məlumat yaratmadığını və təchizatçılarına güvəndiyini açıq şəkildə şərtləndirir. Gündəlik və gündaxili lentlər həcm baxımından fərqlənə bilər və uzadılmış sessiya gündəlik lentə daxil edilmir. Bu, demək olar ki, iyirmi dörd saatlıq alətlərdə deyil, ehtiyatlarda nəzərə çarpır.
Müraciətlərin sayı məhduddur və limit tarifdən asılıdır. Eyni zənglər adətən bir kimi sayılır, lakin idxal edilmiş kitabxanalar daxilindəki zənglər ayrıca hesablanır. Onlarla simvoldan məlumat tələb edən skript ideya mərhələsində göründüyündən daha tez tavana çatacaq.
İfadə ofseti olmadan açıq vəziyyətdə olan irəliyə baxma arqumenti birbaşa özünü aldatmaqdır. TradingView kitabxanasında belə bir skriptin dərc edilməsi qadağandır və onun tarixi yoxlamasının nəticələri heç nə demək deyil.
Tarixçə yoxlanışı gələcəyə keçmir. Bu məqalədəki ritual qüsurların yalnız bir sinfini tutur - tarixlə real vaxt arasındakı uyğunsuzluqlar. Bu qaydanın işləməyə davam edib-etməyəcəyi barədə heç nə demir və daxil edilməzdən əvvəl təyin edilmiş dayanma əmrini və ya mövqe ölçüsünü əvəz etmir.
Mənbələr
- Other timeframes and data, Pine Script v6 User Manual, tradingview.com
- Repainting, Pine Script v6 User Manual, tradingview.com
- Timeframes, Pine Script v6 User Manual, tradingview.com
- Limitations, Pine Script v6 User Manual, tradingview.com
- Bar states, Pine Script v6 User Manual, tradingview.com
- To Pine Script version 6, migration guide, tradingview.com
- PineCoders FAQ and Code, pinecoders.com
- Mənbə FAQ PineCoders, github.com
- Barmerge irəliyə baxmaq və ya söndürmək, müzakirə, stackoverflow.com
- Daha yüksək vaxt çərçivəsinin bar təsdiqini necə əldə etmək olar, müzakirə, stackoverflow.com
- request.security istifadə edərkən Pine Script-da performansın optimallaşdırılması, müzakirə, stackoverflow.com
- Pine Script repainting, CrossTrade, crosstrade.io
- Pine Script v6 dynamic requests, Tom Hartman, blog.traderspost.io
- Palomar D. P. The Seven Sins of Quantitative Investing, Portfolio Optimization, portfoliooptimizationbook.com
- Backtesting problemləri, abstrakt CFA Level 2, analystprep.com
Tez-tez verilən suallar
Niyə gündəlik dəyər sorğusu gün ərzində dəyişir?
Çünki gündüz barı hələ bağlanmayıb. Canlı olduğu müddətcə, onun bağlanışı cari qiymətə bərabərdir və onunla birlikdə dəyişir. Funksiya həqiqətən hazırda tələb olunan kontekstdə olanı verir. Çubuq bağlanan kimi dəyər sabit olacaq. Əgər yalnız təsdiqlənmiş nömrə lazımdırsa, İfadəni bir bar geri aparın və eyni zamanda ön baxış arqumentini on mövqeyinə daxil edin - bu iki texnika ayrı-ayrılıqda işləmir.
Saat üçün Zaman Çərçivəsində Nə Yazmaq Lazımdır?
Simli "60". Pine Script formatında ümumiyyətlə saat vahidi yoxdur və giriş "1H" etibarsızdır. Format çarpan və vahid hərfdən yığılmışdır və dəqiqələrdə hərf yoxdur: "15" on beş dəqiqə deməkdir, "1D" - gün, "1W" - bir həftə, "1M" - ay. Əgər çarpan yazılmayıbsa, biri qəbul edilir: "D" bərabərdir "1D". Yalnız "1" bir dəqiqədə oxuyur.
Daha yüksək barın son anını tutmaq mümkündürmü?
Birbaşa zəng daxilində - yox, sənədlər bunu ayrıca bir sətirdə qeyd edir: bar vəziyyəti barstate.isconfirmed zəngdə request.security() işləmir. Çözüm yolları var və onlar fərqlidir. Rəsmi göstərici on mövqeyində öncəyə baxışla yerindən çıxarılmış ifadəni götürməkdir, sonra təsdiqlənmiş dəyər yeni senior dövrün əvvəlində gəlir. İcma qablaşdırıcıları fərqi çağırışdan kənarda olan barın vəziyyətinə görə dəyişir; onların dəyərə sahib olduğu an sənədləşmədə təsvir olunmur, onu qrafikinizdə yoxlamaq lazımdır.
Niyə request.security_lower_tf adi kiçik miqyaslı sorğudan daha yaxşıdır?
Bütün daxili barları qaytarır, adi sorğu isə cədvəlin hər çubuğu üçün yalnız birini qaytarır. Onun imzası fərqlidir: boşluqlar və perspektivli arqumentlər yoxdur, lakin ignore_invalid_timeframe, default olaraq qeyri-aktivdir. Nəticə, bar daxili vaxtına görə sıralanmış massiv kimi təqdim olunur və elementlərə çıxışdan əvvəl bu massivin ölçüsü yoxlanılmalıdır, Əks halda, skript boş massivdə çökür.
Fərqli simvoldan məlumat sorğusunun yenidən rənglənib-rənglənməməsi?
Vaxt qrafiki ilə bağlı heç bir qrafik yoxdur. Rəsmi FAQ TradingView birbaşa deyir: qrafik şkalasında başqa bir simvoldan məlumat istəmək rəngin dəyişməsi təhlükəsi yaratmır, Bu halda, dəyəri dəyişməyə və baxış arqumentini dəyişməyə ehtiyac yoxdur. Rəngləmə daha yüksək miqyasla gəlir, başqasının ticker-i ilə yox. Başqasının simvolu zamanı yadda saxlamaq lazım olan yeganə şey ticarət sessiyalarının uyğunsuzluğudur.
Altıncı versiyada məlumat sorğularında nə dəyişib Pine Script?
Əsas dəyişiklik standart dinamik sorğulardır. Altıncı versiyada, bir dövrə və ya şərt daxilində çağırış yaza, tickerləri massivdə saxlaya və sorğunun kontekstini bardan bara dəyişə bilərsiniz. Beşinci versiyada bu, skript bəyanatına dinamik sorğuların açıq şəkildə daxil edilməsini tələb edirdi. Praktik bir şərt də var: TradingView dəstəyinə görə, çağırış şərt daxilində olsa belə, istək hər barda icra olunur.




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