SPEC DIAGRAMĂ — buy_doji_doji_forma
===================================
tip:            DEFINIȚIE de o candelă (stil vechi permis de STYLE.md: 4 candele
                izolate, gap 92, body_w 26), fără trend, fără volum.
destinație:     summaries/17_STRATEGII/01_buy_doji.md, Pasul 3
cheie markdown: <!-- DIAGRAMA: doji_forma -->
titlu SVG:      „Ce e doji și ce nu — aceeași bară 50.10 / 49.20"

CE TREBUIE SĂ DEMONSTREZE
-------------------------
Testul „corp ≤ 10 % din range, fitil în ambele părți", pe patru candele cu
ACELAȘI high 50.10 și ACELAȘI low 49.20 (range 0.90). Diferă doar corpul.

CANDELELE (o, h, l, c) și eticheta de sub fiecare
-------------------------------------------------
A (49.60, 50.10, 49.20, 49.55)  „DA: corp 0.05 = 5.6 % din range"
B (49.62, 50.10, 49.20, 49.53)  „DA, la limită: corp 0.09 = 10 % (parametrul 10)"
C (49.80, 50.10, 49.20, 49.50)  „NU: corp 0.30 = 33 %"
D (50.05, 50.10, 49.20, 50.10)  „NU: corp mic (5.6 %), dar fără fitil sus"
Deasupra fiecărei candele: „DA" verde / „NU" roșu.
Etichete de preț pe A: „high 50.10", „low 49.20", „open 49.60", „close 49.55"
(open deasupra lui close, pentru că open > close; verifică ordinea pe axă).

ASSERT-URI
----------
1. Toate patru: h == 50.10, l == 49.20.
2. corp/range: A 0.0556, B 0.1000, C 0.3333, D 0.0556 (4 zecimale).
3. A, B: corp/range <= 0.10 și min(o,c) > l și max(o,c) < h (fitil ambele părți).
4. C: corp/range > 0.10.   D: max(o,c) == h (fitil sus zero).
5. y(open A) < y(close A) în pixeli (open mai sus pe ecran, fiindcă e preț mai mare).

SURSA
-----
- Doji: open ≈ close, corp foarte mic față de range, fitil în ambele părți:
  summaries/03_MODUL_2/13_strategia_3_byh.md:15-30 (candela 50.10/49.20/49.60/49.55
  e cea din lecție, cu cifrele sumarizatorului).
- Parametrul standard de doji pe 10 (nu 5): summaries/09_QA/28_2025-05-27.md:343-349.
- Candelele B, C, D sunt CONSTRUITE pentru contrast.
