Plugins
PnlTracker dispose d'un système de plugins permettant d'étendre ses fonctionnalités sans modifier le code source de l'application. Les plugins sont développés dans le dossier plugins-dev/ et compilés au format .zip pour être importés dans l'application. C'est très pratique pour ajouter des fonctionnalités personnalisées tout en conservant une base de code propre.
Prérequis
- Node.js ≥ 20
- pnpm installé
Compiler un plugin
Remplacez hello-plugin par le nom de votre plugin :
PLUGIN=hello-plugin npx vite build --config plugins-dev/vite.config.plugin.ts
Exemples avec les plugins inclus :
PLUGIN=trade-stats-plugin npx vite build --config plugins-dev/vite.config.plugin.ts
PLUGIN=file-processor-plugin npx vite build --config plugins-dev/vite.config.plugin.ts
PLUGIN=instrument-type-fixer npx vite build --config plugins-dev/vite.config.plugin.ts
Exemples inclus
Le dossier plugins-dev/ contient plusieurs plugins exemples que vous pouvez utiliser comme point de départ :
| Plugin | Description |
|---|---|
hello-plugin | Plugin de démonstration illustrant les modales, toasts et emplacements de page sur le dashboard, les transactions, le calendrier et la vue quotidienne. |
trade-stats-plugin | Affiche un résumé rapide des dernières performances de trading dans une modale. |
file-processor-plugin | Upload, traitement et téléchargement de fichiers directement dans le navigateur. |
instrument-type-fixer | Correction en masse du type d'instrument pour tous les trades d'un compte. |
tradingview-converter | Convertit les exports TradingView (backtests) au format Standard CSV de PnlTracker. |
Compiler une version release
La version release est optimisée et minifiée. Elle est destinée à la distribution.
PLUGIN=hello-plugin RELEASE=true npx vite build --config plugins-dev/vite.config.plugin.ts
Installation dans PnlTracker
- Allez dans Paramètres > Plugins.
- Cliquez sur Importer un plugin et sélectionnez le fichier
.zipgénéré. - Activez le plugin, puis cliquez sur Exécuter.
plugins-dev/. Consultez les fichiers README et les exemples pour créer vos propres extensions.Slots de page
Les plugins peuvent injecter du contenu dans les pages existantes via des slots. Chaque slot est identifié par un ID. Les slots disponibles sont :
| Slot | Page | Description |
|---|---|---|
page-daily | Vue quotidienne | Injection dans la page Daily |
page-calendar | Calendrier | Injection dans la page Calendar |
trade-filters | Filtres de trades | Injection dans le composant TradeFilters |
Composants UI
Les plugins ont accès à des composants UI prêts à l'emploi :
UIButton: boutonUIInput: champ de saisieUISelect: liste déroulante
SDK
Le SDK expose des fonctions de calcul (P&L, APPT, winrate, profit factor, recovery factor, Sharpe ratio, etc.), un accès API (get/post/put/delete), des notifications toast, la détection de thème et la locale i18n.