TIP: PRET
CHEIE: bh_labu
TITLU: LABU — buy hammer la suportul monthly, +20 % în jumătate de lună (Nivel 2.5)
MARCAJ .md: <!-- DIAGRAMA: bh_labu --> (Partea A, §2.5 Exemplul complet)

CE ARATĂ
Exemplul real din material: buy hammer la suportul monthly, apoi +20 % în
jumătate de lună. Downtrend/consolidare până în suportul monthly 80.00,
hammer-ul chiar pe nivel, candela următoare confirmă și dă intrarea, apoi
urcare în ~11 bare până la +20 %.

CE E REAL ȘI CE E CONSTRUIT (obligatoriu în legendă)
- REAL: că e buy hammer la suportul monthly și **+20 % în jumătate de lună**
  (`18_2025-09-23.md:721-726`); contextul calitativ „din suportul nostru
  monthly a plecat" (`18_2025-09-23.md:725-726`).
- CONSTRUITE de sumarizator: suportul 80.00, hammer 80.80/80.90/79.60,
  intrarea și seria de prețuri — materialul **nu dă entry, SL sau TP**
  pentru acest caz (`18_2025-09-23.md:721-726`). Legenda spune exact asta.

NIVELURILE ȘI ETICHETELE (cu trimitere)
- „suport monthly 80.00" (construit).
- „hammer 80.90 / 79.60" (construit; forma conform `05_patternuri_candele.md:79-88`).
- „intrare 81.30 — close peste high-ul hammer-ului" (construit; regula din
  `05_patternuri_candele.md:99-124`).
- „+20 % în jumătate de lună" (REAL, `18_2025-09-23.md:722-723`).
- „SL sub low-ul hammer-ului 79.60" (construit; regula din
  `05_patternuri_candele.md:213`).

STRUCTURA SERIEI (38 candele daily, open = close-ul precedentului)
Etapa downtrend + consolidare (0-22):
[92.00, 90.50, 91.20, 89.40, 88.10, 88.60, 87.00, 85.80, 86.30, 84.90,
 83.60, 82.40, 83.00, 81.80, 80.70, 81.20, 80.20, 80.80, 81.50, 80.40,
 80.10, 80.60, 80.80]
   # 22 = bara dinaintea hammer-ului, close 80.80
[80.90,   # 23 = hammer: o=80.80, h=80.90, l=79.60, c=80.90 (H=C, fitil jos 1.20)
 81.30,   # 24 = confirmare, close > 80.90 => intrare 81.30
 81.90, 82.60, 83.40, 84.20, 85.10, 86.00, 87.00, 88.10, 89.30, 90.60,
 92.00, 93.50, 97.56]
   # 25..36 = 12 bare de urcare; max close 97.56 / 81.30 - 1 = +20,0 %
Mecioni: hammer 23 => o=80.80, c=80.90, wd=1.20 (low 79.60), wu=0.00;
restul (0.30, 0.40). Ajustează wick-urile ca low-ul/high-urile din asserts
să iasă exact.

CE VERIFICĂ GENERATORUL CU assert
1. low[23] == 79.60 <= 80.00 <= high[23] == 80.90  (hammer-ul stă pe suport).
2. open[23] == close[22] == 80.80; corp = 0.10; fitil jos = 1.20;
   1.20 >= 2 * 0.10; close[23] == high[23].
3. close[24] == 81.30 == intrare și close[24] > high[23] == 80.90.
4. min(low[22:25]) == 79.60 == SL-ul propus (low-ul hammer-ului).
5. max(close[25:38]) / intrare - 1 ≈ 0.20:
   round((max(close[25:38]) / intrare - 1) * 100, 1) == 20.0
   (procentul REAL al cursului). Cu 97.56 / 81.30 = 1.20000.
6. downtrend/consolidare înainte: close[23] < close[0] - 8.
7. sl < intrare < max(close[25:38]).
STIL: gap=15, body_w=9, left=44, width=760, vol_h=70; linie punctată pentru
suportul 80.00; eticheta „+20 % (cifra cursului)" lângă vârful seriei.
Legendă obligatorie: „Procentul (+20 % în jumătate de lună) și contextul
(suport monthly) sunt ale cursului (`18_2025-09-23.md:721-726`); nivelurile
de preț sunt construite de sumarizator." Fără linie goală în SVG.
