LootX

Pine Script-ից ներմուծում

նոր Թարմացվել է 30 սեպտեմբերի, 2026 թ. Այս էջը PDF-ով

Ինչպես տեղափոխել ինդիկատորը Pine Script-ից LootScript՝ որտեղ է ներմուծման կոճակը, ինչ է կոնվերտերը ինքնուրույն փոխում, ինչը նշում է վերանայման համար և ինչպես վերջնականացնել արդյունքը.

Եթե ինդիկատորը արդեն գրված է Pine Script-ով, ձեռքով վերագրել այն հարկ չի լինի. տերմինալը կոնվերտացնում է .pine ֆայլը в LootScript՝ փոխելով սինտաքսը և անունները, ավելացնում բացակայող հատվածները և ֆայլի սկզբում գրում է նշումներ՝ ինչ է փոխվել եւ որտեղ կոնվերտերը ստիպված էր գուշակել.

Կոնվերտերը թարգմանիչ է, ոչ համատեղելիության շերտ. այն չի երաշխավորում նույն թվերը, ինչ սկզբնական среда-ն, եւ չի ավելացնում տերմինալում չկան ֆունկցիաները. այդ պատճառով ներմուծումից հետո բացեք սկրիպտը, կարդացեք նշումները եւ ստուգեք այն գրաֆիկի վրա. LootScript-ը անկախ մշակված լեզու է եւ կապ չունի TradingView-ի հետ՝ սինտաքսը դիտմամբ նման է, բայց լեզուները համատեղելի չեն.

Ինչպես ներմուծել

Բացեք Ինդիկատորներ պատուհանը

Սեղմեք ƒ գրաֆիկի վահանակի վրա — կբացվի Ինդիկատորներ պատուհանը.

Սեղմեք «Ներմուծում…»

Կոճակը գտնվում որոնման տողի մոտ. Ընտրեք .pine, .loot կամ .txt ֆայլ. .loot ֆայլը կընթանա գրադարան՝ ինչպես կա. .pine ֆայլը (կամ տեքստային ֆայլը, որը նման է Pine Script-ին) կանցնի կոնվերտերի միջով.

Կարդացեք արդյունքը

ՈՒղղակիորեն որոնման տողի տակ կհայտնվի մեկը հետևյալ տողերից:

  • «Ներմուծված «…»» — նշումներ չկան, սկրիպտը պատրաստ է;
  • «Ներմուծված «…»: կոնվերտերի նշումներ — N, տես. սկրիպտի վերնամասը»;
  • «Ներմուծված «…», բայց սկրիպտը չի կոմպիլացվում (սխալներ: N)…» — առաջին սխալի տեքստի կողքին.

Պատուհանը կփոխվի դեպի բաժին Իմ скрипտները, իսկ որոնման դաշտում կհայտնվի նոր սկրիպտի անունը.

Բացեք սկրիպտը Խմբագրիչում

Կարդացեք վերնամասի նշումները եւ շտկեք այն, ինչն ցույց է տալիս: ինչպես նշված է ստորեւ.

Ներմուծումը չի վերագրագրում նույն անունով գոյություն ունեցող սկրիպտը՝ նորին կտրամադրվի սուֆիքս, օրինակ -2. Նախնական ֆայլը չի փոխվում.

Սկրիպտների թղթապանակի միջոցով

Դուք կարող եք պարզապես տեղադրել имя.pine ֆայլը սկրիպտների թղթապանակում — Windows-ում դա %APPDATA%\TradingTerminal\scripts. Հաջորդ մեկնարկի ժամանակ տերմինալը կստեղծի հարակից имя.loot. Եթե имя.loot արդեն կա, այն չի փոխվի — ձեր ուղղումները չեն կորչի. նորից կոնվերտակայելու համար (օր.՝ տերմինալի թարմացումից հետո) հեռացրեք .loot և թողեք .pine.

Ինչ է կատարում կոնվերտերը

  • Աղքատված ինդենտացիաններ → փակագծեր. if, else if, else, ցիկլերի եւ ֆունկցիաների բլոկները ստանում են {}. շարունակական տողերը միացվում են մեկ տողի.
  • Ֆունկցիաներ. f(x) => դառնում է func f(x), իսկ ֆունկցիայի վերջին արտահայտությունը վառեցվում է որպես ցուցադրված return.
  • Ցիկլներ. for i = 0 to 9 դառնում է կիսաբաց for i in 0 .. 10. Ուղղությունը որոշվում է քայլից կամ սահմանների լիտերալներից; եթե դա ցույց չունի, կոնվերտերը համարում է ցիկլը աճող և նշում է դա.
  • Պայմանական արտահայտություններ. if-ը, եթե ճյուղերի մեջ միայն մեկ արտահայտություն կա, փոխվում է տեռների (?:) տեսքի; switch-ը ստանում է փակագծեր.
  • Թափանցիկություն → ալֆա. Pine Script-ում թափանցիկությունը 0…100 է, որտեղ 0-ը — ոչ թափանցիկ. LootScript-ում ալֆան 0…255 է, որտեղ 255-ը — ոչ թափանցիկ. color.new(c, 50) կդառնա color.new(c, 128), իսկ transp= արգումենտը մտցվում է color.new(…)-ի մեջ:
  • Անուններ. Անչափավոր ֆունկցիաների՝ namespace-ը չունեցող անունները ստանում են namespace-ը. sma → ta.sma. study → indicator, security → request.security, tostring → str.tostring, syminfo.* → sym.*, timeframe.* → tf.*. Կարճ input(…) ձևը ստանում է տիպ՝ input.int, input.source և այլն.
  • Ցուցված անուններ. Զգուշացեք այն փոփոխված անուններից, որոնց LootScript-ում անունը բանալիչ-բառ է կամ namespace (delta, oi, tf, sym, func …). Նաև նման փոփոխված փոփոխվողը կստանա ստորակետ ‘_’ վերջում՝ օրինակ delta → delta_.
  • Անպետք արգումենտներ. Պարամետրեր, որոնցը LootScript ֆունկցիայում չեն, հեռացվում են.
  • Հայտարարություն. Եթե ֆայլում չկար indicator(…) կամ strategy(…), կոնվերտերը կավելացնի indicator՝ ֆայլի անունով.
  • Մեկնաբանություններ եւ դատարկ տողեր մնում են իրենց տեղերում.

Կոնվերտերը չի մերժում որևէ ֆայլ. տողը, որը նա չի հասկացել, չի ջնջվում, այլ թողնվում է որպես մեկնաբանություն // [не разобрано] … նույն տեղում.

Վերնամասի նշումներ

Վերնամասի առաջին տողը նշում է ֆայլի ծագումը՝ «Импортировано из скрипта на Pine Script (версия 5). Заметки конвертера:». Հետո յուրաքանչյուր փոփոխության համար մեկ տող՝ ըստ աղբյուրային ֆայլի տողերի թվի՝ «Строка N: вид: что — подробности». Նշումները գրվում են ինտերֆեյսի լեզվով.

Նշման տեսակ Ինչ է նշանակում Պետք է ստուգել?
վերանվանված Անունը փոխարինվել է LootScript-анալոգով ոչ
հաշվարկված Թափանցիկությունը վերածվել է ալֆայի ոչ
վերագրված Մարկափն օգտագործված է այլ ձեւով՝ ցիկլ, return, կարճ input տիպ դիտել
անունը «…» զբաղված է LootScript-ում Փոփոխականին ավելացվել է ստորակետ ոչ
indicator(…) հայտարարություն չի եղել Հայտարարությունը ավելացվել է ֆայլի անունից ոչ
պարամետրը հանված է LootScript ֆունկցիայում նման պարամետր չկա այո
գուշակում Կոնվերտերը ենթադրել է՝ ցիկլի ուղղություն, ինփութ-տիպ եւ այլն այո
այս build-ում չկա Արդյունքում կան կանչեր, որոնք այստեղի build-ում բացակայում են — սկրիպտը չի կոմպիլացվի unknown name սխալի հետ այո
չվերծված Տողը չի վերծանվել, թողնվել է որպես մեկնաբանություն այո

Երբ ստուգումը ավարտեք, վերնամասը կարելի է ջնջել — դա սովորական մեկնաբանություններ են.

Օրինակ

Նփոքր ինդիկատոր Pine Script-ով՝ բարի տատանման սյունակներ, որոնք լուսավորվում են երբ տատանումը առնվազն կրկնակի է միջինի նկատմամբ.

PINE
//@version=5
indicator("Range spike", overlay=false)
len = input.int(20, "Length")
avgRange(n) =>
    r = high - low
    ta.sma(r, n)
base = avgRange(len)
spike = high - low > base * 2
plot(high - low, style=plot.style_columns, color=spike ? color.orange : color.new(color.gray, 60))
plot(base, color=color.blue, trackprice=true)

Իսկ կոնվերտերը այն գրում է այսպես՝

Loot
// Импортировано из скрипта на Pine Script (версия 5). Заметки конвертера:
//
// Строка 6: переписано: avgRange — неявный возврат последнего оператора записан как return
// Строка 9: пересчитано: transp → alpha — прозрачность 0…100 пересчитана в альфу 0…255
// Строка 10: аргумент снят: plot: trackprice — такого параметра в LootScript нет

indicator("Range spike", overlay = false)
len = input.int(20, "Length")
func avgRange(n) {
    r = high - low
    return ta.sma(r, n)
}
base = avgRange(len)
spike = high - low > base * 2
plot(high - low, color = spike ? color.orange : color.new(color.gray, 102), style = plot.style_columns)
plot(base, color = color.blue)

Ֆունկցիան ստացավ փակագծեր եւ return, թափանցիկությունը 60 դարձավ ալֆա 102, իսկ trackprice արգումենտը հեռացվեց — նման պարամետրը չկա: նշումը «պարամետրը հանված է» խնդրում է ստուգել՝ արդյոք այդ պարամետրը դատարկ չէր ըստ իմաստի. այստեղ այն պարզապես նկարում էր վերջին արժեքի գիծը, և սկրիպտը աշխատում է առանց դրա.

Ինչպես ստուգել եւ կատարել լրացումներ

  1. Կարդացեք վերնամասը. Սկսեք այն տողերից, որոնք նշված են պարամետրը հանված է, գուշակում, այս build-ում չկա եւ չվերծված տեսակներով.
  2. Դիտեք Խմբագրիչի կոնսոլի ներդիրի՝ «Խնդիրներ». Սխալներով սկրիպտը գրաֆիկին չի ավելացվի.
  3. Ավելացրեք գրաֆիկին և համեմատեք այն, ինչ ցույց էր տալիս բնօրինակը, պատմության մի քանի հատվածներում.
  4. Խնդրեք օգնականին. Բացեք ИИ-помощника եւ գրեք /fix — նա կոմպիլացնում է սկրիպտը, կընդգրկի այն մոմերի վրա և կաշխատի սխալների ուղղման վրա. Можно добавить уточнение: /fix разбери заметки конвертера в шапке. Կարելի օգտագործել /explain՝ որպեսզի պարզեն, թե ինչ է անում սկրիպտը.

Ինչ չի տեղափոխվում

  • Ֆունկցիաներ, որոնք տերմինալում չկան. Անունը մնում է կոդում, նշումը այս build-ում չկա ու կոմպիլյացիայի սխալը ցույց են տալիս նույն տեղը. փոխարինեք կանչը ձեռքով կամ խնդրեք օգնականին առաջարկել անալոգ:
  • Բազմատող տողեր, այլ գրադարանների ներմուծում, ֆունկցիաների արտահանում. Կոնվերտերը տեղափոխում է այն, ինչը կարող է գրի դնել, եւ նշում է մնացածը.
  • Ավել քան երեք գծիկ. Գրաֆիկի վահանակը նկարում է միայն սկրիպտի առաջին երեք plot-երը. հավելյալ գծերը բաժանեք տարբեր սկրիպտների մեջ.
  • Նկատական առեւտուր. strategy(…) հայտարարությունը տեղափոխվում է, բայց LootScript-ի ստրատեգիան առեւտուր է անում միայն Ստրատեգիայի թեստեր — սիմուլյացված հաշվով.

Շարունակել

FAQ

Ներմուծված ինդիկատորը նույն կերպ կհաշվի՞՝ ինչպես բնօրինակը։
Պարտադիր չէ։ Կոնվերտերը փոխում է սինտաքսն ու անունները, սակայն նույնանուն ֆունկցիաները LootScript-ում տեղ-տեղ այլ կերպ են հաշվարկվում, իսկ տվյալների բացթողումը՝ միշտ na է։ Համեմատեք սկրիպտը բնօրինակ գրաֆիկի վրա։
Ինչ անել, եթե ներմուծելուց հետո սկրիպտը չի կոմպիլացվում?
Բացեք այն Խմբագրիչում և կարդացեք վերնամասը. նշումները «այս build-ում չկա», «արգումենտը հանվել է», «ենթադրություն» և «չի վերծանվել» ցույց են տալիս խնդրահարույց տողերը։ AI-օգնականում /fix հրամանը կուղղի սխալները։
Կարո՞ղ եմ միանգամից ներմուծել մի քանի ֆայլ?
«Ներմուծում…» կոճակը ընդունում է մեկ ֆայլ։ Մի քանի .pine ֆայլ կարող եք տեղադրել սկրիպտների թղթապանակում — տերմինալը կկոնվերտացնի դրանք հաջորդ մեկնարկի ժամանակ։