buy_doji: reparatiile de diagrame din verificare (11 puncte)

doji_forma nu mai foloseste 49.20 ca low al dojiului — era fix pretul
stopului, in prima diagrama pe care o vede un incepator. Bara e pe
50.10/49.25, cu procentele recalculate.

LABU: stopul e etichetat "pe cel mai jos dintre cele trei minime", nu
"sub minime"; zonele arata doua teste ale pivotului, cu "revenire peste
pivot 88.90" intre ele; numarul barei a iesit din desen, nota spune
"a 6-a bara dupa intrare", derivat din serie.

perechi_tf nu mai pune pretul TF-ului mare pe panoul TF-ului mic. aplus
nu mai numeste un nivel care nu e desenat. directie nu mai zice
"saptamanile" pe un panou daily. sell acopera toata cresterea, 14 bare.

transe: cele trei sageti nu mai converg intr-un ghem — fiecare are linia
ei cu pretul la capat; linia de intrare e desenata, ca parantezele de
risc sa plece de undeva. locatie arata 49.25, cifra din care iese 0,51 %.
stop si iesire: linii si sageti care taiau texte, mutate.

Jumatate din probleme erau aceeasi greseala: un pret scris de mana intr-o
eticheta, ramas in urma cand se schimba seria. Sunt acum aserttiuni care
o fac imposibila; PROGRESS.md spune care merita generalizata.

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-19 21:33:15 +00:00
parent f71cbf5a86
commit a92a12a65c
31 changed files with 888 additions and 658 deletions

View File

@@ -75,8 +75,9 @@ ch_a = Chart(
where="below", price=steps[0][1], color=ORANGE, dx=130, dy=40),
Arrow(steps[1][0] - S, "încă un gap: linia urcă la 52.60\nurcă doar, nu coboară niciodată",
where="above", price=steps[1][1], color=ORANGE, dx=150),
# dx mare: cu dx=110 tija săgeții trecea peste textul portocaliu al gap-ului
Arrow(iesire - S, "prima închidere sub linie: ieși\ncu a doua treime, la 52.30 (+1.58R)",
where="below", price=EXIT_A, color=RED, dx=110, dy=96),
where="below", price=EXIT_A, color=RED, dx=250, dy=96),
],
title="A — prima treime la țintă, a doua pe trailing stop",
**common,
@@ -95,8 +96,6 @@ ch_b = Chart(
title="B — limita de 8 candele: nici ținta, nici stopul",
**common,
)
for k, c in enumerate(opt, 1):
c.tag = str(k)
def panou(ch, sus_de=0.0):
@@ -131,10 +130,16 @@ extra_a.append(f'<text x="24" y="{Y(SL) + 100:.1f}" fill="{GREY}">A treia treime
h_a = max(h_a, Y(SL) + 112)
body_b, h_b, bx, by = panou(ch_b, h_a + VGAP)
y_num = ch_b._y(min(c.l for c in opt)) + by + 18 # un singur rând, lipit de bare
extra_b = [
f'<text x="{ch_b._cx(cf + 1) + bx - 6:.1f}" y="{ch_b._y(TP1) + by - 8:.1f}" fill="{GREY}" '
f'style="font-weight:bold">8 candele în care nu se întâmplă nimic</text>',
]
for k, c in enumerate(opt, 1):
col = GREEN if c.c >= c.o else RED
extra_b.append(f'<text x="{ch_b._cx(cf + k) + bx:.1f}" y="{y_num:.1f}" fill="{col}" '
f'text-anchor="middle" style="font-weight:bold">{k}</text>')
assert y_num - (ch_b._y(min(c.l for c in opt)) + by) <= 24, "numerele stau prea departe de bare"
H = h_b + 8
svg = "\n ".join([
f'<svg viewBox="0 0 {W} {H:.0f}" xmlns="http://www.w3.org/2000/svg" '