datoria tehnica: garda pe dash, si PChart intr-un singur loc

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
This commit is contained in:
Claude Agent
2026-09-18 11:57:57 +00:00
parent 2c6747fe43
commit f647874a52
15 changed files with 236 additions and 432 deletions

View File

@@ -331,16 +331,20 @@ ai un nivel concret pentru stop: sub zona apărată.
<!--SVG:gap_pullback_da-->
<svg viewBox="0 0 761 484" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="48" fill="#333" style="font-weight:bold">Exemplu construit (fără ticker) — daily</text>
<line x1="666.5" y1="193.4" x2="671.5" y2="188.2" stroke="#188a3e" stroke-width="1"/>
<line x1="666.5" y1="197.0" x2="671.5" y2="202.2" stroke="#b06000" stroke-width="1"/>
<line x1="666.5" y1="236.6" x2="671.5" y2="233.2" stroke="#b06000" stroke-width="1"/>
<line x1="666.5" y1="243.8" x2="671.5" y2="247.2" stroke="#c00" stroke-width="1"/>
<line x1="36.5" y1="92.6" x2="666.5" y2="92.6" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672.5" y="96.6" fill="#1a5fb4">TP 72.50 = 2R</text>
<line x1="36.5" y1="193.4" x2="666.5" y2="193.4" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672.5" y="197.4" fill="#188a3e">intrare 66.90</text>
<text x="672.5" y="192.2" fill="#188a3e">intrare 66.90</text>
<line x1="36.5" y1="197.0" x2="666.5" y2="197.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672.5" y="211.4" fill="#b06000">sus gap 66.70</text>
<text x="672.5" y="206.2" fill="#b06000">sus gap 66.70</text>
<line x1="36.5" y1="236.6" x2="666.5" y2="236.6" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672.5" y="240.6" fill="#b06000">1/2 gap 64.50</text>
<text x="672.5" y="237.2" fill="#b06000">1/2 gap 64.50</text>
<line x1="36.5" y1="243.8" x2="666.5" y2="243.8" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672.5" y="254.6" fill="#c00">SL 64.10</text>
<text x="672.5" y="251.2" fill="#c00">SL 64.10</text>
<line x1="36.5" y1="276.2" x2="666.5" y2="276.2" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672.5" y="280.2" fill="#b06000">jos gap 62.30</text>
<line x1="44.0" y1="330.2" x2="44.0" y2="346.4" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -760,12 +764,14 @@ se execută ca ordine de vânzare și împing prețul și mai jos.
<!--SVG:rezultate_bune_da-->
<svg viewBox="0 0 767 436" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="48" fill="#333" style="font-weight:bold">Exemplu construit (fără ticker) — daily</text>
<line x1="666.5" y1="200.0" x2="671.5" y2="196.0" stroke="#188a3e" stroke-width="1"/>
<line x1="666.5" y1="206.0" x2="671.5" y2="210.0" stroke="#b06000" stroke-width="1"/>
<line x1="36.5" y1="92.0" x2="666.5" y2="92.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672.5" y="96.0" fill="#1a5fb4">TP 57.90 = 2R</text>
<line x1="36.5" y1="200.0" x2="666.5" y2="200.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672.5" y="204.0" fill="#188a3e">intrare 53.40</text>
<text x="672.5" y="200.0" fill="#188a3e">intrare 53.40</text>
<line x1="36.5" y1="206.0" x2="666.5" y2="206.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672.5" y="218.0" fill="#b06000">neckline 53.15</text>
<text x="672.5" y="214.0" fill="#b06000">neckline 53.15</text>
<line x1="36.5" y1="254.0" x2="666.5" y2="254.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672.5" y="258.0" fill="#c00">SL 51.15</text>
<line x1="44.0" y1="274.4" x2="44.0" y2="298.4" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -1265,16 +1271,20 @@ fără să dea un exemplu. Varianta de mai jos e construcția mea.
<!--SVG:condor-->
<svg viewBox="0 0 678 290" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="48" fill="#333" style="font-weight:bold">Exemplu construit (fără ticker) — daily</text>
<line x1="546.5" y1="108.0" x2="551.5" y2="104.5" stroke="#1a5fb4" stroke-width="1"/>
<line x1="546.5" y1="115.0" x2="551.5" y2="118.5" stroke="#777" stroke-width="1"/>
<line x1="546.5" y1="213.0" x2="551.5" y2="209.5" stroke="#777" stroke-width="1"/>
<line x1="546.5" y1="220.0" x2="551.5" y2="223.5" stroke="#1a5fb4" stroke-width="1"/>
<line x1="36.5" y1="80.0" x2="546.5" y2="80.0" stroke="#6a3d9a" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="552.5" y="84.0" fill="#6a3d9a">call cumpărat 56.00</text>
<line x1="36.5" y1="108.0" x2="546.5" y2="108.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="552.5" y="112.0" fill="#1a5fb4">call vândut 54.00</text>
<text x="552.5" y="108.5" fill="#1a5fb4">call vândut 54.00</text>
<line x1="36.5" y1="115.0" x2="546.5" y2="115.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="552.5" y="126.0" fill="#777">+7% implicit 53.50</text>
<text x="552.5" y="122.5" fill="#777">+7% implicit 53.50</text>
<line x1="36.5" y1="213.0" x2="546.5" y2="213.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="552.5" y="217.0" fill="#777">−7% implicit 46.50</text>
<text x="552.5" y="213.5" fill="#777">−7% implicit 46.50</text>
<line x1="36.5" y1="220.0" x2="546.5" y2="220.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="552.5" y="231.0" fill="#1a5fb4">put vândut 46.00</text>
<text x="552.5" y="227.5" fill="#1a5fb4">put vândut 46.00</text>
<line x1="36.5" y1="248.0" x2="546.5" y2="248.0" stroke="#6a3d9a" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="552.5" y="252.0" fill="#6a3d9a">put cumpărat 44.00</text>
<line x1="44.0" y1="154.2" x2="44.0" y2="168.2" stroke="#1a1a1a" stroke-width="1.2"/>