SPEC DIAGRAMĂ — buy_doji_directie
=================================
tip:            PRET, două panouri stivuite (sus weekly, jos daily) legate prin zoom
destinație:     summaries/17_STRATEGII/01_buy_doji.md, Pasul 2, după perechi_tf
cheie markdown: <!-- DIAGRAMA: directie -->
titlu SVG:      „NU: Sell Doji daily contra unui Buy Doji weekly — exemplu construit"
stil:           candele lipite (weekly gap 16, daily gap 18, body_w 9), fără volum;
                open = close anterior pe ambele panouri.

CE TREBUIE SĂ DEMONSTREZE
-------------------------
Pe weekly s-a confirmat un Buy Doji. Pe daily, în uptrend-ul care urmează,
apare un Sell Doji tehnic valid. Ca poziție short e contra direcției weekly:
prețul scade o singură zi, apoi urcă și lovește SL-ul a patra zi.

În plus (cerut de user, 20.09.2026): trebuie să se vadă **care bucată din
weekly e mărită jos**. Deci panoul daily nu e o serie separată, ci
descompunerea reală a ultimelor 3 bare weekly, iar corespondența e desenată.

CORESPONDENȚA PANOURILOR (partea nouă)
--------------------------------------
1. AGREGARE REALĂ, nu ilustrativă. Seria daily are 15 bare = 3 săptămâni x 5
   zile. Ultimele 3 bare weekly NU sunt scrise de mână: se calculează cu
   agg(zile) = (open-ul primei zile, max high, min low, close-ul ultimei zile).
   Un al doilea set de assert-uri reverifică relația pe valorile finale.
2. DREPTUNGHI DE ZOOM pe panoul weekly peste exact barele 9..11 (albastru
   #1a5fb4, fill 0.07, contur punctat), întins pe INTERVALUL DE PREȚ al
   acelor bare (nu pe toată înălțimea panoului: altfel săgeata verde de
   adnotare îl traversează orizontal), cu eticheta „ultimele 3 săptămâni,
   mărite jos" în dreapta lui. Etichetele S1/S2/S3 stau sub dreptunghi.
3. DOUĂ GHIDAJE punctate de la colțurile de jos ale dreptunghiului la
   colțurile de sus ale cadrului panoului daily (cadrul daily e desenat
   explicit, punctat, în aceeași culoare) — pâlnia de mărire.
4. ETICHETE S1/S2/S3: pe weekly, sub fiecare din cele 3 bare mărite; pe daily,
   sub fiecare grup de 5 zile, centrat. Aceleași etichete, aceeași culoare.
5. NIVELURI COMUNE: high-ul (83.90) și low-ul (83.05) ale doji-ului
   daily se desenează ca aceeași linie punctată albastră pe AMBELE panouri,
   cu numărul etichetat în gutter-ul din stânga (x=40, anchor end) la aceeași
   distanță de marginea stângă pe ambele panouri.

SERIA — panoul de jos (daily, 15 bare, (o,h,l,c)) — SURSA ADEVĂRULUI
--------------------------------------------------------------------
Barele 0-5: trend(81.30, [81.70, 82.20, 82.00, 82.60, 83.10, 83.50]), fitile 0.15.
 6  (83.50, 84.30, 83.40, 83.60)   zi de respingere sus — dă high-ul de referință
 7  doji        (83.60, 83.90, 83.05, 83.55)
 8  confirmare  (83.55, 83.65, 82.60, 82.70)   close < low doji 83.05 => Sell Doji
 9  (82.70, 82.80, 82.00, 82.25)   singura zi de scădere
10  (82.25, 83.05, 82.15, 82.95)
11  (82.95, 83.70, 82.85, 83.60)
12  (83.60, 84.45, 83.50, 84.30)   <- high 84.45 >= SL 84.35
13  (84.30, 84.95, 84.20, 84.80)
14  (84.80, 85.45, 84.70, 85.30)

SERIA — panoul de sus (weekly, 12 bare)
---------------------------------------
Barele 0-6: trend(89.0, [88.0, 86.2, 84.9, 83.1, 81.6, 80.2, 78.9]), fitile 0.15.
 7  doji     (78.90, 79.80, 77.60, 78.80)
 8  confirm  (78.80, 81.60, 78.60, 81.30)   => Buy Doji weekly, close 81.30
 9  S1 = agg(zilele 0..4)   = (81.30, 83.25, 81.15, 83.10)
10  S2 = agg(zilele 5..9)   = (83.10, 84.30, 82.00, 82.25)
11  S3 = agg(zilele 10..14) = (82.25, 85.45, 82.15, 85.30)
Daily începe exact la close-ul confirmării weekly (81.30 = open-ul zilei 0).

NIVELURI (panoul daily)
-----------------------
intrare short 82.70 (portocaliu), stop 84.35 roșu, ținta 81.05 = 1R punctată
(neatinsă — a scăzut o zi, până la 82.00). Stopul e 5 cenți peste high-ul
ultimelor 4 candele (max = 84.30 la bara 6), ca oglinda pasului 5 din capitol.
Risc 1.65; SL−intrare și intrare−TP1 sunt egale și în px (assert).
Distanțele stop↔high-doji și intrare↔low-doji sunt ținute > 0.30 printr-un
assert, altfel etichetele lor s-ar suprapune la 40 px/unitate.

SĂGEȚI (format tutorial v2: ce ȘI de ce, 1 pe weekly + 2 pe daily)
- weekly: „Buy Doji confirmat (close 81.30, peste high-ul doji-ului 79.80)" /
  „deci direcția permisă e LONG: pe daily cauți doar Buy Doji". Săgeata intră
  în bara de confirmare la un preț calculat, (high doji + low confirmare) / 2,
  care cade sub dreptunghiul albastru (assert: y-ul ei e sub marginea lui de
  jos, deci nu-l traversează).
  Blocul albastru „daily: aceleași 3 săptămâni, zi cu zi" stă sub panoul
  weekly, nu în dreptul săgeții verzi.
- daily, spre close-ul confirmării: „aici ai intrat SHORT, la 82.70: Sell Doji
  corect ca formă" / „(close sub low-ul doji-ului 83.05) — dar contra
  weekly-ului" / „a scăzut o singură zi, până la 82.00".
- daily, spre bara 12 pe linia stopului: „aici te-a scos: stopul 84.35 (5 cenți
  peste high-ul de 4 candele)," / „lovit a 4-a zi — banii mari de pe weekly
  cumpără mai departe".
Zone: verde peste doji-ul + confirmarea weekly, portocalie peste Sell Doji-ul
daily. Lățime 900.

ASSERT-URI
----------
1. open[i] == close[i-1] pe ambele panouri; h/l cuprind o/c.
2. Agregarea: pentru fiecare k, weekly[9+k] == agg(daily[5k:5k+5]) — open,
   close, max(high), min(low), verificate separat.
3. daily[0].open == weekly[8].close.
4. Doji weekly și doji daily: abs(o-c) <= 0.10*(h-l).
5. weekly close[8] > high[7]; daily close[8] < low[7].
6. SL == max(h for daily 5..8) + 0.05 == 84.35; risc == 1.65; TP1 == 81.05.
7. SL − high_doji > 0.30 și low_doji − intrare > 0.30 (anti-suprapunere).
8. min(l for daily 9..14) == 82.00 > 81.05 (TP1 neatins).
9. primul i>8 cu high >= 84.35 este 12.
10. SL−intrare == intrare−TP1 în pixeli; săgeata verde trece pe sub
    dreptunghiul de zoom și cade în interiorul barei de confirmare weekly.
11. NICIUN NUMĂR SCRIS DE MÂNĂ: fiecare text emis e etichetat cu panoul lui
    (weekly / daily / common / none); după desen, orice token \d+\.\d\d din
    orice etichetă trebuie să fie în mulțimea derivată a panoului respectiv.
    Eticheta unui panou nu poate conține prețul celuilalt panou; excepția e
    mulțimea „common" (high/low doji daily), permisă pe ambele.
12. Fiecare nivel comun apare cu EXACT același șir de două zecimale de două
    ori (o dată pe fiecare panou).
13. Fără linii goale în SVG.

VERIFICARE VIZUALĂ (20.09.2026)
-------------------------------
Randat cu chrome headless, citit ca imagine: pâlnia de ghidaje arată clar
cele 3 săptămâni mărite; 83.90 și 83.05 sunt aceeași linie, cu același număr,
pe ambele panouri; niciun text nu se suprapune și nimic nu iese din viewBox.
audit_diagrams.py: curat.

SURSA
-----
- „nu shorta împotriva unui Buy Doji weekly … Short-uri de termen scurt în
  interiorul structurii, da (el însuși a shortat 2 zile…)":
  summaries/09_QA/03_2026-08-11.md:220-223.
- summaries/08_ANALIZA_ZILNICA/01_buy_doji_si_strategia_mici.md:34-37.
- SL/TP short: summaries/03_MODUL_2/13_strategia_3_byh.md:227-232.
- Seria e CONSTRUITĂ; un singur caz nu dovedește regula, doar o ilustrează.
