Pine Script® utför objekt

Dec 14, 2022

Vi lanserade Pine Script® 2013 för att stödja våra handlare med ett programmeringsspråk som de kunde använda för att bygga sina egna handelsmodeller. Från den blygsamma starten, då det viktigaste var att beräkna och rita en RSI-linje, har dina förslag hjälpt oss att stadigt förbättra det språk du älskar. Dina skript kan nu göra mycket mer: bättre backtesting, alarm för handelsrobotar, förbättrade visuella bilder, större flexibilitet med indata, en överlägsen redigeringsupplevelse, bibliotek och mer sofistikerade datastrukturer som arrayer samt matriser. Vi skämtade inte när vi för två år sedan berättade att Pine kommer att bli framgångsrikt.

Pine-objekten är instansieringar av de nya användardefinierade sammansatta typerna (UDT) som deklareras med hjälp av typen nyckelord. Erfarna programmerare kan betrakta UDT:er som metodlösa klasser.

I stället för att använda oberoende variabler som pivotTime och pivotLevel för att spåra pivotdata kan du definiera en pivotPoint-typ med två fält för att hålla dessa värden:

skriv pivotPoint
    int openTime
    float level

Du kan sedan skapa ett nytt objekt av den typen genom att använda konstruktören ny() :

newPivot = pivotPoint.new(time, high)

Och sedan hänvisar du till ett objekts fält genom att använda punktnotation:

label.new(newPivot.openTime, newPivot.level, str.tostring(newPivot.level), xloc.bar_time)

Arrayer eller matriser av objekt kan också definieras genom att använda en typmall som byggs med en UDT:

pivotArray = array.new<pivotPoint>()

Objekt kan användas tillsammans med alla andra Pine-funktioner: du kan exportera användardefinierade typer från bibliotek, begära objekt från funktionen request.security() och så vidare. En funktion som tidigare returnerade en tupel med tio värden kan nu till exempel returnera ett enda objekt som innehåller tio fält.

En detaljerad statusrapport av de nya funktionerna finns på sidan om objekt i vår användarhandbok.

Se objekt som används i följande skript:

Elektrokardiogram diagram indikator av HeWhoMustNotBeNamed

Sicksack-biblioteket från TradingView och den inbyggda Sicksak-indikatorn som skrevs om för att använda den:

För att hålla dig informerad om nya Pine Script®-funktioner kan du hålla ett öga på användarhandbokens versionsnotiser.  PineCoders-kontot sänder också uppdateringar från sin Squawk Box på Telegram, sitt Twitter-konto och från den öppna chatten Pine Script® Q&A på TradingView.

Vi hoppas att du tycker denna mycket efterfrågade funktion är användbar. Fortsätt att skicka oss din feedback och dina förslag på förbättringar. Vi bygger TradingView för dig och vi vill alltid att du hör av dig.

Look first Then leap

TradingView är byggt för dig, så se till att du får ut det mesta av våra fantastiska funktioner
Community och verktyg