SPEC DIAGRAMĂ — buy_doji_iesire
===============================
tip:            PRET, două panouri stivuite
destinație:     summaries/17_STRATEGII/01_buy_doji.md, pasul cu ieșirea
cheie markdown: <!-- DIAGRAMA: iesire -->
titluri SVG:    A „prima treime la țintă, a doua pe trailing stop";
                B „limita de 8 candele: nici ținta, nici stopul"
serie:          `buy_doji_ansamblu.serie()` — A: barele 10-28; B: barele 10-16
                plus 8 bare construite.

PANOUL A — ieșirea în trepte
----------------------------
Intrare 50.40, stop 49.20, 1R = 1.20.
- ținta 1 51.60 atinsă la bara 19: iese prima treime (+1R);
- bara 21 deschide cu gap (low 51.95 > high[20] 51.85): linia de trailing stop
  se așază la 51.95;
- bara 27, alt gap (low 52.60 > high[26] 52.55): linia urcă la 52.60;
- bara 28 închide la 52.30, sub linie: iese a doua treime, +1.58R;
- a treia treime rămâne mai departe, cu stopul la intrare (break-even).
Adnotări: zonă verde de la intrare la țintă, zonă albastră pe porțiunea de
trail, linia de trail desenată în trepte, patru săgeți (ținta atinsă, primul
gap, al doilea gap, ieșirea).

PANOUL B — limita de 8 candele
------------------------------
Aceleași bare până la confirmare, apoi 8 bare construite, close-uri 50.60,
50.30, 50.90, 50.50, 51.10, 50.80, 51.20, 50.70 (fitile 0.15, open = close
anterior). Niciuna nu atinge ținta 51.60 sau stopul 49.20 (max high 51.35, min
low 50.15). La close-ul celei de-a 8-a ieși oricum: 50.70 = +0.25R.
Adnotări: zonă gri între stop și țintă peste cele 8 bare, numerotate 1..8, și o
săgeată: „banii blocați aici lipsesc din alt trade".

ASSERT-URI
----------
A1. regula de trail, calculată pe serie, dă [(21, 51.95), (27, 52.60)];
    barele 21 și 27 au low peste high-ul barei precedente (gap-uri reale).
A2. niciun close între bara 21 și ieșire nu e sub 51.95 (n-ar fi ieșit mai devreme).
A3. ieșirea: close 52.30 la bara 28, sub 52.60; (52.30 - 50.40) / 1.20 == 1.58.
A4. ținta 51.60 e atinsă prima dată la bara 19 (bara 18 nu o atinge).
B1. open[i] == close[i-1] pe toată seria; exact 8 bare după intrare.
B2. toate cele 8 au high < 51.60 și low > 49.20; max high 51.35, min low 50.15.
B3. ieșire 50.70; (50.70 - 50.40) / 1.20 == 0.25.
B4. niciun text nu iese din pânză.

SURSA
-----
- Trail: low-ul barei cu low peste high-ul precedentei; ieși la close sub el:
  summaries/03_MODUL_2/13_strategia_3_byh.md:196-200.
- Trei poziții (1/3 la țintă, 1/3 pe trail, 1/3 mai departe): :204-213.
- Limita de 8 candele: :201-202.
- Barele de după intrare din panoul B sunt CONSTRUITE.

LIZIBILITATE
------------
- Panoul A: textul săgeții roșii („prima închidere sub linie") stă mult la
  dreapta (dx 250), altfel tija ei trece peste textul portocaliu al gap-ului.
- Panoul B: numerele 1-8 ale candelelor NU se pun ca `Candle.tag` — Chart le
  desenează sub tot panoul, la ~90 px de barele pe care le numără. Se desenează
  manual, pe un rând comun la 18 px sub cel mai jos low al celor 8.
