Aller au contenu

Vendre du Pine Script en binaire, c’est prévu

  1. strategy.pine
    La stratégie que vous écrivez. La transmettre, c’est tout transmettre.
  2. strategy.cpp
    Le C++ que le transpileur en génère, sur votre machine, dès aujourd’hui.
  3. strategy.so
    La bibliothèque compilée qu’exécuterait un acheteur. Le système de licences qui l’entoure est prévu.

Le modèle de distribution par binaire compilé

Le projet : compiler votre PineScript v6 en bibliothèque native .so, laisser les acheteurs l’exécuter sur leurs propres données sans voir votre code source, et fixer vous-même les limites de licence. Rien de tout cela n’existe encore.

Le problème de vendre une stratégie Pine aujourd’hui, c’est que Pine est du code source. Si vous remettez à quelqu’un un fichier .pine contenant votre stratégie, vous lui avez tout donné : la logique, les paramètres, l’edge. Rien n’empêche l’acheteur de le modifier, de le revendre ou de le publier. TradingView peut masquer le code source d’un script publié (scripts protégés et scripts sur invitation), mais le script ne tourne alors que sur TradingView.

MetaQuotes a choisi la voie du compilé pour MQL5. Sur le MQL5 Market, vous vendez un binaire .ex5 : l’acheteur télécharge un fichier compilé et l’exécute dans MetaTrader sur son compte, sans le code source. La licence est liée aux machines de l’acheteur, avec un nombre d’activations fixé par le vendeur, et la marketplace gère la livraison et le paiement.

PineForge prévoit d’appliquer le même modèle à Pine. Votre stratégie est transpilée en C++ puis compilée en bibliothèque partagée .so : c’est elle que vous distribueriez. Les acheteurs l’exécuteraient avec le runtime PineForge sur leurs propres données, et le runtime vérifierait la licence avant de lancer la stratégie. Aucun serveur de licences n’existe encore.

La transpilation et la compilation tournent déjà en local aujourd’hui (image pineforge-release) : votre code source n’aurait donc jamais besoin de quitter votre machine. Une bibliothèque compilée, c’est du code machine natif : bien plus difficile à lire que du Pine, même si un ingénieur déterminé peut toujours en retrouver la logique par ingénierie inverse.

Le MQL5 Market applique ce modèle depuis 2011. PineForge serait l’infrastructure du même modèle pour Pine.

Les limites de licence prévues

Dans ce projet, vous définissez la licence au moment de publier une stratégie, et le runtime l’applique. Six limites :

Bornée dans le temps.
La licence expire à une date donnée, par exemple pour un abonnement mensuel renouvelé à chaque paiement.
Liée à la machine.
La licence est liée à une machine ; la transférer sur une autre nécessite votre accord.
Liée au courtier.
La licence ne fonctionne que sur les données des courtiers ou plateformes d’échange que vous désignez.
Liée aux symboles.
La licence ne fonctionne que sur les symboles et unités de temps que vous autorisez : une stratégie conçue pour BTC-USD en 1h n’est donc pas jugée sur d’autres marchés.
Bornée sur les plages d’entrées.
Les acheteurs ne peuvent ajuster les paramètres d’entrée que dans les plages que vous autorisez : vos valeurs exactes restent privées.
Révocable à tout moment.
Vous pouvez révoquer une licence, par exemple après une rétrofacturation ; la vérification de licence suivante échoue et la stratégie cesse de tourner.

Pour un résumé du projet, consultez la page /sell.

Pas encore de date de lancement

Pour être clair : la marketplace (parcourir, acheter, s’abonner, noter, contester) est prévue et n’a pas de date de lancement. Ce dont elle a besoin (un serveur de licences, des outils vendeur, les paiements) n’existe pas encore.

Où nous en sommes :

  • Aujourd’hui : compiler en local. L’image pineforge-release transpile et compile sur votre machine toute stratégie Pine v6 prise en charge. Cette partie de la chaîne est bien réelle.
  • Prévu : les licences. L’émission des licences, et leur vérification dans le runtime.
  • Prévu : la marketplace. Découverte, paiements, notes et rapports de parité pour les stratégies référencées.

Si vous vendez déjà des stratégies à une audience et que cela vous intéresse, rejoignez la liste d’attente vendeur : elle nous indique à qui parler en premier.

Pour aller plus loin