რა არის Pine Script და რა ამოცანებს წყვეტს ის TradingView-ში
მთავარი
Pine Script ფორმალურ წესს გრაფიკის მონაცემებზე გამოთვლად გარდაქმნის. ენა გამოდგება რიგების ვიზუალიზაციისთვის, პირობების შესამოწმებლად და სტრატეგიის მოდელირებისთვის, მაგრამ ის ვერ ჩაანაცვლებს ამოცანის ფორმულირებასა და შედეგის შემოწმებას.
Pine Script ჩაშენებულია TradingView-ში. მომხმარებელი ხსნის Pine Editor-ს, წერს პროგრამის ტექსტს, ინახავს მას და შედეგს გრაფიკზე ამატებს. პლატფორმა აკომპილირებს საწყის ტექსტს, იღებს პროგრამას და ხელმისაწვდომი ბარების ნაკრებზე უშვებს. პირველად გასაცნობად ცალკე ადგილობრივი კომპილატორი საჭირო არ არის.
TradingView-ში Pine Script გრაფიკის მზა რიგებს იღებს, ამიტომ პირველი შემოწმება შეიძლება მცირე იყოს: ერთი ფორმულა, ერთი პარამეტრი და ერთი ხაზი.
ენას, ჩვეულებრივ, ოთხი ამოცანისთვის იყენებენ:
- რიგის გამოთვლა, მაგალითად, მოძრავი საშუალოს, დიაპაზონის ან მომხმარებლის მიერ შექმნილი ოსცილატორის.
- ფასთან ერთად ხაზის, ნიშნულის, ფონის ფერის ან სხვა შედეგის გამოსახვა.
- სტრატეგიის წესების აღწერა და ტესტერში ჰიპოთეზური ორდერების სიმულაციის მიღება.
- ხელახლა გამოსაყენებელი ფუნქციებისა და მომხმარებლის ტიპების ბიბლიოთეკაში გატანა.
აქ საკვანძო სიტყვაა წესი. სკრიპტს არ ესმის ბუნდოვანი იდეა, როგორიცაა „აჩვენე ძლიერი მოძრაობა“. მას დაკვირვებადი პირობები სჭირდება: რომელი მონაცემები აიღოს, რა პერიოდისთვის გამოთვალოს, რა შეადაროს და რა გამოიტანოს. რაც უფრო ზუსტია წესი, მით უფრო ადვილია კოდის რამდენიმე ბარზე ხელით შემოწმება.
|
სქემის წყარო: ოფიციალური განყოფილებების — First steps და Execution model — ავტორისეული შეჯამება. სქემა არ ასახავს TradingView-ის ინტერფეისს ან დახურულ ინფრასტრუქტურას.
რისგან შედგება სკრიპტი: ვერსია, დეკლარაცია და ძირითადი კოდი
მთავარი
მუშა სკრიპტი შეიცავს ვერსიის ანოტაციას, პროგრამის ტიპის ერთ დეკლარაციასა და ინსტრუქციებს. შეწევებსა და ხაზის გადატანებს მნიშვნელობა აქვს, სახელები კი საწყისი მონაცემების გამოთვლილი რიგებისგან გარჩევაში გვეხმარება.
Pine Script-ის ოფიციალურ სტრუქტურაში სამი ნაწილია. პირველი არის ვერსიის ანოტაცია, როგორიცაა //@version=6. ის კომპილატორს ატყობინებს, ენის რომელი ვერსიითაა კოდი დაწერილი. თუ ანოტაციას გამოტოვებთ, ქცევა შეიძლება ძველ ვერსიას შეესაბამებოდეს, ამიტომ ახალ სასწავლო მაგალითში უმჯობესია ვერსია პირდაპირ მიუთითოთ.
მეორე ნაწილი დეკლარაციაა. სკრიპტში გამოიყენება ერთ-ერთი ფუნქცია: indicator(), strategy() ან library(). ის პროგრამის ტიპსა და ხელმისაწვდომ შესაძლებლობებს განსაზღვრავს. ინდიკატორისთვის შეიძლება სახელისა და overlay პარამეტრის მითითება, სტრატეგიისთვის — მოდელირების თვისებების, ხოლო ბიბლიოთეკისთვის — ექსპორტირებული ობიექტების ნაკრების აღწერის.
მესამე ნაწილი ძირითადი კოდია. აქ ცხადდება შესატანი პარამეტრები, ცვლადები, გამოთვლები, პირობები და ვიზუალიზაციის გამოძახებები. Pine Script-ში მნიშვნელობა ხშირად ერთი რიცხვი კი არა, რიგია: თითოეულ ბარს დახურვის საკუთარი ფასი და გამოთვლის საკუთარი შედეგი აქვს. ამიტომ გამოსახულება ta.sma(close, 3) საშუალო მნიშვნელობების თანმიმდევრობას ქმნის და არა ერთ მუდმივ სიდიდეს.
თავდაპირველად სასარგებლოა სკრიპტის ზემოდან ქვემოთ, როგორც პასპორტის, წაკითხვა:
- ენის რომელი ვერსიაა მითითებული;
- პროგრამის რომელი ტიპია დეკლარირებული;
- რომელი პარამეტრების შეცვლა შეუძლია მომხმარებელს;
- რომელი საწყისი რიგებისგან იგება გამოთვლა;
- რომელი შედეგი გამოდის ან მოდელირდება.
|
სქემის წყარო: Script structure განყოფილების ავტორისეული წარმოდგენა.
Simple: ერთი მნიშვნელობა Series: მნიშვნელობა თითოეულ ბარზე
|
სქემის წყარო: მარტივ მნიშვნელობასა და რიგს შორის განსხვავების ავტორისეული ახსნა Pine Script-ის ოფიციალური შესრულების მოდელის მიხედვით.
როგორ სრულდება Pine Script ბარებზე და რა იცვლება რეალურ დროში
მთავარი
ისტორიულ მონაცემებზე გამოთვლა თითოეულ ხელმისაწვდომ ბარს გადის, ხოლო ღია რეალური დროის ბარზე ინდიკატორი შეიძლება ყოველი განახლებისას შესრულდეს. ბარის დახურვამდე შუალედური მნიშვნელობები დადასტურებული არ არის.
წარმოიდგინეთ ცხრილი, რომლის თითოეული სტრიქონი ერთი ბარია. Pine Script თანმიმდევრულად იღებს სტრიქონის მონაცემებს, ასრულებს ინსტრუქციებს და ამ ბარისთვის რიგის შედეგს ინახავს. მომდევნო ბარზე ხელმისაწვდომია ახალი მონაცემები და, სადაც ეს ნებადართულია, წარსული მნიშვნელობები ისტორიის ოპერატორის საშუალებით, მაგალითად close[1].
ისტორიულ ბარებზე კოდი, ჩვეულებრივ, თითო ბარზე ერთხელ სრულდება. მათი open, high, low და close უკვე ცნობილია. ღია რეალური დროის ბარზე ვითარება სხვაგვარია: ფასი და მაქსიმუმი ან მინიმუმი შეიძლება დახურვამდე განახლდეს. ინდიკატორი თითოეული განახლებისას ხელახლა ასრულებს გამოთვლას, ხოლო ახალი გავლის წინ TradingView ღია ბარის ცვალებად მდგომარეობას ბოლო დადასტურებულ მდგომარეობამდე აბრუნებს. დოკუმენტაციაში ამ მექანიზმს rollback ეწოდება.
აქედან გამომდინარეობს პრაქტიკული წესი: მნიშვნელობა, რომელიც ახლა დაუხურავ სანთელზე ჩანს, შეიძლება შეიცვალოს ან გაქრეს. ბარის დახურვის შემდეგ ის ამ ბარის დადასტურებული შედეგი ხდება. ეს ყოველთვის შეცდომა ან ისტორიული მნიშვნელობების შემდგომი ცვლილების ტექნიკური „რეპეინტინგი“ არ არის. ჯერ უნდა დადგინდეს, იყენებს თუ არა პირობა ღია ბარის მონაცემებს და ზუსტად როდის არის მოსალოდნელი მისი დაფიქსირება.
სასწავლო ცხრილი ხუთბარიან ისტორიასა და ერთ ღია ბარს აჩვენებს. მაგალითად ავიღოთ SMA სამი დახურვის მიხედვით:
| ბარი | Close | SMA(3) გამოთვლის შემდეგ | მდგომარეობა |
|---|---|---|---|
| 1 | 100 | მონაცემები არ არის | დახურულია, სამი მნიშვნელობა საკმარისი არ არის |
| 2 | 102 | მონაცემები არ არის | დახურულია, სამი მნიშვნელობა საკმარისი არ არის |
| 3 | 101 | 101,00 | დახურული და დადასტურებულია |
| 4 | 105 | 102,67 | დახურული და დადასტურებულია |
| 5 | 104 | 103,33 | დახურული და დადასტურებულია |
| 6 | 106, შემდეგ 103 | 105,00, შემდეგ 104,00 | ღიაა, მნიშვნელობა იცვლება |
მეექვსე სტრიქონში შედეგი თავდაპირველად (105 + 104 + 106) / 3 = 105-ის ტოლია, ხოლო მიმდინარე close-ის 103-მდე შეცვლის შემდეგ (105 + 104 + 103) / 3 = 104 ხდება. ამ მაგალითში ადრე დახურული ბარები არ იცვლება. რიცხვები სინთეზურია და მხოლოდ მექანიკის შესამოწმებლადაა საჭირო.
|
სქემის წყარო: სინთეზური რიგის ავტორისეული გამოთვლა Execution model-სა და Bar states-ში აღწერილი მოდელის მიხედვით.
რით განსხვავდება ინდიკატორი, სტრატეგია და ბიბლიოთეკა
მთავარი
ინდიკატორი მონაცემებს ითვლის და აჩვენებს, სტრატეგია ჰიპოთეზურ ორდერებს მოდელირებს, ბიბლიოთეკა კი სხვა სკრიპტებს ხელახლა გამოსაყენებელ კოდს აწვდის. ტიპის არჩევანი ამოცანიდან გამომდინარეობს და არა პროგრამის ზომიდან.
ინდიკატორი ცხადდება indicator()-ის მეშვეობით. მას შეუძლია ხაზების, ნიშნულების, ცხრილებისა და სხვა ვიზუალური ელემენტების აგება. მარტივი SMA ინდიკატორი რეალურ პოზიციას არ ხსნის: ის რიგს ითვლის და გრაფიკზე აჩვენებს. შედეგის საფუძველზე მომხმარებელს შეუძლია დაკვირვების ცალკეული წესები ჩამოაყალიბოს.
სტრატეგია ცხადდება strategy()-ის მეშვეობით. მის კოდში ჩნდება ბრძანებები, რომლებიც ჰიპოთეზურ ორდერებს ქმნის. TradingView მათ ბროკერის ემულატორით ამუშავებს და ანგარიშს აჩვენებს. ეს მოდელის ტესტია და არა რეალური შესრულების დადასტურება: საკომისიო, სლიპეჯი, ორდერების შევსება და გამოთვლის პარამეტრები ცალკე უნდა განისაზღვროს და შემოწმდეს.
ბიბლიოთეკა ცხადდება library()-ის მეშვეობით. ის შეიცავს ფუნქციებს, მეთოდებს, მომხმარებლის ტიპებს ან ჩამონათვალებს, რომლებიც სხვა Pine-სკრიპტებისთვის ექსპორტირდება. ბიბლიოთეკა სასარგებლოა, თუ ერთი და იგივე შემოწმებული ლოგიკა რამდენიმე პროგრამას სჭირდება. თავად ბიბლიოთეკა ვალდებული არ არის ხაზი დახატოს ან ორდერი შექმნას.
| ტიპი | მთავარი ამოცანა | დაკვირვებადი შედეგი | რას არ ამტკიცებს |
|---|---|---|---|
| ინდიკატორი | მონაცემების გამოთვლა და ჩვენება | ხაზი, ნიშნული, ცხრილი, ფერი | მომგებიანობას ან შესვლის აუცილებლობას |
| სტრატეგია | ფორმალური წესების მოდელირება | ჰიპოთეზური გარიგებები და ანგარიში | ბროკერთან რეალურ შესრულებას |
| ბიბლიოთეკა | ფუნქციებისა და ტიპების ხელახლა გამოყენება | იმპორტირებადი პროგრამული ინტერფეისი | იმ სკრიპტის სისწორეს, რომელიც მას იძახებს |
როგორ ავირჩიოთ Pine Script-ის ტიპი გამოგადგებათ, თუ
არ გამოგადგებათ, თუ
|
სქემის წყარო: ოფიციალური განყოფილებების — Strategies და Libraries — ავტორისეული შედარება.
Pine Script v6-ის მინიმალური მაგალითი და შედეგის შემოწმება
მთავარი
ქვემოთ მოცემული მაგალითი დახურვების მიხედვით SMA-ს აგებს. შემოწმება მხოლოდ კოდის კომპილირებას კი არ გულისხმობს, არამედ რამდენიმე მნიშვნელობის დამოუკიდებელ ხელით გამოთვლასთან დამთხვევას.
გახსენით Pine Editor TradingView-ში, შექმენით ახალი ცარიელი ინდიკატორი და ჩასვით კოდი:
//@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)პირველი სტრიქონი Pine Script v6-ს აფიქსირებს. indicator() ინდიკატორს აცხადებს და ითხოვს, რომ ის ძირითადი გრაფიკის ზემოდან დაიხატოს. input.int() ქმნის სიგრძის პარამეტრს მნიშვნელობით 3 და კრძალავს 1-ზე ნაკლებ სიგრძეს. ta.sma() დახურვების რიგის მიხედვით მარტივ მოძრავ საშუალოს ითვლის. plot() მიღებულ რიგს ნარინჯისფერი ხაზით გამოსახავს.
გრაფიკზე დამატების შემდეგ შედეგი ნაბიჯ-ნაბიჯ შეამოწმეთ:
- დარწმუნდით, რომ რედაქტორში კომპილაციის შეცდომა არ არის და გრაფიკზე ერთი ხაზი გამოჩნდა.
- გახსენით ინდიკატორის პარამეტრები და შეამოწმეთ, რომ
SMA length3-ის ტოლია. - აირჩიეთ სამი მომიჯნავე დახურული ბარი და მათი close მნიშვნელობები გრაფიკის მონაცემთა წყაროდან ამოიწერეთ.
- შეკრიბეთ სამი მნიშვნელობა და გაყავით 3-ზე. ფასის სიზუსტის გათვალისწინებით, შედეგი მესამე ბარზე ხაზის მნიშვნელობას შეადარეთ.
- გადადით შემდეგ დახურულ ბარზე: ფანჯრიდან პირველი მნიშვნელობა ამოიღეთ, ახალი დაამატეთ და გამოთვლა გაიმეორეთ.
- ღია ბარს ცალკე დააკვირდით. დახურვამდე მისი შუალედური მნიშვნელობა დადასტურებულად არ ჩაიწეროთ.
ენის შეზღუდვები და უსაფრთხო მუშაობა Midas-ის გარემოში
მთავარი
Pine Script TradingView-ის წესებისა და ლიმიტების ფარგლებში მუშაობს. Midas-ის გარემოში უსაფრთხოა დაკვირვებადი ქცევის შესწავლა და დამოუკიდებელი სასწავლო კოდის დაწერა, მაგრამ invite-only ინდიკატორის დაცული საწყისი კოდის ამოღება, კოპირება ან რეკონსტრუქცია დაუშვებელია.
Pine Script-ის საზღვრები პლატფორმის კონტექსტიდან იწყება. სკრიპტი მისთვის ხელმისაწვდომ მონაცემებს ხედავს და TradingView-ის მოდელის მიხედვით სრულდება. ისტორიის სიღრმე, ობიექტების რაოდენობა, გამოთვლის დრო და მოთხოვნების ზოგიერთი ტიპი შეზღუდულია. კონკრეტული ლიმიტები შეიძლება შეიცვალოს, ამიტომ ისინი მიმდინარე ოფიციალურ დოკუმენტაციაში უნდა შემოწმდეს და არა ძველი მაგალითიდან გადმოტანილი რიცხვებით.
მეორე შეზღუდვა ისტორიასა და რეალურ დროს შორის განსხვავებაა. პირობა შეიძლება დახურულ ბარებზე სტაბილურად ჩანდეს, ღიაზე კი მერყეობდეს. თუ ამოცანისთვის დადასტურებული ნიშნულია მნიშვნელოვანი, მკაფიოდ განსაზღვრეთ, მხოლოდ დახურვის შემდეგ უნდა გამოჩნდეს თუ არა ის. თუ ადრეული რეაქციაა მნიშვნელოვანი, ჟურნალში ყველა შუალედური მდგომარეობა ჩაიწერეთ და არა მხოლოდ წარმატებული.
მესამე შეზღუდვაა ის, რომ სიმულაცია შესრულებას არ უდრის. სტრატეგიის ანგარიში ბროკერის ემულატორის წესებისა და ტესტის პარამეტრების მიხედვით იგება. ის რეალურ ორდერში იმავე ფასს, დაყოვნებას ან ლიკვიდობის ხელმისაწვდომობას არ უზრუნველყოფს. ნებისმიერი დასკვნის გაკეთებამდე ფიქსირდება საკომისიო, სლიპეჯი, პოზიციის ზომა და რისკი.
Midas-ის გარემოში მარტივი ზღვარი მოქმედებს. Invite-only ინდიკატორი შეგიძლიათ მოწოდებული წვდომით პროდუქტად გამოიყენოთ და გრაფიკზე ნებადართულ შედეგს დააკვირდეთ. დაცული საწყისი კოდის ამოღების, დეკომპილაციის, კოპირების ან კვლავ შექმნის მცდელობა დაუშვებელია. სწავლისთვის საკუთარი ამოცანის ფორმულირებიდან დამოუკიდებელი სკრიპტი დაწერეთ.
დისკლეიმერი. მასალა საგანმანათლებლო ხასიათისაა და ინდივიდუალურ საინვესტიციო რეკომენდაციას არ წარმოადგენს. ინდიკატორი, სკრიპტი ან ტესტერის შედეგი სამომავლო შედეგის გარანტიას არ იძლევა. ვაჭრობა კაპიტალის დაკარგვის რისკს უკავშირდება.
გაარჩიეთ ინსტრუმენტი პრაქტიკაში Midas-თან ერთად
Midas-ის ეკოსისტემაში ხელმისაწვდომია ნაბიჯ-ნაბიჯ ინსტრუქციები, ტექნიკური ანალიზის სწავლება და საზოგადოების მხარდაჭერა — პირველი გაშვებიდან საკუთარი სავაჭრო ლოგიკის განხილვამდე.
- პროდუქტის ნაბიჯ-ნაბიჯ ინსტრუქციები
- ტექნიკური ანალიზის სტრუქტურირებული სწავლება
- ჩატი გუნდთან და კლუბის წევრებთან
როგორ გავაგრძელოთ სწავლა უსაფრთხოდ
მთავარი
მექანიკა ერთ დამოუკიდებელ მაგალითზე განამტკიცეთ, თითო ჯერზე ერთი პარამეტრი შეცვალეთ და ვერსიები შეინახეთ. სხვისი პროდუქტის დაკვირვებადი ნიშნული მის ალგორითმს არ ამჟღავნებს.
Pine Script საერთო დანიშნულების უნივერსალური ენა არ არის. მისი გარემო და მონაცემთა მოდელი TradingView-ის შიგნით გამოთვლებზეა მორგებული. ეს ამარტივებს open, high, low, close, მოცულობასა და დროზე წვდომას, მაგრამ ამავდროულად პლატფორმის შეზღუდვებსაც აწესებს. კოდი გრაფიკისთვის ხელმისაწვდომ მონაცემთა ნაკრებთან მუშაობს, ღია ბარზე მისი ქცევა კი შესრულების მოდელზეა დამოკიდებული.
ენას მკაცრი ტიპიზაცია აქვს, მაგრამ დამწყებისთვის უფრო მნიშვნელოვანია პრაქტიკული განსხვავებით დაწყება. მნიშვნელობა 3 ერთი მარტივი რიცხვია. close არის რიგი, რომელიც ბარიდან ბარამდე იცვლება. ta.sma(close, 3)-ც რიგია, რადგან საშუალო სამმნიშვნელობიანი ფანჯრის მიხედვით ყოველ ჯერზე თავიდან ითვლება. შეცდომა „მოსალოდნელი იყო მარტივი მნიშვნელობა, მიღებულია რიგი“, ჩვეულებრივ, მათემატიკაზე კი არა, ტიპებისა და გამოყენების კონტექსტის შეუთავსებლობაზე მიუთითებს.
კომენტარები იწყება //-ით. უმჯობესია სახელები შინაარსიანი იყოს: lengthInput პარამეტრის როლს x-ზე უფრო ზუსტად ხსნის, ხოლო smaValue გამოთვლილ საშუალოს საწყისი close-ისგან განასხვავებს. ეს განსაკუთრებით მნიშვნელოვანია, როცა კოდს სხვა ადამიანი ამოწმებს.
სტრატეგიებს დამატებითი თავისებურება აქვს. ნაგულისხმევად, რეალური დროის ბარზე სტრატეგიის გამოთვლა შეიძლება მხოლოდ მისი დახურვის შემდეგ მოხდეს, თუ სხვა პარამეტრები არ არის ჩართული. ამიტომ ინდიკატორსა და სტრატეგიაში ერთი და იგივე პირობა ავტომატურად სინქრონულად ვერ ჩაითვლება. შედარებამდე ჩაიწერეთ პროგრამის ტიპი, გამოთვლის პარამეტრები და შედეგის წაკითხვის მომენტი.
პირველი ამოცანისთვის მინიმალური ტიპი აირჩიეთ. თუ ფორმულის გაგება და ხაზის ნახვა გჭირდებათ, ინდიკატორით დაიწყეთ. სტრატეგიაზე მხოლოდ მას შემდეგ გადადით, რაც შესვლა, გამოსვლა, გამოთვლის მომენტი და ხარჯები ერთმნიშვნელოვნად ჩაიწერება. ბიბლიოთეკა მაშინ გამოყავით, როცა კოდის გამეორება უკვე წარმოიშვა და ფუნქციის ინტერფეისი სტაბილურია.
თუ ხელით მიღებული შედეგი არ ემთხვევა, შეამოწმეთ არა „TradingView-ის ხარისხი“, არამედ შედარების ზუსტი პირობები: გახსნილია თუ არა სწორი სიმბოლო და ტაიმფრეიმი, ემთხვევა თუ არა ფასის ტიპი, მითითებულია თუ არა სწორი სიგრძე, დახურულია თუ არა ბარი, საკმარისია თუ არა ისტორია და ერთნაირია თუ არა ჩვენების სიზუსტე. კომპილაციის ერთი მწვანე სტატუსი არჩეული ფორმულის სისწორეს არ ამტკიცებს.
მინიმალური მაგალითი განზრახ არ შეიცავს ალერტებს, ორდერებს, სხვა ტაიმფრეიმის მონაცემთა მოთხოვნებსა და მდგომარეობის რთულ ლოგიკას. ეს საშუალებას გაძლევთ თითოეული სტრიქონი დაკვირვებად შედეგს დაუკავშიროთ. მომდევნო ცვლილება სათითაოდ შეიტანეთ: ჯერ სიგრძე 3 შეცვალეთ 5-ით და ფანჯარა კვლავ ხელით შეამოწმეთ, რამდენიმე პირობის ერთდროულად დამატების ნაცვლად.
უსაფრთხო სასწავლო სცენარი Midas-ის გარემოში:
- ჩამოაყალიბეთ დაკვირვებადი წესი Midas-ის შიდა ლოგიკაზე მითითების გარეშე, მაგალითად: „close-ის მიხედვით SMA(3)-ის აგება“.
- დაწერეთ მინიმალური დამოუკიდებელი Pine Script და მნიშვნელობები ხელით შეამოწმეთ.
- შეინახეთ საწყისი და შეცვლილი ვერსიები. ჩაიწერეთ, რა შეიცვალა და რომელ დახურულ ბარებზე ჩატარდა შედარება.
- თუ გვერდით Midas-ის ნიშნული ჩანს, დააფიქსირეთ მხოლოდ დრო, ბარის დახურვა და საჯაროდ დაკვირვებადი შედეგი.
- ნუ ამტკიცებთ, რომ დამოუკიდებელი კოდი Midas-ის ალგორითმს იმეორებს. ცალკეული დაკვირვებების დამთხვევა მიზეზებს არ ამჟღავნებს და ეკვივალენტურობას არ ამტკიცებს.
- დაკვირვება გამოიყენეთ როგორც სასწავლო ჟურნალი და არა როგორც გარიგების ბრძანება.
Midas-ში სწავლება და ინდიკატორები გვერდიგვერდ მუშაობს: ჯერ მომხმარებელი მექანიკას გამეორებად მაგალითზე არჩევს, შემდეგ კი პროდუქტის სიგნალების გრაფიკის კონტექსტში წაკითხვას სწავლობს. Midas-ის ნიშნული ანალიზის ჩატარების საფუძველია და არა გარიგებაში შესვლის ავტომატური ბრძანება. ასეთი თანმიმდევრობა ხელს უწყობს ინსტრუმენტის საკუთარი გადაწყვეტილებისგან გამიჯვნას.
სასარგებლოა დაიწყოთ სავაჭრო სტრატეგიების განყოფილებით, შემდეგ შეადაროთ სავაჭრო ინდიკატორების როლი და ცალკე განიხილოთ მოძრავი საშუალო. TradingView-ის ინდიკატორების კრებული დაგეხმარებათ დაინახოთ, რომელი ამოცანები წყდება ვიზუალურად სხვისი კოდის კოპირების მცდელობის გარეშე.
წყაროები
-
- TradingView Pine Script: First steps — რედაქტორი, კომპილაცია და პირველი ინდიკატორი, v6 დოკუმენტაცია.
-
- TradingView Pine Script: Script structure — ვერსია, დეკლარაცია და ძირითადი კოდი.
-
- TradingView Pine Script: Execution model — ისტორიული და რეალური დროის ბარები, rollback და დადასტურება.
-
- TradingView Pine Script: Bar states — ბარების მდგომარეობები და დადასტურების ნიშნები.
-
- TradingView Pine Script: Strategies — ბროკერის ემულატორი და სტრატეგიების გამოთვლის თავისებურებები.
-
- TradingView Pine Script: Libraries — ბიბლიოთეკების დეკლარაცია, ექსპორტი და ხელახლა გამოყენება.
ხშირი კითხვები
რა არის Pine Script მარტივი სიტყვებით?
ეს არის პროგრამირების ენა TradingView-ის შიგნით. მისი დახმარებით ფორმალური წესი გარდაიქმნება გრაფიკის ბარებზე გამოთვლად, ვიზუალურ ინდიკატორად, სიმულაციის სტრატეგიად ან ფუნქციების ბიბლიოთეკად. კოდს პლატფორმა აკომპილირებს და ასრულებს. თავად ენა სასარგებლო სავაჭრო იდეას არ ირჩევს და შედეგის გარანტიას არ იძლევა.
საჭიროა თუ არა Pine Script-ის კომპიუტერზე დაყენება?
საბაზისო მუშაობისთვის — არა. კოდი იწერება TradingView-ის შიგნით, Pine Editor-ში, იქვე კომპილირდება და ემატება გრაფიკს. შენახვა, გამოქვეყნება და შესაძლებლობებზე წვდომა ანგარიშსა და პლატფორმის მოქმედ წესებზეა დამოკიდებული. ადგილობრივი ტექსტური რედაქტორი შეგიძლიათ მონახაზისთვის გამოიყენოთ, მაგრამ Pine Script-ს TradingView-ის გარემო ასრულებს.
რატომ სრულდება Pine Script თითოეულ ბარზე?
გრაფიკზე მნიშვნელობების უმეტესობა რიგებია: თითოეულ ბარს თავისი close და ფორმულის საკუთარი შედეგი აქვს. ამიტომ პროგრამა მონაცემთა ნაკრებს თანმიმდევრულად გადის. ისტორიულ მონაცემებზე გამოთვლა, ჩვეულებრივ, თითო ბარზე ერთხელ ხდება, ხოლო ღია რეალური დროის ბარზე ინდიკატორი შეიძლება ყოველი განახლებისას გადაითვალოს, სანამ დახურვით არ დადასტურდება.
რით განსხვავდება indicator strategy-სგან?
indicator() უპირველესად გამოთვლისა და ვიზუალიზაციისთვისაა განკუთვნილი. strategy() ამატებს ჰიპოთეზური ორდერების ბრძანებებსა და ტესტერის ანგარიშს, რომელსაც ბროკერის ემულატორი ამუშავებს. სტრატეგიის ანგარიში რეალური შესრულება არ არის. საკომისიოს, სლიპეჯისა და გამოთვლის მომენტის პარამეტრები ცალკე მოწმდება.
შეიძლება TradingView-ის ნებისმიერი ინდიკატორის საწყისი კოდის ნახვა?
არა. ღია პუბლიკაციების კოდი შეიძლება ავტორის გადაწყვეტილებით ხელმისაწვდომი იყოს, მაგრამ invite-only და სხვა დაცული სკრიპტები საწყისი კოდის ამოღების ან კოპირების უფლებას არ გაძლევთ. სწავლისთვის დაწერეთ დამოუკიდებელი კოდი საკუთარი ამოცანის მიხედვით და შეადარეთ მხოლოდ ნებადართული, დაკვირვებადი შედეგები, ალგორითმების ეკვივალენტურობის მტკიცების გარეშე.




კომენტარები
საწყისი მასალის კომენტარები არ ითარგმნება.