J'aimerais en savoir plus sur Pine Logs

Pour activer les journaux, vous pouvez utiliser l'une des trois nouvelles fonctions de journalisation :

  • log.error() crée des messages de type Erreur affichés en rouge.
  • log.info() crée des messages de type Info affichés en gris.
  • log.warning() crée des messages de type Avertissement affichés en orange.

Après avoir ajouté le script sur le graphique, vous pouvez ouvrir Pine Logs. Utilisez l'un des points d'entrée :

  • en sélectionnant Pine Logs... dans le menu More de l'éditeur
  • à partir du menu Plus d'un script chargé sur votre graphique s'il utilise les fonctions log.*()

Les Pine Logs fonctionnent partout : sur des barres historiques, en temps réel et en mode Replay. Les fonctions d'enregistrement peuvent être appelées depuis n'importe quel type de script (indicateur, stratégie ou bibliothèque) et depuis n'importe quel endroit du script, y compris les blocs locaux, les boucles, et depuis l'intérieur de request.security() et d'autres fonctions similaires. Vous pouvez appeler les fonctions de journalisation de deux manières : en utilisant uniquement un argument de type chaîne, ou en utilisant une chaîne de formatage et une liste de valeurs de type str.format().

Les scripts utilisant des journaux doivent être des scripts personnels ; les scripts publiés en privé ou en public ne peuvent pas générer de journaux, même s'ils contiennent des appels aux fonctions log.*().

L'exemple de code suivant utilise les trois fonctions de journalisation :

//@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 = 0if 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)
Java

L'exemple affiche l'indice de barre à chaque centième barre historique à l'aide d'un message d'avertissement orange. En temps réel, il affiche un message d'erreur en rouge pour chaque nouvelle barre, et pour chaque mise à jour en temps réel, il crée un message d'information en gris indiquant le numéro de mise à jour, le prix de clôture et le temps écoulé depuis la dernière mise à jour du graphique.

Pour voir Pine Logs en action :

  1. Enregistrez l'exemple de code ci-dessus dans un script personnel et ajoutez-le à un graphique avec un marché actif.
  2. Ouvrez le volet Pine Logs en utilisant le menu Plus de l'éditeur ou le menu Plus de l'indicateur sur le graphique.

Un horodatage précède chaque entrée du journal. Il correspond à l'heure d'ouverture de la barre pour les barres historiques et à l'heure actuelle pour les messages en temps réel. Les messages les plus récents apparaissent en bas du volet. Seuls les 10 000 derniers messages s'affichent pour les barres historiques ; les messages en temps réel sont ajoutés à ces derniers.

La partie supérieure du volet contient des icônes permettant de démarrer/arrêter l'enregistrement, de spécifier une date de début, de filtrer les enregistrements par type de message et d'effectuer une recherche dans les enregistrements. Le champ de recherche contient un sous-menu qui vous permet de faire correspondre la casse, des mots entiers et d'utiliser des expressions rationnelles.

Lorsque vous survolez un message, des icônes apparaissent pour vous permettre d'afficher le code source qui a généré le message ou de passer à la barre graphique correspondante:

Lorsque plusieurs scripts utilisent des journaux sur votre graphique, chacun d'entre eux conserve son propre ensemble de messages. Vous pouvez vous déplacer entre les journaux de chaque script en utilisant le menu déroulant en haut du panneau Pine Logs: