CitizOS · Trading · Doctrine
Observabilité · doctrine V19

Lifecycle d'un trade · du signal brut à la décision finale

Deux cas réels suivis pas à pas à travers les 6 couches du Decision OS. L'un termine en NO_TRADE, l'autre passe en EXECUTE. Le but : rendre observable ce que chaque couche calcule et pourquoi elle accepte ou refuse.

Cas A · NO_TRADE
PIXELUSDT · setup haussier post-listing
2026-02-08 · timeframe 1h · signal classique fort
Cas B · EXECUTE (hypothétique shadow)
ETHUSDT · breakout trend confirmé
2026-03-12 · timeframe 4h · consensus 6/6 couches
Cas A : trade que l'agent classique aurait pris. Decision OS l'a refusé. Le marché a ensuite dumpé −54 % en 11 jours · refus validé.
Cas B : trade que les deux systèmes auraient pris. Affiché pour montrer qu'EXECUTE existe quand le consensus s'établit · 4.1 % capturés sur 36h, sortie sur invalidation propre.

Cas A · PIXELUSDT · suivi détaillé

0
Signal entrant
Setup haussier détecté · MA50 croisée · volume +180 %
paire=PIXELUSDT · tf=1h · price=0.412 · volume_24h=4.2M · listing_age=18d
1
Couche Macro
Contexte global tolérable mais sans conviction
fear_greed=49 (neutral) · btc_adx=18 (sans tendance) · btc_rsi=52 · btc_dom=53.1
→ Pass conditionnel · pas de veto macro, mais posture défensive activée
2
Couche Entropy
Lisibilité fortement dégradée · marché bruité
entropy_score=0.78 · wicks_body_ratio=3.4 · cross_asset_coherence=0.21 · classification=bruite
⨯ Veto entropy · score > 0.70 · refus catégorique
3
Couche Régime
Classification post-listing chaotique
regime_principal=marche_manipule · confidence=0.31 · regime_score=−0.12
⨯ Veto régime · marche_manipule + confidence < 0.40
4
Couche Risk Engine
Sizing réduit à zéro par cascade des veto précédents
base_sizing=1.0 · macro_mult=0.6 · entropy_mult=0.0 · regime_mult=0.0 → final=0.0
⨯ Sizing forcé à 0 · même sans veto risk propre, position impossible
5
Couche Memory
Pattern similaire à 14 perdants connus en base
similarity_top1=0.91 · cluster_loss_rate=0.86 · pattern_tag=post_listing_dump_setup
⨯ Veto memory · cluster destructeur identifié · sizing −100 %
6
Couche Kill-switch
Système en mode normal · pas d'arrêt global
status=normal · capital_preservation_mode=false · sizing_multiplier=1.0
→ Pas de veto kill-switch (la décision se joue plus haut)
⨯ Décision finale · NO_TRADE
Vetos cumulés : Entropy + Régime + Memory.
Snapshot archivé en decisions_log avec contexte complet.
Résultat marché 11 jours plus tard : −54.3 % · refus rétrospectivement validé statistiquement.

Cas B · ETHUSDT · suivi détaillé (consensus complet)

0
Signal entrant
Breakout 4h sur résistance MA200 · volume cohérent
paire=ETHUSDT · tf=4h · price=3 412 · volume_24h=18.4B · age=mature
1
Couche Macro
Contexte favorable et stable
fear_greed=68 (greed mesuré) · btc_adx=31 (trend) · btc_rsi=61 · btc_dom=51.8 stable
→ Pass · posture offensive autorisée
2
Couche Entropy
Marché lisible · faible manipulation détectée
entropy_score=0.31 · wicks_body_ratio=1.1 · cross_asset_coherence=0.84 · classification=clean
→ Pass · score < 0.50 · feu vert lisibilité
3
Couche Régime
Régime trend haussier de qualité
regime_principal=trend_haussier · confidence=0.74 · regime_score=+0.41
→ Pass · setup compatible avec régime actif
4
Couche Risk Engine
Sizing modéré · invalidation thèse définie
sizing_multiplier=0.6 · invalidation_price=3 287 · max_loss=−1.2 % portfolio
→ Pass · risque maîtrisé · stop placé sous invalidation structure
5
Couche Memory
Cluster historique majoritairement gagnant
similarity_top1=0.79 · cluster_win_rate=0.62 · expectancy=+0.018 · pattern_tag=eth_4h_breakout_trend
→ Pass · cluster favorable · pas de réduction sizing
6
Couche Kill-switch
Système nominal · cohérence décisions intacte
status=normal · capital_preservation_mode=false · drawdown_30d=−2.1 % (sous seuil)
→ Pass · système autorisé à exécuter
● Décision finale · EXECUTE (consensus 6/6)
Aucun veto émis · sizing 0.6 × base · invalidation @ 3 287.
Snapshot archivé · exécution simulée en phase shadow (aucune position réelle prise).
Suivi 36h plus tard : +4.1 % avant sortie sur invalidation propre · trade conforme à la thèse.

Ce que la comparaison révèle

Couche Cas A · PIXEL Cas B · ETH
MacroPass conditionnelPass favorable
EntropyVeto · 0.78Pass · 0.31
RégimeVeto · marche_manipulePass · trend_haussier 0.74
RiskSizing 0.0Sizing 0.6
MemoryCluster perdants 86 %Cluster gagnants 62 %
Kill-switchPassPass
Décision NO_TRADE EXECUTE

Trois observations

L'asymétrie des veto

Un seul veto suffit pour bloquer un trade. Six pass sont requis pour l'exécuter. La balance penche structurellement vers l'abstention.

La mémoire prolonge la doctrine

Cas A : 14 perdants similaires en mémoire avec 86 % de perte historique. Sans la couche memory, l'architecture serait amnésique aux erreurs déjà commises.

EXECUTE reste rare

Pour qu'un trade passe, les six couches doivent converger. Sur la période d'observation actuelle, c'est arrivé pour moins de 5 % des signaux entrants.

→ Voir aussi l'architecture des 6 couches et les patterns récurrents que la couche memory utilise.