TradeMemory Protocol
officielCouche mémoire IA pour le trading MT5/forex avec 15 outils MCP — stockage/rappel des transactions, découverte de motifs, évolution de stratégie et mémoire pondérée par les résultats.
Que pouvez-vous faire avec TradeMemory Protocol MCP ?
-
Synchroniser l’historique du broker — Demandez à votre assistant de récupérer vos exécutions passées depuis Hyperliquid ou Alpaca dans un stockage mémoire local, en ne conservant que les nouvelles transactions lors d’une resynchronisation.
-
Rappeler les trades perdants avant les ordres — Demandez à votre assistant de faire remonter vos pires trades passés dans des conditions similaires, classés par taille de perte, avant qu’il ne propose le prochain ordre.
-
Enregistrer un trade avec contexte — Dites à votre assistant « Enregistre mon long AAPL à 195 $ — résultats supérieurs aux attentes, achats institutionnels, confiance élevée » et il sauvegarde l’entrée avec votre raisonnement et votre état émotionnel.
-
Appliquer les règles de risque avant trade — Demandez à votre assistant de vérifier un ordre par rapport à votre politique (liste de symboles, limites de notionnel/position, exigence de stop-loss, plafond de perte quotidienne) et de le refuser avant qu’il n’atteigne le broker.
-
Vérifier la piste d’audit — Demandez une preuve qu’un enregistrement de trade spécifique ou la chaîne décisionnelle complète n’a pas été altéré, ou obtenez la racine Merkle quotidienne pour n’importe quelle date.
Documentation
TradeMemory se souvient de ce que cela a coûté. C'est une mémoire open-source, locale d'abord, et un frein pour les agents de trading IA : il récupère vos exécutions, trouve où votre propre historique perd de l'argent, place ces trades perdants devant votre agent avant la prochaine ordre, et peut refuser une ordre qui enfreint les règles que vous avez définies, avant qu'elle n'atteigne le courtier.
Les courtiers permettent désormais aux agents IA de trader via MCP, avec différentes garde-fous : Webull et tastytrade fixent des limites de taille ou de pouvoir d'achat, Interactive Brokers ne laisse l'agent que rédiger une ordre pour que vous la soumettiez, et Robinhood et Public ne fixent aucun plafond que vous puissiez imposer à un agent externe (StockBrokers, 2026-09-30). Les plafonds sont des nombres fixes. Aucun d'eux ne regarde comment vos propres trades passés se sont déroulés.
Commencez par votre propre historique
pip install tradememory-protocol
# Hyperliquid: public fills, no key needed
tradememory sync hyperliquid --address 0xYourAddress
# Alpaca: read-only calls with your own keys, kept in a local file
tradememory sync alpaca --env-file ~/.secrets/alpaca.env
Chaque trade clôturé est stocké en mémoire une fois ; le réexécuter ne stocke que les nouveaux trades. Ensuite, il affiche où votre historique perd de l'argent. Le format, avec des chiffres illustratifs :
After 2 losses in a row (20 trades):
5 of them (25%) were 1.5x your usual size or more.
All 20 won 60% and made -$1,500.
The 5 sized-up trades won 20% and made -$1,700.
Median hold: winners 1.5h, losers 9.0h.
Ce sont des statistiques descriptives de vos propres trades passés, pas des conseils sur le prochain. L'API d'Hyperliquid ne sert que les exécutions récentes d'une adresse, pas tout son historique, donc plus tôt il est synchronisé, plus l'historique est conservé. Autres plateformes : les scripts de synchronisation MT5 et Binance spot sont dans scripts/, et tout agent peut enregistrer un trade avec remember_trade.
Avant la prochaine ordre
recall_memories(order="losses_first") place chaque trade perdant devant les autres, les plus grosses pertes dans des conditions similaires en premier, avec leur taille et leur P&L. En plus des trades les plus récents du symbole, il recherche les trades perdants récents du symbole, afin qu'une perte plus ancienne ne soit pas éclipsée. Le serveur dit aux agents connectés de l'appeler avant de proposer un trade. L'ordre par défaut classe les meilleurs résultats plus haut (par multiple R, là où un a été enregistré) et garde au moins 20 % de pertes dans la liste.
Connectez votre agent
pip install tradememory-protocol
Ajoutez à Claude Desktop (claude_desktop_config.json) :
{
"mcpServers": {
"tradememory": {
"command": "uvx",
"args": ["tradememory-protocol"]
}
}
}
Puis dites à Claude : "Enregistre mon long AAPL à 195 $ — bénéfices supérieurs aux attentes, achats institutionnels, haute confiance."
Claude Code / Cursor / Docker
# Claude Code
claude mcp add tradememory -- uvx tradememory-protocol
# From source
git clone https://github.com/mnemox-ai/tradememory-protocol.git
cd tradememory-protocol && pip install -e . && python -m tradememory
# Docker
docker compose up -d
Procédure complète : Getting Started (Piste Trader + Piste Développeur)
Mettez un frein devant votre courtier (aperçu)
L'extension proxy exécute TradeMemory entre votre agent et le serveur MCP de votre courtier (Alpaca aujourd'hui). Chaque outil est transmis inchangé, sauf ceux qui placent des ordres, que Mnemox Control évalue selon une politique que vous possédez avant qu'ils n'atteignent le courtier. Chaque évaluation, autorisée ou refusée, est enregistrée et enchaînée dans le journal d'audit. Une ordre autorisée revient avec vos trades perdants dans des conditions similaires en premier, et tradememory sync alpaca remplit plus tard comment chaque trade transmis s'est terminé, en R lorsque l'entrée portait un stop. L'agent que vous avez déjà continue de fonctionner ; seule une ligne de sa configuration MCP change.
pip install "tradememory-protocol[proxy]" # Python 3.12+
tradememory proxy init --account-id <your Alpaca account id> --symbols AAPL,MSFT
tradememory proxy doctor --env-file ~/.secrets/alpaca-paper.env # checks the live tool names and the account id
tradememory proxy config # prints the MCP client entry that replaces the direct Alpaca one
Refusé par défaut : symboles hors de votre liste, ordres au-dessus de vos limites notionnelles et de position, entrées sans stop de bracket, toute nouvelle ordre après votre limite de perte quotidienne ou de drawdown, l'annulation du stop protecteur d'une position ouverte, tout outil que le frein n'a pas classifié, et tout pendant que vous avez exécuté tradememory proxy halt FULL_HALT. Jamais bloqué : la clôture d'une position. Les ordres à ou au-dessus de approval_notional attendent tradememory proxy approve <intent_id> --terms <fingerprint>, qui approuve exactement les termes que vous lisez ; l'agent réessaie avec le même client_order_id et les mêmes termes, et le proxy transmet au plus une fois. evaluate_order renvoie la même décision sans rien placer, pour les pré-vérifications et les couches consultatives dans d'autres frameworks. Tout ce que le frein ne peut pas évaluer (un flux de cotations mort, un actif inconnu, un type d'ordre non couvert par la politique) est refusé, pas transmis.
Statut : testé de bout en bout contre un faux étatique du serveur MCP d'Alpaca (tests/proxy/), et exécuté contre un compte papier Alpaca réel le 2026-10-01 : trois refus (symbole pas sur la liste, entrée sans stop, notionnel au-dessus de la limite), une ordre de bracket d'une action autorisée qui a atteint le courtier, et un nouvel essai avec le même client_order_id qui a été répondu depuis le registre sans deuxième ordre. Les options, le remplacement d'ordres, les ordres stop-limit et trailing sont refusés plutôt qu'évalués. Vos clés de courtier vont uniquement au processus du courtier que le proxy démarre ; TradeMemory ne les stocke jamais.
Procédure avec les sorties réelles : docs/recipes/alpaca-brake.md.
Trois façons de l'utiliser
| Trader d'actions US | Système EA Forex | Piste d'audit (illustratif) | |
|---|---|---|---|
| Marché | Actions (AAPL, TSLA, ...) | XAUUSD (Or) | Multi-actifs |
| Comment | Liste de contrôle pré-vol avant chaque trade | Synchronisation automatique depuis MT5 | Enregistrements de décisions avec chaîne de hachage |
| Qui | Un utilisateur indépendant (mars 2026) | Le propre compte MT5 du mainteneur | Un exemple, pas un client |
| Détails | En savoir plus | En savoir plus | En savoir plus |
Comment cela fonctionne
- Rappel — Avant de trader, récupérez les trades passés pondérés par la qualité des résultats, la similarité du contexte, la récence, la confiance et l'état émotionnel (OWM Framework)
- Enregistrement — Après le trading, un appel à
remember_tradeécrit dans cinq couches de mémoire : épisodique, sémantique, procédurale, affective et enregistrements de trades - Réflexion — Les revues quotidiennes/hebdomadaires/mensuelles détectent la dérive comportementale, la dégradation de la stratégie et les erreurs de trading
- Audit — Chaque décision est hachée SHA-256 à la création et enchaînée à la précédente. Exportez à tout moment pour examen
Outils MCP
| Catégorie | Outils | Description |
|---|---|---|
| Mémoire | remember_trade · recall_memories | Enregistrer et rappeler des trades avec un score pondéré par les résultats |
| État | get_agent_state · get_behavioral_analysis | Confiance, drawdown, séries, modèles comportementaux |
| Planification | create_trading_plan · check_active_plans | Plans prospectifs avec déclencheurs conditionnels |
| Risque | check_trade_legitimacy | Porte pré-trade à 5 facteurs (complet / réduit / sauter) |
| Audit | export_audit_trail · verify_audit_hash | Détection de falsification SHA-256 + export en masse |
Les 20 outils MCP + API REST
| Catégorie | Outils |
|---|---|
| Mémoire de base | get_strategy_performance · get_trade_reflection |
| OWM Cognitif | remember_trade · recall_memories · get_behavioral_analysis · get_agent_state · create_trading_plan · check_active_plans |
| Risque et gouvernance | check_trade_legitimacy · validate_strategy · compute_dqs |
| Évolution | evolution_fetch_market_data · evolution_discover_patterns · evolution_run_backtest · evolution_evolve_strategy · evolution_get_log |
| Audit | export_audit_trail · verify_audit_hash · verify_audit_chain · get_daily_root |
API REST : 35+ points de terminaison pour l'enregistrement de trades, les réflexions, le risque, la synchronisation MT5, OWM, l'évolution et l'audit. Référence complète →
Obtenez de l'aide pour la connexion
Vous exécutez un agent contre un courtier, ou vous voulez que votre historique soit synchronisé et lu ? Ouvrez un problème d'intégration de frein ou réservez 30 minutes. L'aide à la configuration est gratuite, et les personnes qui l'utilisent décident de ce qui sera construit ensuite.
Piste d'audit
Chaque décision de trading que votre agent prend — y compris les décisions de ne pas trader — est enregistrée comme un enregistrement de décision de trading (TDR). Les hachages de contenu SHA-256 par enregistrement sont liés dans un registre d'audit en chaîne avant ; chaque jour UTC est résumé par une racine Merkle qui elle-même s'enchaîne à travers les jours. Toute falsification d'un enregistrement historique invalide chaque lien suivant.
Les règles qui exigent des enregistrements de décisions lient les sociétés d'investissement, pas les utilisateurs de détail. Sous l'AI Act de l'UE, les obligations de journalisation à haut risque de l'Annexe III ont été reportées au 2 décembre 2027, et le briefing de surveillance de février 2026 de l'ESMA sur le trading algorithmique indique que le trading algorithmique basé sur l'IA est actuellement exclu du champ à haut risque. Le tableau montre quelles fonctionnalités de TradeMemory correspondent à ces textes si et quand ils s'appliquent à vous. Ce n'est pas une revendication de conformité.
| Règlement | Exigence | Couverture TradeMemory |
|---|---|---|
| MiFID II Article 17 | Enregistrer chaque facteur de décision de trading algorithmique | Chaîne de décision complète : conditions, filtres, indicateurs, exécution |
| AI Act de l'UE Article 14 | Surveillance humaine des systèmes d'IA à haut risque | Raisonnement explicable + contexte mémoire pour chaque décision |
| AI Act de l'UE Article 12 | Journaux automatiques et résistants à la falsification sur la durée de vie du système | Chaîne SHA-256 liée + racines Merkle quotidiennes (ancrage TSA RFC 3161, activé par défaut depuis 0.5.3) |
# Verify a single record hasn't been tampered with
verify_audit_hash(trade_id="MT5-7047640363")
# → {"verified": true, "chain_entry": {"sequence_num": 42, ...}}
# Walk the entire chain (or a slice) end-to-end
verify_audit_chain(from_seq=1, to_seq=None)
# → {"verified": true, "checked_count": 1284, "first_break_at": null}
# Daily Merkle root — single 32-byte anchor over every TDR for that day
get_daily_root(date="2026-05-14")
# → {"verified": true, "root_hash": "a05544...", "record_count": 18}
# Bulk export
GET /audit/export?strategy=VolBreakout&start=2026-03-01&format=jsonl
Les racines quotidiennes sont horodatées par une autorité RFC 3161 par défaut depuis 0.5.3. Non construit : signer les enregistrements avec une clé privée, ancrer à un journal public, prouver que rien n'a été omis. Voir LIMITATIONS.md.
Sécurité
- Serveur mémoire (par défaut). Ne place jamais d'ordres et ne demande jamais de clés de courtier. Enregistre et rappelle uniquement, dans un fichier SQLite local.
- Synchronisation.
tradememory sync hyperliquidlit des données publiques sans clé.tradememory sync alpacafait des appels en lecture seule avec des clés provenant d'un fichier sur votre machine. Les trades synchronisés restent dans votre base de données locale. - Frein (extension
proxy). Transmet les ordres que votre politique autorise au serveur MCP de votre courtier. Vos clés de courtier sont passées uniquement au processus du courtier que le proxy démarre ; TradeMemory ne les stocke jamais. - Appels sortants. Horodatage RFC 3161 des racines d'audit quotidiennes, un hachage de 32 octets sans données de trade (activé par défaut ;
TRADEMEMORY_TSA=offle désactive).tradememory syncappelle la plateforme que vous nommez. Les outils d'évolution lisent les données de marché publiques de Binance (api.binance.com) lorsqu'un agent les appelle, et l'évolution appelle l'API Anthropic uniquement si vous définissezANTHROPIC_API_KEY. Replay appelle DeepSeek par défaut (ou Anthropic), et uniquement avec la clé de ce fournisseur définie. Si vous installezsentence-transformerspour le rappel hybride, il télécharge son modèle depuis Hugging Face lors de la première utilisation. Les scripts de synchronisation MT5 et Binance dansscripts/lisent leurs identifiants depuis votre environnement, et celui de MT5 publie des résumés de trades (symbole, prix, P&L) vers un webhook Discord uniquement si vous définissezDISCORD_WEBHOOK_URL. - Résistant à la falsification, pas infalsifiable. Chaque enregistrement est haché et lié au précédent, avec des racines Merkle quotidiennes. Modifier un enregistrement casse la chaîne ; quelqu'un qui peut réécrire toute la base de données peut la reconstruire.
Statut de recherche
Le framework OWM de TradeMemory est fondé sur la science cognitive (Tulving 1972) et l'apprentissage par renforcement (Schaul et al. 2015). Statut actuel :
- Score à cinq facteurs OWM : implémenté et testé (voir le badge CI)
- Validation statistique : DSR, MBL implémentés (Bailey-de Prado 2014)
- Piste d'audit : TDR résistant à la falsification SHA-256
- Moteur d'évolution : phase de recherche (la génération de stratégies fonctionne, taux de passage de la porte statistique sous optimisation)
- Rappel hybride : mode OWM seul actif, fusion vectorielle disponible lorsque les embeddings sont configurés
- Validation empirique : en cours (n=14 trades, cible n>=100 pour la significativité statistique ; à n=14, les intervalles de confiance sont trop larges pour conclure quoi que ce soit - voir validation/final_verdict.md)
Documentation
| Doc | Description |
|---|---|
| Démarrage rapide | Installation → première transaction → liste de vérification avant vol |
| Cas d'utilisation | 3 scénarios d'utilisation, chacun étiqueté première partie ou indépendant |
| Référence API | Tous les points de terminaison REST |
| Cadre OWM | Théorie de la mémoire pondérée par les résultats |
| Architecture | Conception du système et séparation des couches |
| Tutoriel | Procédure pas à pas détaillée |
| Configuration MT5 | Intégration MetaTrader 5 |
| Journal de recherche | Expériences d'évolution et données |
| Taxonomie des échecs | 11 modes de défaillance de l'IA de trading |
| 中文版 | Chinois traditionnel |
Contribution
Voir Guide de contribution · Politique de sécurité
MIT, voir LICENCE. L'installation supplémentaire optionnelle proxy installe Mnemox Control, dont le moteur est sous licence AGPL-3.0 uniquement (une licence commerciale est disponible) ; TradeMemory lui-même reste sous licence MIT. À des fins éducatives et de recherche uniquement. Pas un conseil financier.