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,9 +3,9 @@
<rect x="188.3" y="146.0" width="184.0" height="317.7" fill="#c00" fill-opacity="0.08" stroke="#c00" stroke-width="1"/>
<text x="188.3" y="141.0" fill="#c00" style="font-weight:bold">1. downtrend — de asta apare în scaner</text>
<rect x="368.3" y="334.3" width="139.0" height="176.9" fill="#1a5fb4" fill-opacity="0.08" stroke="#1a5fb4" stroke-width="1"/>
<line x1="24" y1="506.1" x2="822" y2="506.1" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="500.1" fill="#1a5fb4">suport monthly 355.48</text>
<line x1="24" y1="265.9" x2="822" y2="265.9" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<line x1="24.0" y1="506.1" x2="822" y2="506.1" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30.0" y="500.1" fill="#1a5fb4">suport monthly 355.48</text>
<line x1="24.0" y1="265.9" x2="822" y2="265.9" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="808" y="259.9" fill="#1a5fb4" text-anchor="end">pivot monthly 383.74</text>
<polyline points="482.8,365.9 497.8,375.2 512.8,382.1 527.8,387.0 542.8,389.8 557.8,390.5 572.8,389.2 587.8,385.5 602.8,379.6 617.8,371.3 632.8,360.3 647.8,346.1 662.8,329.2" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="669" y="323" fill="#b06000">SMA-20</text>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB