svg_candles: cautarea nivelurilor, scoasa in functie comuna; 11 generatoare reparate

Unsprezece generatoare nu mai rulau deloc la HEAD: cautau <line x1="24", iar
svg_candles scrie x1="24.0" de cand are Level.i0. Un generator mort inseamna
ca diagrama nu mai poate fi regenerata, si nimeni n-ar fi aflat pana cand ar
fi incercat cineva, peste luni.

Cele 11 copii ale aceluiasi regex au disparut: y_niveluri() si offset_render()
se agata acum de semnatura liniei de Level (stroke-width + dasharray), nu de
x-ul ei. Caz nou in selftest, cu Level(i0=) si panou de volum - combinatia la
care varianta veche fie crapa, fie prindea tacut linia de zero a volumului.

41 de SVG-uri regenerate, toate identice cu cele comise dupa normalizarea
x1=24 -> x1=24.0, deci niciun desen n-a sarit. Verificarea asta a prins o
regresie reala: la buy_doji_transe substitutia lasase scaderea veche pe randul
urmator, offsetul se scadea de doua ori si desenul urca 92 px.

Inca doua generatoare moarte din aceeasi familie, gasite pe drum
(intrarea_cazul_lui, intrarea_doua_variante): desenau peste grafic citind
ch._y() fara offset. Nu crapau zgomotos - produceau suprapuneri la 22 px.

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-10-02 06:12:32 +00:00
parent d82e1d5ce5
commit 84f933bcfa
60 changed files with 505 additions and 444 deletions

View File

@@ -3,7 +3,7 @@
<polyline points="44.0,160.3 59.0,160.3 74.0,160.3 89.0,160.3 104.0,160.3 119.0,160.3 134.0,160.3 149.0,160.3 164.0,160.3 179.0,160.3 194.0,160.3 194.0,112.8 209.0,112.8 224.0,112.8 239.0,112.8 254.0,112.8 269.0,112.8 284.0,112.8 299.0,112.8 314.0,112.8 329.0,112.8 344.0,112.8 359.0,112.8" fill="none" stroke="#b06000" stroke-width="1.8"/>
<text x="470" y="106.8" fill="#b06000" text-anchor="end" style="font-weight:bold">pivot daily (cel MIC)</text>
<text x="24" y="48" fill="#333" style="font-weight:bold">DA — crossing (+2)</text>
<line x1="24" y1="153.9" x2="466" y2="153.9" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray=""/>
<line x1="24.0" y1="153.9" x2="466" y2="153.9" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray=""/>
<text x="452" y="147.9" fill="#1a5fb4" text-anchor="end">pivot weekly (cel MARE) 62.00</text>
<circle cx="194.0" cy="136.6" r="13" fill="none" stroke="#188a3e" stroke-width="2"/>
<text x="210.0" y="178.3" fill="#188a3e" style="font-weight:bold">crossing: 61.70 → 62.20</text>
@@ -57,7 +57,7 @@
<polyline points="44.0,117.6 59.0,117.6 74.0,117.6 89.0,117.6 104.0,117.6 119.0,117.6 134.0,117.6 149.0,117.6 164.0,117.6 179.0,117.6 179.0,127.1 194.0,127.1 209.0,127.1 224.0,127.1 239.0,127.1 254.0,127.1 269.0,127.1 284.0,127.1 299.0,127.1 314.0,127.1 329.0,127.1 344.0,127.1 359.0,127.1" fill="none" stroke="#b06000" stroke-width="1.8"/>
<text x="470" y="121.1" fill="#b06000" text-anchor="end" style="font-weight:bold">pivot daily (cel MIC)</text>
<text x="24" y="48" fill="#333" style="font-weight:bold">NU — continuare/buy the dip (+1)</text>
<line x1="24" y1="168.1" x2="466" y2="168.1" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray=""/>
<line x1="24.0" y1="168.1" x2="466" y2="168.1" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray=""/>
<text x="452" y="162.1" fill="#1a5fb4" text-anchor="end">pivot weekly (cel MARE) 62.00</text>
<line x1="44.0" y1="191.9" x2="44.0" y2="220.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="199.5" width="9" height="11.4" fill="#c00"/>

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB