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:
@@ -52,20 +52,20 @@ Deci ai de ales între două lucruri pe care nu le poți avea pe amândouă:
|
||||
<!-- DIAGRAMA: doua_variante -->
|
||||
<svg viewBox="0 0 880 474" 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) — 15 min</text>
|
||||
<line x1="24" y1="365.0" x2="866" y2="365.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<line x1="24.0" y1="365.0" x2="866" y2="365.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="852" y="359.0" fill="#777" text-anchor="end">suport 100.00</text>
|
||||
<line x1="24" y1="371.0" x2="866" y2="371.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<line x1="24" y1="236.0" x2="866" y2="236.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<line x1="24.0" y1="371.0" x2="866" y2="371.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<line x1="24.0" y1="236.0" x2="866" y2="236.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="852" y="230.0" fill="#188a3e" text-anchor="end">A: intrare la close 102.15</text>
|
||||
<line x1="24" y1="272.0" x2="866" y2="272.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<line x1="24.0" y1="272.0" x2="866" y2="272.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="852" y="266.0" fill="#b06000" text-anchor="end">B: 1/3 = 101.55</text>
|
||||
<line x1="24" y1="290.0" x2="866" y2="290.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<line x1="24.0" y1="290.0" x2="866" y2="290.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="852" y="284.0" fill="#b06000" text-anchor="end">B: 1/2 = 101.25</text>
|
||||
<line x1="24" y1="101.0" x2="866" y2="101.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<line x1="24.0" y1="101.0" x2="866" y2="101.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="852" y="95.0" fill="#1a5fb4" text-anchor="end">TP1 A 104.40</text>
|
||||
<line x1="24" y1="209.0" x2="866" y2="209.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="2 3"/>
|
||||
<line x1="24.0" y1="209.0" x2="866" y2="209.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="2 3"/>
|
||||
<text x="852" y="203.0" fill="#1a5fb4" text-anchor="end">TP1 B (1/2) 102.60</text>
|
||||
<line x1="24" y1="173.0" x2="866" y2="173.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="2 3"/>
|
||||
<line x1="24.0" y1="173.0" x2="866" y2="173.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="2 3"/>
|
||||
<text x="852" y="167.0" fill="#1a5fb4" text-anchor="end">TP1 B (1/3) 103.20</text>
|
||||
<line x1="44.0" y1="128.0" x2="44.0" y2="158.0" stroke="#1a1a1a" stroke-width="1.2"/>
|
||||
<rect x="39.5" y="137.0" width="9" height="12.0" fill="#c00"/>
|
||||
@@ -346,15 +346,15 @@ tău.
|
||||
<!-- DIAGRAMA: cazul_lui -->
|
||||
<svg viewBox="0 0 640 514" 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) — 15 min, suport weekly</text>
|
||||
<line x1="24" y1="110.0" x2="626" y2="110.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="30" y="104.0" fill="#1a5fb4">TP1 104.30 (1:1)</text>
|
||||
<line x1="24" y1="242.0" x2="626" y2="242.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<line x1="24.0" y1="110.0" x2="626" y2="110.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="30.0" y="104.0" fill="#1a5fb4">TP1 104.30 (1:1)</text>
|
||||
<line x1="24.0" y1="242.0" x2="626" y2="242.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="612" y="236.0" fill="#188a3e" text-anchor="end">intrare la close 102.10</text>
|
||||
<line x1="24" y1="296.0" x2="626" y2="296.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="2 3"/>
|
||||
<line x1="24.0" y1="296.0" x2="626" y2="296.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="2 3"/>
|
||||
<text x="612" y="290.0" fill="#b06000" text-anchor="end">1/2 = 101.20 (B s-ar fi umplut aici)</text>
|
||||
<line x1="24" y1="368.0" x2="626" y2="368.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="30" y="362.0" fill="#777">suport weekly 100.00</text>
|
||||
<line x1="24" y1="374.0" x2="626" y2="374.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<line x1="24.0" y1="368.0" x2="626" y2="368.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="30.0" y="362.0" fill="#777">suport weekly 100.00</text>
|
||||
<line x1="24.0" y1="374.0" x2="626" y2="374.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<polyline points="108.0,164.0 124.0,173.6 140.0,184.4 156.0,200.0 172.0,215.6 188.0,233.6 204.0,257.6 220.0,280.4 236.0,302.6 252.0,321.8 268.0,313.4 284.0,318.2 300.0,313.4 316.0,299.6 332.0,280.4 348.0,274.4 364.0,246.8 380.0,227.6 396.0,208.4 412.0,188.0 428.0,178.4 444.0,166.4 460.0,148.4 476.0,137.6 492.0,125.6 508.0,107.6 524.0,98.0 540.0,88.4 556.0,75.2 572.0,70.4" fill="none" stroke="#8a3ea8" stroke-width="1.5"/>
|
||||
<polyline points="188.0,198.8 204.0,215.6 220.0,232.4 236.0,251.3 252.0,268.7 268.0,273.5 284.0,287.9 300.0,296.9 316.0,301.1 332.0,301.1 348.0,293.9 364.0,282.5 380.0,270.5 396.0,254.0 412.0,234.2 428.0,226.4 444.0,206.6 460.0,188.0 476.0,173.0 492.0,156.8 508.0,143.0 524.0,132.2 540.0,118.4 556.0,106.4 572.0,98.0" fill="none" stroke="#2a8a8a" stroke-width="1.5" stroke-dasharray="5 3"/>
|
||||
<line x1="44.0" y1="120.8" x2="44.0" y2="146.0" stroke="#1a1a1a" stroke-width="1.2"/>
|
||||
@@ -556,13 +556,13 @@ plănuită. Nu știu care din două a fost: verifică în jurnal.
|
||||
<!-- DIAGRAMA: retest_ratat -->
|
||||
<svg viewBox="0 0 660 615" 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) — 15 min</text>
|
||||
<line x1="24" y1="556.0" x2="646" y2="556.0" stroke="#c00" stroke-width="1.5" stroke-dasharray=""/>
|
||||
<line x1="24.0" y1="556.0" x2="646" y2="556.0" stroke="#c00" stroke-width="1.5" stroke-dasharray=""/>
|
||||
<text x="632" y="550.0" fill="#c00" text-anchor="end">SL 99.90</text>
|
||||
<line x1="24" y1="424.0" x2="646" y2="424.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<line x1="24.0" y1="424.0" x2="646" y2="424.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="632" y="418.0" fill="#b06000" text-anchor="end">ordin 1/3 101.55 — neumplut</text>
|
||||
<line x1="24" y1="448.0" x2="646" y2="448.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<line x1="24.0" y1="448.0" x2="646" y2="448.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="632" y="442.0" fill="#b06000" text-anchor="end">ordin 1/2 101.25 — neumplut</text>
|
||||
<line x1="24" y1="376.0" x2="646" y2="376.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<line x1="24.0" y1="376.0" x2="646" y2="376.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="632" y="370.0" fill="#188a3e" text-anchor="end">A: close 102.15</text>
|
||||
<line x1="40.0" y1="232.0" x2="40.0" y2="272.0" stroke="#1a1a1a" stroke-width="1.2"/>
|
||||
<rect x="35.5" y="244.0" width="9" height="16.0" fill="#c00"/>
|
||||
|
||||
Reference in New Issue
Block a user