
    i*                        d Z ddlmZ ddlmZ ddlmZmZ ddl	Z
dej                  d<   dej                  d<    ej                  d	      Zej                  d
ddd       ej                  dddddddd      ZdZdZdZdZdZej-                  edddf         Zej1                  dd       ej3                  dd       ej5                  d       ej7                  d ddd!       g d"Zd#Z ee      D ]r  \  Z\  Z Z! ed$ed%z
  fdd&d'ed(d)d&*      Z"ejG                  e"       ejI                  d+ed,z
  ed+z    d-e  ddd.d/0       ejI                  d1ed,z
  e!d2d.d/d3d45       edz  Zt ej-                  eddd+f         Z%e%j1                  dd       e%j3                  dd       e%j5                  d       e%j7                  d6ddd!       g d7Z&d#Z ee&      D ]  \  Z\  Z Z'Z! ed$ed%z
  fdd&d'ed8d)d&*      Z"e%jG                  e"       e%jI                  d+ed,z
  d9ed+z    d:e  ddd.d/0       e%jI                  d;ed,z
  e'd<d=d/d>       e%jI                  d1ed,z
  e!d2d.d/d3d45       ed?z  Z ej-                  edddf         Z(e(j1                  dd       e(j3                  dd       e(j5                  d       e(j7                  d@ddd!       g dAZ)d#Z ee)      D ]  \  Z\  Z Z*Z! ed$ed%z
  fdd&d'edBddC*      Z"e(jG                  e"       e(jI                  d%ed,z
  dDdd/E       e(jI                  d)ed,z
  e ddd.d/0       e(jI                  d1ed,z
  e* dFe! d;d.d/d3G       edHz  Z ej-                  edddf         Z+e+j1                  ddI       e+j3                  ddJ       e+j5                  d       e+j7                  dKddd!       ddLdMefdNdLdOefdPdLdQefdRdLdSefdTdLdUefdVdLdWefgZ, ee,      D ]  \  Z\  Z-Z.Z$Z/ ee-dXz
  e.dz
  fdddYe/dZdd%*      Z"e+jG                  e"       e+jI                  e-e.e$ddd.d/d/[       e e0e,      d+z
  k  s\ ee-d\z   e.fe,ed+z      d   d\z
  e.fd]d^ddZ_      Z1e+jG                  e1         ed`dddYedZdda*      Z2e+jG                  e2       e+jI                  dbdcdddJdd.d/d/[        ededfd]dNdcdgdhi      Z3e+jG                  e3       e+jI                  djdkdlddgdm       e+jI                  d^ddnddodm       e+jI                  dbddpddgdm       e+jI                  dqddrddsdm       ej-                  edddf         Z4e4j1                  ddI       e4j3                  dd       e4j5                  d       e4j7                  dtddd!        edudvddwdxdZdd%*      Z5e4jG                  e5       e4jI                  dydzd{ddd.d/d/[       g d|Z6e6D ]^  \  Z-Z Z' ee-dz
  dLfdLddwdgd8dd&*      Z"e4jG                  e"       e4jI                  e-d}e d<dd.d/d/[       e4jI                  e-d2e'd~dd=d/d/[       ` ddgZ7e7D ]^  \  Z-Z Z8 ee-dz
  dLfdLddwdsdBdd&*      Z"e4jG                  e"       e4jI                  e-d}e d<dd.d/d/[       e4jI                  e-d2e8d~dd=d/d/[       `  edddcdedZdda*      Z9e4jG                  e9       e4jI                  dbdkdd~dd.d/d[       e4jI                  dbddlddd=d/d/[       dZ:e4jI                  dbd$e:dd/d/ e;ddd%d$              ejx                  dddd.d        e=d        ej|                          y)u?   
Génère un diagramme visuel de l'architecture du système IA
    N)FancyBboxPatchFancyArrowPatchArialzfont.family	   z	font.size)      )figsizeu5   🤖 ARCHITECTURE DU SYSTÈME IA - CRYPTO TRADING BOTr   boldg\(\?)fontsize
fontweighty      g?g333333?g?gffffff?gGz?)hspacewspaceleftrighttopbottomz#3498dbz#2ecc71z#e74c3cz#f39c12z#9b59b6   
   r   offu   📊 14 MODULES D'ANALYSE (GPU))r   r   pad))zAI Advanced ScorerzScore GPU 0-100)zPerformance AnalyzerzWhitelist/Blacklist)zVolatility Scoreru   Cycles réguliers)zDynamic BlacklistzAuto-blocage perdants)zMulti-Timeframeu   3 échelles temps)zVolume ProfilezZones institutionnelles)zMarket RegimezBULL/NEUTRAL/BEAR)zLong-Term Trendz	4h-8h-12h)zSmart RotationzOptimise allocation)zDynamic SL/TPzStop-Loss adaptatifs)zTime PatternzPatterns horaires)Correlationu   Corrélation secteur)zMonte Carloz1000 simulations)Ensembleu   4 modèles ML   g      ?g?gffffff?zround,pad=0.05navyg      ?)boxstyle	facecolor	edgecolor	linewidthalpha   g?z. whitecenter)r   r   colorvag      #@   r   italic)r   r&   r'   hastyleu%   🎯 12 PATTERNS D'ACHAT (Priorités))
)STRONG_UPTREND+20ptszTendance forte persistante)EARLY_BREAKOUTz+25ptsu   Début mouvement haussier)CONSOLIDATION_BREAKOUTz+22ptszSortie consolidation)EMA_BULLISHz+18ptsu   EMA9 > EMA21 confirmé)CROSSOVER_IMMINENTz+10ptszEMA proche croisement)SQUEEZE_BREAKOUTz+15ptsu   BB serrées + breakout)RSI_REVERSALr-   zRebond survente)PULLBACKVariablezCorrection saine)	CREUX_EMAr5   zEMA9 < EMA21 rebond)
BB_SQUEEZEr5   zCompression BB	darkgreen# g      @   yellow)r   r&   r'   r   g?u   🛡️ 8 FILTRES DE SÉCURITÉ))zFIN DE CYCLEzBB>0.90 + RSI>70u   Surachat extrême)ACTIVE_CRASHzMom3<-3% OU Mom5<-4%zChute brutale)STRONG_DOWNTRENDzEMA diff<-1%u   Tendance baissière)RSI_TRAPu   RSI bas + Mom négatifu   Piège continuation)zPATTERN HOLDzSignal maintenanceu   Pas d'entrée)u   EMA DIFF NÉGATIFzEMA9 < EMA21u   Tendance baissière CT)zBB POSITION < 0.20zZone trop bassezFalling knife)zDEAD CAT BOUNCEu   Tendance 4h-8h ↓u   Rebond piégédarkredg      ?u   ⚠️)r   r'   
)r   r&   r'   r*   gffffff?d      u*   🔄 FLUX DE DÉCISION (Cycle: 5 secondes)   u   1. RÉCUPÉRATION
Données   z2. EXTRACTION
50+ Features(   z3. ANALYSE
14 Modules7   z4. SCORING
0-100 pointsF   u   5. PATTERN
12 StratégiesU   u   6. FILTRES
8 Sécurités   zround,pad=0.2black)r   r   r&   r*   r'   g      @z->   )
arrowstylemutation_scaler!   r&   )rF   r#   g?2         @u   DÉCISION FINALE)rI   r   )<   rP   greenz--)rM   rN   r!   r&   	linestyleI   g      @u   Score ≥ 75)r   r&   r   u   ❌ WATCHINGorangeu   ✅ READY TO BUYH   u   🚫 BLOCKEDredu'   💯 SYSTÈME DE SCORING (0-100 points))rJ   rD      zround,pad=0.1z#34495eg      )@g      @zSCORE DE BASE
GPU Scorer))rE   zTOP 20+15)#   zWhitelist PerfrY   )-   zVol. Excellentez+20)rG   zPattern Fortz+25)A   u   Corrél. SecteurrY   g333333@   )M   	Blacklistz-50%)W   zVol. Mauvaisez-70%)rF   r   zround,pad=0.15zSEUIL D'ACHATr   g@u/  
🎯 OBJECTIF: Identifier les meilleures opportunités d'achat en temps réel
⚡ GPU: NVIDIA RTX 5060 Ti (PyTorch + CUDA 12.8)
🔄 CYCLE: Analyse toutes les 5 secondes
📊 DONNÉES: 100 bougies (prix + volume) par crypto
✅ QUALITÉ > QUANTITÉ: 1 bon trade (score 90) > 5 trades moyens (score 60)
roundlightyellow)r   r   r"   r   )r   r*   r'   bboxzai_architecture_diagram.pngi,  tightnone)dpibbox_inchesr   r    u4   ✅ Diagramme généré: ai_architecture_diagram.png)?__doc__matplotlib.pyplotpyplotpltmatplotlib.patchespatchesmpatchesr   r   numpynprcParamsfigurefigsuptitleadd_gridspecgsCOLOR_MODULECOLOR_PATTERNCOLOR_FILTERCOLOR_SCORECOLOR_DECISIONadd_subplotax1set_xlimset_ylimaxis	set_titlemodulesy_pos	enumerateinamedescbox	add_patchtextax2patternsbonusax3filters	conditionax4stepsxr   r&   lenarrowdecision_boxarrow1ax5base_boxbonus_itemspenalty_itemspenaltythreshold_box	info_textdictsavefigprintclose     ./generate_ai_diagram.py<module>r      sb	     % >  &] [  cjj" DVt  5 	a3std  D  
oob1aj! Q  Q   02&VX Y" 	 ) OA|d
#us{+Q"2#/#)SEC MM# HHQ1Rv.6X  GHHS%$,g(wh  P 
TME" 
oob1aj! Q  Q   6PV\^ _ 	'1 AeT
#us{+Q"2#0#.#SJC MM# HHQ!A#av.6X  GHHS%$,h8  HHHS%$,g(wh  P 
SLE!& 
oob1aj! Q  Q   /"UW X	 	"+G"4 Ai
#us{+Q"2#/#,GC MM# HHS%$,2(HC HHS%$,6X  GHHS%$,9+Rv 6H  B 
TME#( 
oobAh Q  Q   :RTZ`b c )<8)<8$l3&4(-8'6	 (. A1dE
!A#qsR"1#(#*asDC MM# HHQ4"h8  5 	3u:>3
U1Q3Z]3->,B*.r)*'; 	e#( gr1&5'5'.!3H l  S$rf(x 	 1 
)#'"%W
F f  S.1G O S.2X& Q S$rV T S.2Uv N 
oobAh Q  Q   7"QW]_ ` &"a"1#,#*asD h  s/"(x 	 1 " 	6NAtU
!A#q1a"1#*#.!3HC MM#HHQTA&h8  5HHQ52&xH  6	6 !
 & 	6AtW
!A#q1a"1#(#,FC MM#HHQTA&h8  5HHQ7RFxH  6	6 wC'7(3(/1CI m  S/B6(u 	 . S.2&8 	 2	 S)aH7m3CP 	 R )s1 < = 			r   