Une syntaxe de méthodes arrive sur Pine Script®

Mar 7, 2023

La notation dot utilisée pour les méthodes d’extension dans d’autres langages est désormais disponible dans Pine Script®. Les programmeurs peuvent utiliser cette nouvelle syntaxe de deux manières différentes:

  • Avec les méthodes définies par l’utilisateur, qui sont des fonctions spéciales déclarées avec le nouveau mot-clé method.
  • Avec les fonctions intégrées des espaces de noms des types array, box, label, line, linefill, matrix, et table lorsque le premier paramètre est l’ID d’un objet de ce type.

Examinons cet exemple simple dans lequel nous calculons la moyenne du low pour une fenêtre roulante de barres ascendantes:

//@version=5
indicator("Long stop", "", true)
int lengthInput = input(20)
var pricesArray = array.new<float>(lengthInput)

method maintainQueue(array<float> srcArray, float value) =>
    // Append a new value to the end of the array.
    srcArray.push(value)
    // Remove the oldest value from the beginning of the array.
    srcArray.shift()

if close > open
    // Track the `low` values of up bars.
    pricesArray.maintainQueue(low)

plot(pricesArray.avg(), "Stop")

Notre méthode maintainQueue() est très similaire à une fonction normale et peut être utilisée comme telle, mais le mot-clé method lui permet également d’être utilisée avec la notation point après une variable du type du premier paramètre. Dans ce cas, nous omettons le premier argument de l’appel de méthode, comme dans pricesArray.maintainQueue(low).

Notez également que nous utilisons la notation de méthode avec des fonctions de l’espace de noms array dans des appels tels que srcArray.push() et srcArray.shift() à l’intérieur du code de la méthode, et pricesArray.avg()dans la dernière ligne de l’exemple.

Vous trouverez plus d’informations sur cette nouvelle fonctionnalité dans la page du manuel de l’utilisateur consacrée aux méthodes.

Pour voir les méthodes en action, vous pouvez consulter le code mis à jour de notre indicateur Gaps intégré qui utilise des méthodes intégrées et des méthodes définies par l’utilisateur pour mettre en évidence les écarts graphiques à l’aide de boîtes:

En outre, nous avons mis à jour le code de notre bibliothèque ZigZag afin d’utiliser des méthodes intégrées et définies par l’utilisateur:

ZigZag par TradingView

Voici les objets et les méthodes utilisés dans les scripts suivants par certains de nos PineCoders:

Flare par Fikira

Recursive Zigzag [Trendoscope] par HeWhoMustNotBeNamed

Recursive Auto-Pitchfork [Trendoscope] par HeWhoMustNotBeNamed

Pour rester informés des nouvelles fonctionnalités de Pine Script®, gardez un œil sur les notes de publication du Manuel de l’utilisateur. Le compte PineCoders diffuse également des mises à jour depuis sa Squawk Box sur Telegram, son compte Twitter et depuis le chat public Pine Script® Q&A sur TradingView.

Nous espérons que cette fonctionnalité très demandée vous sera utile. Continuez à nous envoyer vos commentaires et suggestions d’amélioration. Nous construisons TradingView pour vous, et nous sommes toujours désireux d’entendre ce que vous avez à dire.

Look first Then leap

TradingView est conçu pour vous, assurez-vous donc de profiter au maximum de nos fonctionnalités exceptionnelles
Ouvrir le graphique