"""Exemplu de referință pentru stilul „grafic real" cerut de user pe 13.09.2026. Rulează-l ca să vezi cum se construiește o serie continuă cu volum, medie mobilă și etichete ancorate. Copiază structura în generatoarele tale. vezi STYLE.md, secțiunea „Cum trebuie să arate un grafic de preț". """ import sys; sys.path.insert(0,"/workspace/atm-curs-dl") from svg_candles import Chart, Level, Mark, MA, from_closes # close-urile definesc exact structura; wick-urile fixeaza minimele/maximele closes = [113.0,111.4,109.9,110.6,108.8,107.4,106.0,106.9,105.2,104.0, # downtrend 104.6,103.2,102.4,103.8,105.0, # picior 1 (low 101.50) 104.2,103.0,101.9,101.1,102.6, # picior 2 (low 100.20) 104.1,105.2,106.8, # breakout peste 105.50 105.9,106.0, # retest 106.6,107.0] # intrare 107.00 wicks = [(0.4,0.4)]*10 + [(0.5,0.5),(0.4,0.6),(0.5,0.90),(0.6,0.4),(0.5,0.4)] \ + [(0.4,0.5),(0.4,0.6),(0.5,0.5),(0.4,0.90),(0.5,0.4)] \ + [(0.5,0.3),(0.4,0.3),(0.2,0.3)] + [(0.3,0.6),(0.4,0.4)] + [(0.3,0.3),(0.2,0.3)] vols = [46,44,41,38,52,47,44,39,48,43, 41,44,39,42,58, 47,44,40,43,70, 86,70,63, 47,44, 58,55] cds = from_closes(closes, wicks=wicks, vols=vols, start=114.4) lo1 = min(c.l for c in cds[10:15]); lo2 = min(c.l for c in cds[15:20]) peak = max(c.h for c in cds[13:15]); entry = cds[-1].c assert lo2 < lo1, (lo1, lo2) print(f"picior1 {lo1:.2f} picior2 {lo2:.2f} varf {peak:.2f} intrare {entry:.2f}") risc = entry - 104.60 print(f"risc {risc:.2f} TP1 {(117-entry)/risc:.2f}R TP2 {(124-entry)/risc:.2f}R") ch = Chart(candles=cds, levels=[Level(104.60,"SL 104.60","#c00",label_at="left"), Level(entry,f"intrare {entry:.2f}","#188a3e"), Level(117.00,"TP1 117.00 = 4.2R","#1a5fb4"), Level(124.00,"TP2 124.00 = 7.1R","#1a5fb4")], marks=[Mark(13,f"picior 1: {lo1:.2f}","#c00","below"), Mark(19,f"picior 2: {lo2:.2f} (mai jos)","#c00","below"), Mark(22,"breakout","#188a3e"), Mark(24,"retest","#b06000","below"), Mark(26,"intrare","#188a3e")], mas=[MA(20,"#b06000",dash="4 3",text="SMA-20")], scale=8.0, gap=15, body_w=9, left=44, width=620, vol_h=70, vol_label="volum", title="Disney — daily", caption="Ale lui: pretul de 107 si tintele 117 / 124. Structura si volumul sunt construite de mine, la scara.") print(ch.render())