Cele trei, toate verificate pe ecran dupa reparatie: "minimul din care a
pornit miscarea 99.80" intra sub o candela si se citea "99.8" (m2d_directie);
"2 saptamani" era acoperita de caseta de citat si se citea "2 saptaman"
(atmi_orizont); cele doua stopuri de la buy_doji_stop stateau la 12 px cu
liniile incrucisate peste etichete, iar diagrama e tocmai despre diferenta
dintre ele - acum fiecare sta la capatul propriei linii.
Doua bug-uri gasite pe drum, mai grave decat ce reparam:
1. render_html trecea SVG-urile prin markdown. In mp2_pivoti_excel cele doua
asteriscuri din formulele Excel (=2*E2-C2) deveneau un <em> pus peste
</text>, iar parserul browserului arunca restul SVG-ului: jumatate de tabel
lipsea din pagina, fara niciun semn in .md sau in audit. Acum SVG-urile sunt
scoase din calea lui markdown si puse inapoi dupa, cu assert ca nu ramane
niciun marcaj.
2. eticheta_libera nu citea <g transform>, deci la diagramele cu panouri
compara coordonate din sisteme diferite si rata suprapuneri reale. Acum
aplatizeaza translate/scale pe <g>-uri imbricate. Prima diagrama pe care a
prins-o dupa reparatie e chiar una deja comisa, din capitolul 10.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
Opt erau blocante, adica un cititor ar fi executat gresit pe cont:
- 56% era legat de o intrare la 133 care da de fapt 35,3%; cifra se propaga in
dimensionarea pozitiei. Acum spune ca 56% e rostit separat si ca raportul nu
se verifica.
- "2/3 taie jumatate din risc" era fals (29,3% vs 35,3%).
- definitia lui buy doji se contrazicea cu regula de 4 luni din acelasi
document.
- diagrama de trail arata stopul deasupra pretului: liniile traversau tot
graficul, deci in stanga stateau peste candele. Acum fiecare porneste din
swing low-ul care o declanseaza, cu cele patru swing low-uri marcate.
- linia gatului era data ca "media celor doua varfuri", ceea ce nu reproduce
63.00 pe propriul desen; e din interiorul gatului.
- singura regula mecanica de "nu intra" nu era desenata cu mecanismul ei:
panoul de volum avea bare egale de la o baza, in loc de histograma cu semn.
- "SL minim 54.17" se citea invers decat intelege textul: e pretul cel mai
sus permis, nu stopul cel mai stramt.
- lectura "TP2 vine inaintea lui TP1" era prezentata ca geometrie in doua
diagrame, desi fraza-sursa e neinteligibila si sursa sprijina la fel de bine
varianta in care se recalculeaza si TP si SL. Acum e marcata ca lectura
chiar acolo unde e folosita, cu varianta alternativa alaturi.
svg_candles are trei adaugiri optionale (Level.i0, Level.label_dy,
Chart.vol_zero) cerute de reparatiile de mai sus; selftest-ul trece si
diagramele existente nu se schimba daca nu sunt regenerate.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
Userul a respins mostra de format tutorial: prea lunga, prea multe
trimiteri in text, termeni tehnici nedefiniti, prea multe cifre fara
desen. Cerintele lui sunt acum contract in STYLE.md (FORMAT TUTORIAL v2).
Textul: 8430 -> 4190 de cuvinte. Nivel 1 (din avion, cu mini-glosar) ->
nivel 2 (6 pasi mecanici, o diagrama fiecare) -> oglinda short -> nivel 3
(rafinari). Trimiterile fisier:linie ies din corp si se aduna la final,
cu legenda de prescurtari. Doua tabele in tot documentul.
Toate cele 14 diagrame refacute: zone dreptunghiulare de evidentiere si
sageti care spun si de ce, nu doar ce. svg_candles primeste Zone si
Arrow; render() nu mai muta obiectul la iesire.
Trei corecturi de continut:
- un singur trade prin toata procedura (doji 50.10/49.25, intrare 50.40,
stop 49.20, 1R 1.20, TP1 51.60); seria e acum o functie comuna,
importata de stop/transe/iesire
- short: stopul urca la 100.15, ca sa fie deasupra maximului cum cere
regula oglindita; cifra cursului ramane in text ca observatie
- LABU: trei minime dar doua atingeri ale pivotului 86.00, ceea ce
impaca "triple bottom" cu "al doilea test", ambele din transcriere
Reparat si bug-ul vechi din buy_doji_sell.svg: titlul peste eticheta
dojiului.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
Garda: `Level(p, text, color, "left")` punea tacut "left" in `dash` in loc
de `label_at`, iar SVG-ul iesea fara linie punctata si fara nicio eroare -
trei agenti au pierdut timp pe asta pe 13.09. Acum `__post_init__` crapa
cu mesaj care spune ce argument voiai. Verificat pe cazurile valide si pe
cele doua gresite.
PChart: era copiat in cinci generatoare, iar copiile divergisera - toate
cinci aveau hash-uri diferite si patru pastrau `spread()` cel vechi.
Nucleul comun trece in gen/pchart.py; 385 de linii sterse, 11 adaugate.
az_executie.py isi pastreaza PChart-ul: varianta lui calculeaza mediile
dintr-un istoric dinainte de bara 0 si si le deseneaza singura. Unirea
celor doua comportamente ca sa scap de un fisier ar fi riscat cele 10
diagrame de acolo, pentru zero castig. Ia doar `spread` reparat.
Reparatia schimba 4 documente, deci PROGRESS gresea cand spunea ca nicio
diagrama comisa nu sufera de bug: 08 si 10 se misca cu 0,2 px, dar 07 si
09 aveau etichete la 6 px de linia lor. Verificat cu ochii pe 3 diagrame
randate - etichetele stau acum pe linia lor, cu liniuta de legatura unde
a trebuit mutata. audit_diagrams: 0 probleme.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
Userul a cerut ca diagramele de pret sa arate ca un grafic real (TradingView):
linie continua de pret si volum, ca sa se vada trendul. Candelele izolate cu
spatii mari nu spun nimic despre trend.
Adaugat in svg_candles.py:
- from_closes() / walk(): serii continue, open = close-ul barei anterioare,
cu structura controlata exact din close-uri
- panou de volum (vol_h), bare colorate pe directia candelei
- MA: medii mobile calculate din close-uri
- Mark: etichete ancorate pe candele anume (la 30 de bare, tag-urile per
candela se suprapun)
- title, Level.label_at
- selftest extins: volum proportional, serie fara goluri, structura pastrata
STYLE.md: regula noua, cu cele doua stiluri (serie de 25-45 de bare pentru
orice grafic de pret; stilul vechi de 3-6 candele doar pentru definitii de
pattern-uri de o candela) si obligatia de assert in generator.
gen/exemplu_grafic_real.py: referinta de copiat.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MtSTyTmt6AbCL9j5ajEDm1
Semnalat de user: diagramele nu erau proportionale cu textul si patternurile
erau doar prezentate, fara sa spuna ce fac si cand se tranzactioneaza.
Verificat numeric, erau reale:
- hammer: entry->SL 75 px/unitate, entry->TP(2R) 41 px/unitate
- engulfing: 110 vs 17.5 px/unitate
- morning star: 82 vs 10.6 px/unitate
- marubozu bull: eticheta de open pusa deasupra celei de close (axa inversata)
- etichete taiate de viewBox si suprapuse
Fix:
- svg_candles.py - generator care calculeaza coordonatele din preturi, cu o
singura scara pe desen. Are selftest care verifica exact cazul de mai sus.
- gen/patternuri_candele.py - regenereaza fisierul intreg; diagramele nu se
mai editeaza de mana
- fiecare pattern are acum: ce arata, ce s-a intamplat mecanic, DE CE il
urmaresti, CE FACI cand il vezi, trigger DA/NU, si trade complet unde e cazul
- adaugate explicatii practice unde lipseau complet: inverted hammer, hanging
man, shooting star, spinning top, harami, marubozu (comparatia de risc la
intrare directa vs retest midpoint), abandoned baby, piercing line,
three white soldiers
- STYLE.md: regula de generare + verificarea automata de scara
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MtSTyTmt6AbCL9j5ajEDm1