Chciałbym dowiedzieć się więcej o Pine Logs

Aby włączyć dzienniki, możesz użyć jednej z trzech nowych funkcji rejestrowania: 

  • log.error() tworzy komunikaty typu Błąd wyświetlane na czerwono.
  • log.info() tworzy wiadomości typu Informacje wyświetlane w kolorze szarym.
  • log.warning() tworzy wiadomości typu Ostrzeżenie wyświetlane w kolorze pomarańczowym.

Po dodaniu skryptu na wykresie możesz otworzyć Pine Logs. Skorzystaj z jednego z punktów wejścia:

  • wybierając Pine Logs… z menu Więcej Edytora
  • z menu Więcej skryptu załadowanego na wykresie, jeśli używa funkcji log.*()

Pine Logs działają wszędzie: na słupkach historycznych, w czasie rzeczywistym i w trybie powtórki. Funkcje rejestrowania można wywołać z dowolnego typu skryptu (wskaźnika, strategii lub biblioteki) i z dowolnego miejsca w skrypcie, włączając w to lokalne bloki, pętle oraz z poziomu request.security() i podobnych funkcji. Funkcje rejestrowania można wywoływać na dwa sposoby: używając samego argumentu w postaci ciągu znaków lub używając ciągu formatującego i listy wartości w sposób str.format().

Skrypty wykorzystujące logi muszą być skryptami osobistymi; skrypty publikowane prywatnie lub publicznie nie mogą generować dzienników, nawet jeśli zawierają wywołania funkcji log.*().

Poniższy przykład kodu wykorzystuje wszystkie trzy funkcje rejestrowania:

//@version=5
indicator("Pine Logs")
if barstate.ishistory
    if bar_index % 100 == 0
        log.warning("\nBar index: {0,number,#}", bar_index)
else
    // Realtime bar processing.
    varip lastTime = timenow
    varip updateNo = 0
    if barstate.isnew
        updateNo := 0
        log.error("\nNew bar")
    else
        log.info("\nUpdate no: {0}\nclose: {1}\nSeconds elapsed: {2}", updateNo, close, (timenow - lastTime) / 1000)
        updateNo += 1
    lastTime := timenow
plot(timenow)

Przykład wyświetla indeks słupka na co setnym słupku historycznym za pomocą pomarańczowego komunikatu ostrzegawczego. W czasie rzeczywistym wyświetla komunikat o błędzie w kolorze czerwonym dla każdego nowego słupka, a dla każdej aktualizacji w czasie rzeczywistym tworzy komunikat informacyjny w kolorze szarym, pokazujący numer aktualizacji, cenę zamknięcia i czas, jaki upłynął od ostatniej aktualizacji wykresu .

Aby zobaczyć Pine Logs w akcji:

  1. Zapisz powyższy przykładowy kod do osobistego skryptu i dodaj go do wykresu z aktywnym rynkiem.
  2. Otwórz panel Pine Logs używając menu Edytora Więcej, lub menu Więcej wskaźnika na wykresie.

Znacznik czasu poprzedza każdy wpis dziennika. Jest to godzina otwarcia baru w przypadku słupków historycznych i bieżąca godzina w przypadku komunikatów w czasie rzeczywistym. Nowsze wiadomości pojawiają się na dole okienka. W przypadku słupków historycznych zostanie wyświetlonych tylko ostatnich 10 000 komunikatów; Do nich dołączane są wiadomości w czasie rzeczywistym.

W górnej części panelu znajdują się ikony umożliwiające rozpoczęcie/zakończenie rejestrowania, określenie daty rozpoczęcia, filtrowanie logów według typu komunikatu oraz przeszukiwanie logów. Pole wyszukiwania zawiera podmenu umożliwiające dopasowywanie wielkości liter, całych słów i używanie wyrażeń regularnych.

Po najechaniu kursorem na komunikat dziennika pojawią się ikony umożliwiające wyświetlenie kodu źródłowego, który wygenerował komunikat, lub przejście do odpowiedniego paska wykresu:

Gdy wiele skryptów na wykresie korzysta z dzienników, każdy z nich utrzymuje własny zestaw komunikatów. Możesz poruszać się pomiędzy dziennikami każdego skryptu, korzystając z menu rozwijanego u góry panelu Pine Logs: