TIP: PRET CHEIE: fereastra TITLU: Fereastra de 3 candele — DA (valid) vs. NU (expirat) MARCAJ .md: (Nivel 1, §1.2 Setup) CE ARATĂ Două panouri mici, unul sub altul, cu aceeași serie până la doji: - Panoul DA: doji high 50.10 / low 49.25; bara +1 închide 49.90 (sub high); bara +2 închide 50.40 (peste 50.10) => Buy Doji valid, intrare la close. - Panoul NU: doji high 50.10; barele +1, +2, +3 închid 49.95, 50.05, 49.85 (toate sub high); a 4-a bară închide 49.15, sub low-ul dojiului => setup mort. Linia high-ului dojiului (50.10) e desenată pe ambele panouri, ca reper numeric. Diferența e strict numerică, nu vizuală (`13_strategia_3_byh.md:179-180`). NIVELURILE ȘI ETICHETELE (cu trimitere) - high doji = 50.10, low doji = 49.25 (low-ul e coborât de la 49.20 ca stopul de 49.20 din pașii 5-6 să iasă SUB low, nu exact pe el): `13_strategia_3_byh.md:158-167`. - fereastra = maximum 3 candele după doji: `13_strategia_3_byh.md:151-156`. - „setup expirat, nu intri" la lipsa confirmării: `13_strategia_3_byh.md:168-176`; a 4-a sub low = „setup mort": `01_buy_doji_si_strategia_mici.md:222-225`. STRUCTURA SERIEI Panoul DA (8 candele): close-uri [52.20, 51.40, 50.60, 49.65, 49.60 (doji, h 50.10 / l 49.25), 49.90 (+1), 50.40 (+2, confirmă), 50.80] Panoul NU (9 candele): close-uri [52.20, 51.40, 50.60, 49.65, 49.60 (doji, h 50.10 / l 49.25), 49.95 (+1), 50.05 (+2), 49.85 (+3), 49.15 (a 4-a, sub low)] Fitile: doji wu=0.45/wd=0.35 ca să dea exact h=50.10, l=49.25; restul (0.15, 0.15). Serie continuă, open = close-ul precedentului. CE VERIFICĂ GENERATORUL CU assert 1. Panoul DA: primul close > 50.10 e bara +2 (index 6 din panou), adică în fereastră; close[+1] <= 50.10. 2. Panoul NU: niciun close din +1..+3 nu depășește 50.10; close[+4] < 49.25. 3. Ambele doji: abs(o-c) <= 0.10*(h-l). 4. Ambele panouri au exact aceeași serie până la doji (aceleași 5 bare). 5. Distanța în pixeli de la 50.10 la 50.40 (DA) să fie > 0 și vizibil (scara comună pe panou). ADNOTĂRI („ca la proști") - ZONĂ albastră peste barele +1..+3 pe ambele panouri, etichetă „fereastra: 3 candele". - Panoul DA: săgeată pe +1 („aici NU intri: s-a închis sub 50.10 / semnalul cere o ÎNCHIDERE peste"); săgeată din dreapta pe close-ul barei +2 („AICI INTRI, la close 50.40 / prima închidere peste / high-ul dojiului"). - Panoul NU: săgeată pe +3 („a treia s-a închis tot sub 50.10 / fereastra s-a terminat: ștergi setup-ul"); săgeată pe a 4-a („a închis sub low-ul dojiului / setup mort — nu mai intri"). - Liniile 50.10 și 49.25 și etichetele lor se desenează de mână, nu cu `Level`: eticheta din `Level` stă lipită de linie, la dreapta, și cade peste candele. Eticheta lui 50.10 e pe trei rânduri, jos-stânga: „high-ul dojiului 50.10 / trebuie ÎNCHIS peste, / nu doar atins". STIL: două `Chart`-uri în două grupuri ``; scale=60, gap=40, body_w=13, left=64, width=640, fără vol_h (nu se vorbește de volum aici). Titluri „DA — confirmare la +2, în fereastră" / „NU — nicio confirmare în 3 candele". Randare cu `ch._render()` (vezi nota din buy_doji_trend.spec.txt). Fără linie goală în SVG. Generatorul verifică singur că nicio etichetă nu iese din pânză și că două etichete din același panou nu se suprapun.