Debuguj swój kod Pine Script® za pomocą Pine Logs.

Aug 29, 2023

Podnieś swoje umiejętności debugowania Pine Script® na wyższy poziom dzięki naszym nowym funkcjom log.*(), które wyświetlają tekst w nowym panelu Pine Logs podczas wykonywania skryptu. Trzy nowe funkcje do logowania to:

  • log.error() tworzy komunikaty typu „Błąd”, które są wyświetlane na czerwono.
  • log.info() tworzy komunikaty typu „Info”, które są wyświetlane na szaro.
  • log.warning() tworzy komunikaty typu „Ostrzeżenie”, które są wyświetlane na pomarańczowo.

Aby wyświetlić Pine Logs, wybierz „Pine Logs…” z menu „Więcej” w Edytorze lub z menu „Więcej” skryptu załadowanego na twoim wykresie, jeśli używa funkcji log.*().

Pine Logs działają wszędzie: na historycznych belkach, w czasie rzeczywistym i w trybie Odtwarzania. Funkcje logowania mogą być wywoływane z dowolnego rodzaju skryptu (wskaźnika, strategii lub biblioteki) oraz z dowolnego miejsca w skrypcie, w tym w blokach lokalnych, pętlach i wewnątrz funkcji request.security() oraz podobnych. Funkcje logowania można wywoływać na dwa sposoby: używając tylko argumentu typu string lub za pomocą łańcucha formatującego i listy wartości w stylu str.format().

Skrypty korzystające z logów muszą być prywatnymi skryptami; opublikowane skrypty prywatne lub publiczne nie mogą generować logów, nawet jeśli zawierają wywołania funkcji log.*().

Poniższy przykład kodu używa wszystkich trzech funkcji logowania:

//@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)

Ten przykład wyświetla indeks słupka na co setnej historycznej belce za pomocą pomarańczowego komunikatu ostrzegawczego. W czasie rzeczywistym wyświetla czerwony komunikat błędu dla każdej nowej belki oraz, dla każdej aktualizacji w czasie rzeczywistym, tworzy komunikat informacyjny w kolorze szarym, pokazujący numer aktualizacji, cenę zamknięcia oraz czas, który upłynął od ostatniej aktualizacji wykresu.

Aby zobaczyć Pine Logs w akcji:

  1. Zapisz powyższy przykład kodu jako osobisty skrypt i dodaj go do wykresu z aktywnym rynkiem.
  2. Otwórz panel „Pine Logs”, korzystając z menu „Więcej” w Edytorze lub menu „Więcej” wskaźnika na wykresie.

 

Przed każdym wpisem w dzienniku znajduje się znacznik czasu. Dla historycznych barów jest to czas otwarcia słupka (time), a dla wiadomości w czasie rzeczywistym jest to bieżący czas. Nowe wiadomości pojawiają się na dole panelu. Tylko ostatnie 10 000 wiadomości będzie wyświetlanych dla belki historycznych; wiadomości w czasie rzeczywistym są dodawane do nich.

Góra panelu zawiera ikony, które pozwalają rozpocząć/zatrzymać logowanie, określić datę początkową, filtrować logi według typu wiadomości i przeszukiwać logi. Pole wyszukiwania zawiera podmenu, które pozwala na uwzględnienie wielkości liter, całe wyrazy oraz użycie wyrażeń regularnych.

Kiedy najedzisz kursorem na wiadomość w dzienniku, pojawią się ikony, które pozwalają na wyświetlenie kodu źródłowego, który wygenerował wiadomość, lub przejście do odpowiadającej belki na wykresie:

Kiedy na twoim wykresie działa wiele skryptów korzystających z logów, każdy z nich utrzymuje własny zestaw wiadomości. Możesz przełączać się między logami każdego skryptu za pomocą rozwijanego menu na górze panelu Pine Logs:

Aby być na bieżąco z nowymi funkcjami Pine Script®, śledź notatki o wydaniach Podręcznika Użytkownika. Konto PineCoders publikuje aktualizacje ze swojego Squawk Box’a na Telegramie, swojego konta na Twitterze oraz publicznego czatu Pine Script® Q&A na TradingView.

Mamy nadzieję, że uważacie tę bardzo oczekiwaną funkcję za równie przydatną, jak my sądzimy, że będzie, i prosimy o dalsze przesyłanie nam opinii i sugestii, abyśmy mogli uczynić platformę jak najlepszą. Tworzymy TradingView dla was, i zawsze z ogromnym zainteresowaniem słuchamy waszych myśli.

— Zespół TradingView

Look first Then leap

TradingView jest stworzony dla Ciebie. Upewnij się, że w pełni wykorzystujesz nasze niesamowite funkcje
Otwórz wykres