diff --git a/gen/strategii/intrarea_cazul_lui.py b/gen/strategii/intrarea_cazul_lui.py
new file mode 100644
index 0000000..f377d7c
--- /dev/null
+++ b/gen/strategii/intrarea_cazul_lui.py
@@ -0,0 +1,155 @@
+"""Diagrama din `gen/strategii/intrarea_cazul_lui.spec.txt` (TIP: PRET).
+
+Trade-ul userului din A3 §2.1, reconstruit din descriere: downtrend pe 15 min
+până la suportul weekly 100.00, buy momentum pe o verde mare, intrare la
+close 102.10, imediat o roșie mare care acoperă 83% din corpul verzii, apoi
+trendul. Ieșirea userului la 102.60, înainte de TP1; vârful 105.20 după.
+Pe același grafic, nivelul 1/2 = 101.20 unde s-ar fi umplut varianta B.
+
+Toate cifrele sunt CONSTRUITE (fără ticker); mediile SMA 5 / SMA 10 sunt
+ilustrative — lecția 10 nu dă lungimile reale.
+
+Rulează:
+ python3 gen/strategii/intrarea_cazul_lui.py
+Scrie lângă el `intrarea_cazul_lui.svg`.
+"""
+import re
+import sys
+from pathlib import Path
+
+sys.path.insert(0, "/workspace/atm-curs-dl")
+from svg_candles import Chart, Level, Mark, MA, from_closes # noqa: E402
+
+OUT = Path(__file__).resolve().parent / "intrarea_cazul_lui.svg"
+
+GRAY, RED, GREEN, BLUE, ORANGE = "#777", "#c00", "#188a3e", "#1a5fb4", "#b06000"
+MA5_C, MA10_C = "#8a3ea8", "#2a8a8a"
+
+SUPORT, SL, ENTRY, HALF, TP1 = 100.00, 99.90, 102.10, 101.20, 104.30
+
+CLOSES = [
+ 103.80, 103.50, 103.60, 103.20, 102.90, 103.00, 102.60, 102.30, 101.90, 101.40, 101.00, # 0-10
+ 100.70, 100.45, 100.30, # 11-13 la suport
+ 102.10, # 14 buy momentum
+ 100.60, # 15 roșie mare
+ 101.10, 101.60, 101.90, # 16-18
+ 102.60, # 19 ieșirea userului
+ 102.90, 102.70, 103.20, 103.60, 103.40, 103.90, 104.20, 104.10, 104.60,
+ 104.90, 104.70, 105.00, 105.20, 105.00, # 20-33
+]
+assert len(CLOSES) == 34, len(CLOSES)
+
+# (sus, jos); excepțiile fixează exact low-urile/high-urile din specificație
+WICKS = [(0.12, 0.10)] * 34
+WICKS[10] = (0.10, 0.20) # low 100.80
+WICKS[11] = (0.10, 0.30) # low 100.40
+WICKS[12] = (0.10, 0.55) # low 99.90, wick sub 100.00
+WICKS[13] = (0.10, 0.20) # low 100.10
+WICKS[14] = (0.15, 0.10) # h 102.25, l 100.20
+WICKS[15] = (0.10, 0.10) # h 102.20, l 100.50
+# spec zice „candela 31 (close 105.20)", dar în lista lui 105.20 e la indexul 32;
+# vârful e pus pe bara 32, unde e de fapt close-ul 105.20.
+WICKS[31] = (0.10, 0.10) # h 105.10 < 105.20
+WICKS[32] = (0.00, 0.10) # h 105.20 = maximul
+WICKS[33] = (0.00, 0.10) # open 105.20 → high nu poate fi sub 105.20
+cds = from_closes(CLOSES, wicks=WICKS, start=104.00)
+
+R = lambda x: round(x, 2) # noqa: E731
+
+# ── assert-urile din specificație ──────────────────────────────────────────
+# 1. open == close anterior
+for a, b in zip(cds, cds[1:]):
+ assert a.c == b.o, (a.c, b.o)
+g, r = cds[14], cds[15]
+assert (R(g.o), R(g.c), R(g.h), R(g.l)) == (100.30, 102.10, 102.25, 100.20), g
+assert (R(r.o), R(r.c), R(r.h), R(r.l)) == (102.10, 100.60, 102.20, 100.50), r
+assert (R(cds[10].l), R(cds[11].l), R(cds[12].l), R(cds[13].l)) == (100.80, 100.40, 99.90, 100.10)
+# 2. SL = low 4 candele; nici verdea, nici roșia nu îl ating
+assert R(min(c.l for c in cds[10:14])) == SL
+assert g.l > SL and r.l > SL
+# 3. culori
+assert g.c > g.o and r.c < r.o
+# 4. roșia acoperă 83% din corpul verzii
+acop = (r.o - r.c) / (g.c - g.o)
+assert abs(acop - 0.83) <= 0.01, acop
+# 5. 1/2 din corp, atins de roșie
+half = (g.o + g.c) / 2
+assert R(half) == HALF and r.l <= half, (half, r.l)
+# 6. R-urile
+risc = ENTRY - SL
+assert R(risc) == 2.20 and R(ENTRY + risc) == TP1
+flot = (r.c - ENTRY) / risc
+iesire = (cds[19].c - ENTRY) / risc
+varf = (105.20 - ENTRY) / risc
+assert (R(flot), R(iesire), R(varf)) == (-0.68, 0.23, 1.41), (flot, iesire, varf)
+# 7. mediile mobile
+sma = lambda n, i: sum(CLOSES[i + 1 - n:i + 1]) / n # noqa: E731
+assert g.c > sma(5, 14) and g.c > sma(10, 14)
+assert r.c < sma(5, 15) and r.c < sma(10, 15)
+assert (R(sma(5, 15)), round(sma(10, 15), 3)) == (100.83, 101.335)
+# 8. ieșirea înainte de TP1; vârful
+assert cds[19].c < TP1 and all(c.h < TP1 for c in cds[15:20])
+assert R(max(c.h for c in cds)) == 105.20 and R(cds[32].h) == 105.20 == cds[32].c
+assert all(c.h < 105.20 - 1e-9 for c in cds[:32])
+# varianta B (doar în legendă)
+assert R(g.c - (g.c - g.o) / 3) == 101.50
+assert R(HALF - SL) == 1.30 and R(HALF + (HALF - SL)) == 102.50
+
+levels = [
+ Level(TP1, "TP1 104.30 (1:1)", BLUE, label_at="left"),
+ Level(ENTRY, "intrare la close 102.10", GREEN),
+ Level(HALF, "1/2 = 101.20 (B s-ar fi umplut aici)", ORANGE, dash="2 3"),
+ Level(SUPORT, "suport weekly 100.00", GRAY, label_at="left"),
+ Level(SL, "", RED), # eticheta SL sub linie, mai jos (0.10 sub suport)
+ Level(99.50, "", "none", dash=""), # rezervă loc sub SL pentru etichete
+]
+marks = [
+ Mark(14, "▲ buy momentum", GREEN, "above", dy=-20), # peste SMA 10
+ Mark(32, "vârf 105.20 = +1.41R", GRAY, "above"),
+]
+ch = Chart(
+ candles=cds, levels=levels, marks=marks,
+ mas=[MA(5, MA5_C), MA(10, MA10_C, dash="5 3")],
+ scale=60, gap=16, body_w=10, left=44, width=640,
+ title="Exemplu construit (fără ticker) — 15 min, suport weekly",
+)
+svg = ch.render()
+
+# barele 15 și 19 au candele lipite în stânga/dreapta: un Mark centrat le-ar
+# tăia, așa că eticheta lor stă în golul de lângă candelă (roșia: ▲ chiar sub
+# low-urile barelor 16+, peste suport; ieșirea: deasupra barelor 14-19,
+# terminată în bara 19, cu linie de legătură).
+y19 = ch._y(103.30)
+extra = [
+ f'▲ roșie mare: −0.68R flotant',
+ f'ieși aici: 102.60 = +0.23R',
+ f'',
+ f'SL 99.90 (low 4 candele)',
+ f''
+ f'── SMA 5 / - - SMA 10 ilustrative',
+]
+legend = [
+ "Exemplu construit, fără ticker. Prețurile, mediile mobile și ieșirea sunt",
+ "ilustrative; secvența (verde mare → roșie mare → trend) e cea descrisă de user.",
+ "Varianta B (ordin la 1/2 = 101.20, risc 1.30, TP1 102.50) e aritmetică pe",
+ "aceleași cifre, nu un trade din curs. 1/3 din corp = 101.50.",
+ "Close-ul roșiei (100.60): sub ambele MA (SMA 5 = 100.83, SMA 10 = 101.34).",
+]
+H0 = float(re.findall(r'viewBox="0 0 \d+ ([0-9.]+)"', svg)[0])
+extra += [f'{t}'
+ for i, t in enumerate(legend)]
+new_h = H0 + 10 + 17 * (len(legend) - 1) + 12
+svg = re.sub(r'(viewBox="0 0 \d+ )[0-9.]+(")',
+ lambda m: m.group(1) + f"{new_h:.0f}" + m.group(2), svg, count=1)
+svg = svg.replace("\n", "\n " + "\n ".join(extra) + "\n")
+svg = re.sub(r"\n ]*>", "", svg) # etichete goale (SL, rezervă)
+svg = re.sub(r"\n ]*stroke=\"none\"[^>]*/>", "", svg)
+assert "\n\n" not in svg
+
+OUT.write_text(svg, encoding="utf-8")
+print(f"scris {OUT.name}: acoperire {acop:.3f}, flotant {flot:+.2f}R, "
+ f"ieșire {iesire:+.2f}R, vârf {varf:+.2f}R, SMA5/10@15 = "
+ f"{sma(5, 15):.2f}/{sma(10, 15):.3f}")
diff --git a/gen/strategii/intrarea_cazul_lui.svg b/gen/strategii/intrarea_cazul_lui.svg
new file mode 100644
index 0000000..9ba4798
--- /dev/null
+++ b/gen/strategii/intrarea_cazul_lui.svg
@@ -0,0 +1,94 @@
+
\ No newline at end of file
diff --git a/gen/strategii/intrarea_doua_variante.py b/gen/strategii/intrarea_doua_variante.py
new file mode 100644
index 0000000..97b7ad5
--- /dev/null
+++ b/gen/strategii/intrarea_doua_variante.py
@@ -0,0 +1,155 @@
+"""Diagrama din `gen/strategii/intrarea_doua_variante.spec.txt` (TIP: PRET).
+
+Același setup cu cele două intrări pe același grafic: A la close-ul candelei
+de semnal, B la retestul de 1/3 și 1/2 din corpul ei. Un singur stop, comun
+(sub structură), și trei paranteze de risc în dreapta, la aceeași scară cu
+prețul — diferența de risc vine din intrare, nu din stop.
+
+Seria e CONSTRUITĂ (fără ticker), 32 de candele de 15 min, fără volum.
+Etichetele de sub candele (suport atins / atinge 1/3 / atinge 1/2) sunt
+desenate de mână sub linia de SL, cu linii de legătură: ca Mark-uri „below"
+ar cădea peste liniile de 1/2 și 1/3 și peste wick-ul candelei vecine.
+
+Rulează: .venv/bin/python gen/strategii/intrarea_doua_variante.py
+ -> gen/strategii/intrarea_doua_variante.svg
+"""
+import math
+import re
+import sys
+from pathlib import Path
+
+sys.path.insert(0, "/workspace/atm-curs-dl")
+from svg_candles import Chart, Level, Mark, from_closes # noqa: E402
+
+OUT = Path(__file__).resolve().parent / "intrarea_doua_variante.svg"
+GRI, ROSU, VERDE, PORT, ALB = "#777", "#c00", "#188a3e", "#b06000", "#1a5fb4"
+
+closes = [103.60, 103.35, 103.45, 103.10, 102.80, 102.90, 102.50, 102.20, 101.85, 101.95, 101.50, 101.10, # 0-11
+ 100.60, 100.40, 100.35, # 12-14 suport
+ 102.15, # 15 semnal
+ 101.70, 101.40, 101.60, # 16-18 retest
+ 102.00, 102.40, 102.30, 102.80, 103.20, 103.00, 103.50, 103.90, 104.20, 104.10, 104.50, 104.80, 105.00]
+wicks = [(0.15, 0.15)] * 12 \
+ + [(0.10, 0.15), (0.10, 0.50), (0.10, 0.15)] \
+ + [(0.15, 0.10)] \
+ + [(0.10, 0.20), (0.10, 0.20), (0.10, 0.10)] \
+ + [(0.10, 0.03)] + [(0.15, 0.12)] * 12
+assert len(closes) == len(wicks) == 32
+cds = from_closes(closes, wicks=wicks, start=103.80)
+
+# ── assert-urile din spec ───────────────────────────────────────────────────
+S = cds[15]
+for a, b in zip(cds, cds[1:]): # 1
+ assert abs(a.c - b.o) < 1e-9
+assert abs(S.o - 100.35) < 1e-9 and abs(S.c - 102.15) < 1e-9 # 2
+assert abs(S.h - 102.30) < 1e-9 and abs(S.l - 100.25) < 1e-9
+SL = min(c.l for c in cds[11:15]) # 3
+assert abs(SL - 99.90) < 1e-9 and abs(cds[13].l - SL) < 1e-9 and S.l > SL
+assert all(c.l > SL for i, c in enumerate(cds[11:15], 11) if i != 13)
+half = (S.o + S.c) / 2 # 4
+third = S.c - (S.c - S.o) / 3
+assert abs(half - 101.25) < 1e-9 and abs(third - 101.55) < 1e-9
+assert min(c.l for c in cds[16:19]) <= half and cds[16].l <= third # 5
+assert cds[16].l > half # 16 atinge doar 1/3, 17 atinge 1/2
+assert all(c.l > third for c in cds[19:]) # după retest nu mai revine la 1/3
+RISK_PER_TRADE = 50.0
+intrari = {"A": S.c, "1/3": third, "1/2": half}
+riscuri = {k: e - SL for k, e in intrari.items()} # 6
+for k, r in zip(intrari, (2.25, 1.65, 1.35)):
+ assert abs(riscuri[k] - r) < 1e-6, (k, riscuri[k])
+actiuni = {k: math.floor(RISK_PER_TRADE / r + 1e-9) for k, r in riscuri.items()}
+assert list(actiuni.values()) == [22, 30, 37], actiuni
+tp = {k: e + (e - SL) for k, e in intrari.items()} # 7
+for k, v in zip(intrari, (104.40, 103.20, 102.60)):
+ assert abs(tp[k] - v) < 1e-9, (k, tp[k])
+assert max(c.h for c in cds) >= tp["A"] # 9
+
+# ── desenul ─────────────────────────────────────────────────────────────────
+W = 880
+levels = [
+ Level(100.00, "suport 100.00", GRI),
+ Level(SL, "", ROSU), # eticheta SL e scrisă sub linie, mai jos
+ Level(S.c, f"A: intrare la close {S.c:.2f}", VERDE),
+ Level(third, f"B: 1/3 = {third:.2f}", PORT),
+ Level(half, f"B: 1/2 = {half:.2f}", PORT),
+ Level(tp["A"], f"TP1 A {tp['A']:.2f}", ALB),
+ Level(tp["1/2"], f"TP1 B (1/2) {tp['1/2']:.2f}", ALB, dash="2 3"),
+ Level(tp["1/3"], f"TP1 B (1/3) {tp['1/3']:.2f}", ALB, dash="2 3"),
+]
+ch = Chart(candles=cds, levels=levels,
+ marks=[Mark(15, "semnal: candela verde mare", VERDE, "above", dy=-14)],
+ scale=60, gap=15, body_w=9, left=44, width=W,
+ title="Exemplu construit (fără ticker) — 15 min")
+svg = ch.render()
+svg = re.sub(r'\s*]*>', "", svg) # eticheta goală a SL-ului
+y, cx = ch._y, ch._cx
+ySL = y(SL)
+
+extra = []
+def txt(x, yy, s, fill, anchor="start", bold=False):
+ st = ' style="font-weight:bold"' if bold else ""
+ extra.append(f'{s}')
+def ln(x1, y1, x2, y2, stroke, w=1.2, dash=""):
+ d = f' stroke-dasharray="{dash}"' if dash else ""
+ extra.append(f'')
+
+# eticheta SL, sub linia lui, în dreapta
+txt(W - 28, ySL + 16, f"SL {SL:.2f} = low-ul ultimelor 4 candele (comun A și B)", ROSU, "end")
+
+# etichetele de sub candele, sub linia de SL, cu linii de legătură spre wick
+R1, R2 = ySL + 16, ySL + 31
+txt(cx(13), R1, "suport atins", GRI, "middle", True)
+ln(cx(16), y(cds[16].l) + 2, cx(16), R2 - 11, PORT, 1, "2 2")
+txt(cx(16) + 4, R2, "atinge 1/3", PORT, "end", True)
+ln(cx(17), y(cds[17].l) + 2, cx(17), R1 - 11, PORT, 1, "2 2")
+txt(cx(17) - 4, R1, "atinge 1/2", PORT, "start", True)
+
+# parantezele de risc: intrare → SL, la aceeași scară cu prețul
+BX = {"A": 560, "1/3": 605, "1/2": 650}
+col = {"A": VERDE, "1/3": PORT, "1/2": PORT}
+eticheta = {"A": "A", "1/3": "B 1/3", "1/2": "B 1/2"}
+px = {}
+for k, e in intrari.items():
+ x, y0, y1 = BX[k], y(e), ySL
+ px[k] = y1 - y0
+ ln(x, y0, x, y1, col[k], 2.2)
+ ln(x - 6, y0, x + 6, y0, col[k], 2.2)
+ ln(x - 6, y1, x + 6, y1, ROSU, 2.2)
+ txt(x, y0 - 6, eticheta[k], col[k], "middle", True)
+ txt(x + 6, (y0 + y1) / 2 + 4, f"{riscuri[k]:.2f}", col[k], "start")
+# 8. scara: raportul pixelilor == raportul riscurilor, toleranță 1%
+for k in intrari:
+ assert abs(px[k] / px["A"] - riscuri[k] / riscuri["A"]) < 0.01 * riscuri[k] / riscuri["A"], k
+
+# blocul cu riscurile, sub SL, sub paranteze
+bloc = [(f"risc A {riscuri['A']:.2f} → {actiuni['A']} acțiuni la 50 $", VERDE),
+ (f"risc B 1/3 {riscuri['1/3']:.2f} → {actiuni['1/3']} acțiuni", PORT),
+ (f"risc B 1/2 {riscuri['1/2']:.2f} → {actiuni['1/2']} acțiuni", PORT)]
+for i, (s, c) in enumerate(bloc):
+ txt(530, ySL + 34 + 15 * i, s, c)
+ylegenda = ySL + 34 + 15 * len(bloc) + 12
+txt(24, ylegenda, "Exemplu construit, fără ticker. Cifrele nu vin din curs. "
+ "Risc permis 50 $ (0,5% din 10.000 $).", "#555")
+H = ylegenda + 12
+
+svg = re.sub(r'viewBox="0 0 \d+ \d+"', f'viewBox="0 0 {W} {H:.0f}"', svg)
+svg = svg.replace("\n", "\n " + "\n ".join(extra) + "\n")
+assert "\n\n" not in svg, "linie goală în SVG"
+
+# ── verificare: etichete în pânză, fără suprapuneri între ele ─────────────
+cutii = []
+for xs, ys, attrs, s in re.findall(r']*)>([^<]*)', svg):
+ x, yy = float(xs), float(ys)
+ w = len(s) * (7.0 if "bold" in attrs else 6.3)
+ x0 = x - w if 'anchor="end"' in attrs else (x - w / 2 if 'anchor="middle"' in attrs else x)
+ assert -2 <= x0 and x0 + w <= W + 2 and 0 <= yy <= H, f"în afara pânzei: {s!r}"
+ cutii.append((x0, x0 + w, yy, s))
+for i, a in enumerate(cutii):
+ for b in cutii[i + 1:]:
+ if abs(a[2] - b[2]) < 13 and a[0] < b[1] - 2 and b[0] < a[1] - 2:
+ raise AssertionError(f"texte suprapuse: {a[3]!r} / {b[3]!r}")
+
+OUT.write_text(svg + "\n", encoding="utf-8")
+print(f"SL {SL:.2f} | 1/3 {third:.2f} | 1/2 {half:.2f} | riscuri "
+ + ", ".join(f"{k} {r:.2f}→{actiuni[k]}" for k, r in riscuri.items())
+ + " | px " + ", ".join(f"{v:.1f}" for v in px.values()))
diff --git a/gen/strategii/intrarea_doua_variante.svg b/gen/strategii/intrarea_doua_variante.svg
new file mode 100644
index 0000000..293de8f
--- /dev/null
+++ b/gen/strategii/intrarea_doua_variante.svg
@@ -0,0 +1,108 @@
+
diff --git a/gen/strategii/intrarea_retest_ratat.py b/gen/strategii/intrarea_retest_ratat.py
new file mode 100644
index 0000000..bf1a798
--- /dev/null
+++ b/gen/strategii/intrarea_retest_ratat.py
@@ -0,0 +1,123 @@
+"""Diagrama din `gen/strategii/intrarea_retest_ratat.spec.txt` (TIP: PRET).
+
+Pereche pentru `intrarea_doua_variante`: aceeași serie până la candela de
+semnal inclusiv (0-15), apoi prețul nu mai coboară în corpul ei. Ordinele de
+la 1/2 și 1/3 rămân neumplute, varianta A merge la +1.7R, varianta B n-are
+poziție. Seria e construită (fără ticker), nu un trade din curs.
+"""
+import re
+import sys
+from pathlib import Path
+
+sys.path.insert(0, "/workspace/atm-curs-dl")
+from svg_candles import Chart, Level, Mark, from_closes # noqa: E402
+
+OUT = Path(__file__).resolve().parent / "intrarea_retest_ratat.svg"
+
+GREEN, RED, ORANGE, GREY = "#188a3e", "#c00", "#b06000", "#777"
+
+# ── 0-15: copiate din intrarea_doua_variante.spec.txt (aceeași serie) ───────
+CLOSES_0_15 = [103.60, 103.35, 103.45, 103.10, 102.80, 102.90, 102.50, 102.20,
+ 101.85, 101.95, 101.50, 101.10, # downtrend spre suport
+ 100.60, 100.40, 100.35, # la suport
+ 102.15] # candela de semnal
+WICKS_0_15 = [(0.15, 0.15)] * 16
+# 12-14 la suport: aceleași fitiluri ca în intrarea_doua_variante.py
+WICKS_0_15[12] = (0.10, 0.15)
+WICKS_0_15[13] = (0.10, 0.50) # low 99.90 (wick sub suportul de 100.00)
+WICKS_0_15[14] = (0.10, 0.15)
+WICKS_0_15[15] = (0.15, 0.10) # semnal: high 102.30, low 100.25
+START = 103.80 # open-ul candelei 0
+
+# ── 16-31: plecare fără pullback adânc ──────────────────────────────────────
+CLOSES_16_31 = [102.40, 102.70, 102.55, 102.95, 103.30, 103.20, 103.60, 104.00,
+ 103.85, 104.30, 104.70, 104.60, 105.10, 105.40, 105.30, 106.00]
+WICKS_16_31 = [(0.15, 0.15)] * 16
+WICKS_16_31[0] = (0.15, 0.25) # low-ul candelei 16 = 101.90
+
+cds = from_closes(CLOSES_0_15 + CLOSES_16_31, wicks=WICKS_0_15 + WICKS_16_31,
+ start=START)
+
+SL, SIG = 99.90, 15
+sig = cds[SIG]
+half = (sig.o + sig.c) / 2
+third = sig.c - (sig.c - sig.o) / 3
+entry_a = sig.c
+low_after = min(c.l for c in cds[SIG + 1:])
+r_a = (cds[31].c - entry_a) / (entry_a - SL)
+
+# ── assert-urile din specificație ───────────────────────────────────────────
+assert len(cds) == 32
+# 1. open == close-ul barei anterioare
+assert all(abs(cds[i].o - cds[i - 1].c) < 1e-9 for i in range(1, len(cds)))
+# 2. 0-15 identice cu intrarea_doua_variante (lista e copiată din spec-ul ei)
+assert abs(sig.o - 100.35) < 1e-9 and abs(sig.c - 102.15) < 1e-9
+assert abs(sig.h - 102.30) < 1e-9 and abs(sig.l - 100.25) < 1e-9
+assert abs(cds[13].l - 99.90) < 1e-9
+assert abs(min(c.l for c in cds[11:15]) - SL) < 1e-9 and sig.l > SL
+assert all(c.l > SL for i, c in enumerate(cds[11:15], 11) if i != 13)
+assert abs(half - 101.25) < 1e-9 and abs(third - 101.55) < 1e-9
+# 3. niciun ordin nu se umple
+assert low_after > 101.55, low_after
+assert abs(cds[16].l - 101.90) < 1e-9 and low_after >= 101.80
+assert abs(low_after - 101.90) < 1e-9 # „cel mai jos după semnal" e chiar candela 16
+# 4. finalul și R-ul
+assert abs(cds[31].c - 106.00) < 1e-9
+assert round(r_a, 2) == 1.71, r_a
+R_TEXT = f"+{r_a:.1f}R"
+assert R_TEXT == "+1.7R"
+# 5. candela 23 și niciun „suport" inventat în 17-23
+assert abs(cds[23].c - 104.00) < 1e-9
+MARKED = [SL, half, third, entry_a]
+assert not any(abs(c.l - p) < 1e-6 for c in cds[17:24] for p in MARKED)
+
+levels = [
+ Level(SL, "SL 99.90", RED, dash=""),
+ Level(third, f"ordin 1/3 {third:.2f} — neumplut", ORANGE),
+ Level(half, f"ordin 1/2 {half:.2f} — neumplut", ORANGE),
+ Level(entry_a, f"A: close {entry_a:.2f}", GREEN),
+]
+marks = [
+ Mark(SIG, "semnal", GREEN, "above"),
+ # dy=-16: textul stă chiar la înălțimea low-ului, între eticheta 1/3 și linia A
+ Mark(16, f"cel mai jos după semnal: {low_after:.2f}", GREY, "below", dy=-16),
+ Mark(23, "NU muți ordinul aici: sub 104.00 nu e niciun nivel", RED, "above"),
+ Mark(31, f"A: {R_TEXT} · B: 0 (fără poziție)", GREY, "above"),
+]
+
+CAPTION = ["Exemplu construit, fără ticker. «Poate să nu mai facă, poate nu mai face niciodată.»",
+ "Ai ratat trade-ul; aștepți următoarea structură."]
+ch = Chart(
+ candles=cds, levels=levels, marks=marks,
+ scale=80.0, width=660, gap=16, body_w=9, left=40,
+ title="Exemplu construit (fără ticker) — 15 min", caption=CAPTION[0],
+)
+svg = ch.render()
+
+
+def reanchor(svg, text, anchor, dx):
+ """Mark-urile ies centrate; unele trebuie să curgă într-o parte, unde e loc
+ liber (stânga lui 15: candelele 13-14 sunt jos; dreapta lui 16: toate low-urile
+ >= 102.25; stânga lui 23: toate high-urile < 104.00)."""
+ pat = re.compile(r'' + re.escape(text) + ')')
+ svg, n = pat.subn(lambda m: f'' + re.escape(CAPTION[0]) + '', svg)
+assert m
+y2 = float(m[1]) + 17
+svg = svg.replace(m[0], m[0] + f'\n {CAPTION[1]}')
+vb = re.search(r'viewBox="0 0 660 ([\d.]+)"', svg)
+assert vb
+svg = svg.replace(vb[0], f'viewBox="0 0 660 {float(vb[1]) + 17:.0f}"')
+assert svg.count("\n\n") == 0, "linie goală în SVG — rupe markdown-ul"
+OUT.write_text(svg)
+print(f"low după semnal {low_after:.2f} | A {R_TEXT} ({r_a:.4f}) | scris {OUT}")
diff --git a/gen/strategii/intrarea_retest_ratat.svg b/gen/strategii/intrarea_retest_ratat.svg
new file mode 100644
index 0000000..83d5d00
--- /dev/null
+++ b/gen/strategii/intrarea_retest_ratat.svg
@@ -0,0 +1,81 @@
+
\ No newline at end of file
diff --git a/summaries/17_STRATEGII/A3_intrarea.html b/summaries/17_STRATEGII/A3_intrarea.html
new file mode 100644
index 0000000..34613d5
--- /dev/null
+++ b/summaries/17_STRATEGII/A3_intrarea.html
@@ -0,0 +1,798 @@
+
+
+
+
+
+A3. Candela de intrare: la close sau la retest?
+
+
+
+
A3. Candela de intrare: la close sau la retest?
+
Etichete:execuție · long (short = oglinda) · swing / intraday ·
+prop / cont personal · dificultate 2 ·
+nu e o strategie: nu are trigger și setup proprii
Notă de structură: anexa nu alege între cele două variante. Materialul
+le spune pe amândouă, în contexte diferite, și nu le reconciliază. Unde
+scrie „deducție", e judecata mea, nu cursul.
+
+
+
Nivel 0 — Ideea
+
Un semnal îți spune ce, nu când
+
Săgeata de buy momentum, confirmarea unui buy doji, primul Buy pe TF mic la
+M2D: toate îți spun că acum cumpărătorii au câștigat. Niciuna nu-ți spune
+că prețul de acum e cel mai bun preț la care să cumperi.
+
Mecanismul: candela de semnal e de obicei mare, pentru că e candela în
+care cumpărătorii au împins prețul prin nivel. Close-ul ei e sus, iar
+stopul logic e jos, sub structura de dinainte (low-ul ultimelor 4 candele la
+buy doji și M2D: 03_MODUL_2/13_strategia_3_byh.md:192-193;
+17_STRATEGII/fise/m2d.md:68). Cu cât e mai mare candela, cu atât e mai
+mare distanța close→stop, adică riscul pe acțiune. Exact asta spune
+Bogdan despre buy doji-ul pe 60 min: „e inalt, ai ris [sic] mare pe asta,
+mai ales daca esti pe prop"
+(transcripts/09_Q_and_A/20_25082025.txt:207).
+
Deci ai de ales între două lucruri pe care nu le poți avea pe amândouă:
+
+
să prinzi mișcarea sigur (intri la close, plătești risc mare), sau
+
să intri ieftin (aștepți ca prețul să revină în corpul candelei,
+ plătești riscul de a nu intra deloc).
+
+
+
Diagrama e un exemplu construit, fără ticker; cifrele nu vin din curs.
+
Fraza de decizie
+
+
„Înainte de semnal hotărăsc: intru la close-ul candelei de semnal, sau pun
+ordin la 1/2 (sau 1/3) din corpul ei, cu același stop. Dacă am ales
+retestul și prețul nu revine, n-am trade — nu alerg după el."
+
+
Când întrebarea nici nu se pune
+
+
Nu ai încă semnal. Doji-ul singur e doar candidat; intri pe trigger,
+ nu pe doji (08_ANALIZA_ZILNICA/01_buy_doji_si_strategia_mici.md:820-821).
+
Candela de semnal e mică. Diferența dintre close și 1/2 din corp e de
+ câțiva cenți, iar riscul scade puțin (deducție: câștigul variantei retest
+ crește cu mărimea candelei; Bogdan leagă regula de „candela foarte mare",
+ transcripts/09_Q_and_A/20_25082025.txt:192).
+
+
+
Nivel 1 — Cele două variante
+
Aceeași candelă de semnal, două moduri de a intra. Cifrele sunt din
+diagrama de mai sus (exemplu construit): candela de semnal deschide la
+100.35 și închide la 102.15; stopul e low-ul ultimelor 4 candele, 99.90;
+risc permis 50 $ (0,5% dintr-un cont de 10.000 $, plafonul de prop din
+A1_risc.md, §1.1).
+
1.1 Tabelul comparativ
+
+
+
+
+
A. Intri la close
+
B. Aștepți retestul
+
+
+
+
+
Unde intri
+
la close-ul candelei de semnal: 102.15
+
ordin la 1/2 din corp (101.25) sau la 1/3 de sus (101.55)
+
+
+
Stop
+
low-ul ultimelor 4 candele: 99.90
+
același: 99.90 (stopul rămâne sub structură, nu se mută)
+
+
+
Risc / acțiune
+
2.25
+
1.35 la 1/2 · 1.65 la 1/3
+
+
+
Acțiuni la 50 $ risc
+
22
+
37 la 1/2 · 30 la 1/3
+
+
+
TP1 (1:1)
+
104.40
+
102.60 la 1/2 · 103.20 la 1/3
+
+
+
Ce ratezi
+
nimic din mișcare; plătești prețul cel mai sus
+
tot trade-ul, dacă prețul nu mai coboară până la ordin
+
+
+
Unde e rostită
+
regula strategiilor mecanice: buy doji, M2D, MP²
+
buy doji / MICI pe weekly-monthly; breakout de consolidare (locul crimei)
Stopul comun în varianta B: la MICI, cu intrarea în tranșe, „stop-ul rămâne
+unul singur, sub higher low", iar tranșele intră între intrare și stop
+(08_ANALIZA_ZILNICA/01_buy_doji_si_strategia_mici.md:808-810). Pentru
+buy doji simplu cu retest, materialul nu spune explicit unde stă stopul;
+l-am lăsat la regula lui de bază (low-ul a 4 candele), ca deducție.
+
1.2 Varianta A — intri la close, pas cu pas
+
+
Aștepți ca candela de semnal să se închidă. Nu intri în timp ce se
+ formează: confirmarea se evaluează pe close, nu pe un spike de câteva
+ secunde (03_MODUL_2/14_strategia_1_m2d.md:475-477).
+
Buy doji: prima candelă din următoarele 3 care închide peste high-ul
+ doji-ului; intri la close-ul ei
+ (03_MODUL_2/13_strategia_3_byh.md:152-156; exemplu cu cifre:
+ 08_ANALIZA_ZILNICA/01_buy_doji_si_strategia_mici.md:136-138).
+ MP²: „primul Buy Momentum (BIM) sau prima candelă verde după BIM
+ care închide deasupra pivotului mic"
+ (04_MODUL_3/04_strategia_2_mp_patrat.md:38-40). M2D: TF mare Buy →
+ TF mic Sell → TF mic Buy = intri (17_STRATEGII/fise/m2d.md:61); în
+ exemplul SPY, prețul de intrare e close-ul candelei de trigger, 517.78
+ (03_MODUL_2/14_strategia_1_m2d.md:333-334).
+
Stop = extrema ultimelor 4 candele, calculată înapoi de la candela de
+ confirmare (03_MODUL_2/13_strategia_3_byh.md:192-193).
+
TP1 = aceeași distanță, proiectată de la close (1:1)
+ (03_MODUL_2/13_strategia_3_byh.md:194-195).
+
Ia primul semnal. Dacă l-ai ratat, aștepți următorul; nu intri pe
+ amintirea celui vechi (03_MODUL_2/14_strategia_1_m2d.md:469-471).
+
+
1.3 Varianta B — aștepți retestul, pas cu pas
+
+
Aștepți tot închiderea candelei de semnal (fără semnal nu există
+ retest de așteptat).
+
Măsori corpul candelei și marchezi nivelurile, de la cel mai puțin adânc
+ la cel mai adânc (08_ANALIZA_ZILNICA/03_locul_crimei_si_pullback.md:186-192):
+
1/3 de sus — cumpărătorii grăbiți; pe exemplu, 101.55;
+
1/2 — retestul clasic, cel mai des citat; 101.25;
+
open-ul candelei de semnal — ultima zonă (100.35). Sursa o spune
+ pentru breakout: sub open, „breakout-ul e anulat"; că la fel se
+ anulează un buy doji sau un buy momentum e deducția mea.
+
La buy doji weekly din MICI, triajul notează și retestul
+ high-ului doji-ului ca ideal (triaj/DECIZII.md:118).
+
Pui ordinul limită la nivelul ales. Stopul rămâne cel al setup-ului.
+
Dacă prețul atinge ordinul, TP1 se calculează de la prețul tău de
+ intrare, nu de la close-ul semnalului (deducție: formula 1:1 e
+ distanța intrare→stop, 03_MODUL_2/13_strategia_3_byh.md:194-195).
+
Dacă prețul nu atinge ordinul: nu ai trade. Nu muți ordinul mai sus
+ (vezi Gotchas).
+
+
Ce spune Bogdan, cuvânt cu cuvânt (transcrierea n-are diacritice):
+
+
„Intrai full sau 1 pe 3 aici, dupa care mai intrai la 1 pe 3 si 1 pe 2,
+uite ce frumos l-a testat" — XLE pe daily, buy doji
+(transcripts/09_Q_and_A/20_25082025.txt:179)
+
„A retestat unul pe 3, unul pe 2." — SPY, buy doji după consolidare
+(transcripts/09_Q_and_A/20_25082025.txt:199)
+
„Pai ba, e inalt, ai ris [sic] mare pe asta, mai ales daca esti pe prop.
+Si atunci de asta sa intre pe unul, pe 3, unul, pe 2, pentru un ris [sic]
+mai mic." — buy doji pe 60 min
+(transcripts/09_Q_and_A/20_25082025.txt:207-208)
+
+
Atenție la cum citești sursa: sumarul sesiunii scrie „nu intri la
+închiderea lui — aștepți retestul"
+(09_QA/20_2025-08-25.md:144-145). Transcrierea e mai puțin categorică:
+la XLE spune „intrai full sau 1 pe 3 aici" și apoi retestele, adică o
+parte (sau toată poziția) la semnal și restul la retest
+(transcripts/09_Q_and_A/20_25082025.txt:179). Nu e clar din transcriere
+dacă „1 pe 3" de acolo e o treime din poziție sau nivelul de 1/3.
+
1.4 Când se aplică fiecare — ce se știe
+
+
+
+
Context
+
Ce spune materialul
+
Sursă
+
+
+
+
+
Buy doji / M2D / MP², strategiile mecanice
+
intri la close-ul candelei de trigger
+
vezi 1.2
+
+
+
Buy doji pe weekly / monthly (MICI)
+
retest la 1/3, 1/2; motivul e riscul mare pe candelele de weekly/monthly
poți să nu intri la semnal și să aștepți un close peste ambele medii mobile de pe weekly
+
L10:176-182
+
+
+
+
Pentru buy momentum în sine, materialul nu spune „aștepți retestul".
+Spune că pullback-ul e varianta pentru cine a ratat semnalul:
+
+
„Puteți să cumpărați la pullback-uri, de exemplu să spunem că ați ratat
+semnalul ăsta de buy de aici." (L10:94)
+
„dacă ați ratat semnalul ăsta, puteți să așteptați un pullback la moving
+average-uri. Să nu treacă sub moving average-ul cel puțin de sus, cel
+galben." (L10:105-106)
+
„Bineînțeles că există riscul ca prețul să se cadă, da?" (L10:97)
+
+
Retestul de aici e la mediile mobile ale indicatorului, nu la 1/2 din
+corpul candelei. Sunt două niveluri diferite de retest.
+
Există și o a treia cale, rostită o singură dată, pentru combinația
+weekly×daily: „puteți să nu intrați la semnalul de aici și să așteptați un
+semnal în care candela daily [...] se închide deasupra ambelor moving
+average pe weekly" (L10:178-182). Bogdan o descrie ca „o filtrare mai
+agresivă" (L10:209), pentru cine vrea „confirmări suplimentare și un edge
+mai mare" (L10:207-208). Nu e retest, e confirmare întârziată: intri mai
+sus, nu mai jos.
+
1.5 Checklist de tipărit
+
+
[ ] Candela de semnal s-a închis (nu te uiți la candela în formare).
+
[ ] Am hotărât înainte de semnal: A (close) sau B (retest, nivelul ___).
+
[ ] Stopul e la nivelul setup-ului: ___. Nu se mută cu varianta.
+
[ ] Riscul pe acțiune: A = close − stop; B = ordin − stop.
+
[ ] Acțiunile = risc $ / risc pe acțiune, rotunjit în jos (A1_risc.md, §1.3).
+
[ ] La B: ordin limită pus. Dacă nu se umple, nu îl mut după preț.
+
[ ] TP1 = 1:1 de la intrarea mea, nu de la close-ul semnalului.
+
+
+
Nivel 2 — Cazul tău: buy momentum la suport weekly, pe 15 minute
+
2.1 Ce s-a întâmplat, candelă cu candelă
+
Reconstruit din descriere; cifrele sunt construite, nu citite din graficul
+tău.
+
+
Diagrama e un exemplu construit, fără ticker. Prețurile, mediile mobile și
+punctul de ieșire sunt ilustrative; forma secvenței e cea descrisă.
+
+
+
+
#
+
Ce vezi pe 15 min
+
Cifre (construite)
+
+
+
+
+
1
+
downtrend până la suportul weekly
+
suport 100.00
+
+
+
2
+
candela verde mare, săgeata de buy momentum
+
open 100.30, close 102.10
+
+
+
3
+
intri la close (varianta A)
+
intrare 102.10, stop 99.90, risc 2.20, TP1 104.30
+
+
+
4
+
candela roșie mare imediat după
+
open 102.10, close 100.60, low 100.50: acoperă 83% din corpul verzii
+
+
+
5
+
frica: ai 1.50 pe minus din 2.20 risc
+
−0.68R, flotant
+
+
+
6
+
prețul se întoarce și pornește trendul
+
+
+
+
7
+
ieși repede, pe plus
+
ieșire 102.60 = +0.23R, sub TP1
+
+
+
8
+
trendul continuă fără tine
+
vârf 105.20 = +1.41R față de intrarea ta
+
+
+
+
Aceleași candele, varianta B: candela roșie trece prin 1/3 (101.50) și
+prin 1/2 (101.20). Un ordin la 1/2 s-ar fi umplut la 101.20, cu risc 1.30
+și TP1 la 102.50 (aritmetica 1:1 pe cifrele exemplului; nu e un trade din
+curs). În exemplul ăsta, candela roșie care te-a speriat pe A ar fi fost
+exact candela care umplea ordinul pe B.
+
Mediile mobile, în exemplu. Diagrama desenează două medii mobile
+ilustrative (SMA 5 și SMA 10; lungimile celor două medii ale indicatorului
+nu apar în transcriere). Candela de semnal închide peste amândouă, candela
+roșie închide sub amândouă, iar trendul pornește totuși. E un exemplu
+construit, nu o statistică: arată doar că secvența asta se poate termina
+și așa. Ce spune materialul despre ea e în 2.2.
+
2.2 Ce spune materialul despre fiecare pas
+
Suportul weekly pe un chart de 15 minute. Asta e în material, pentru
+pivoți: „de la 15 minute până la 60 inclusive o să modific pivoții în
+weekly" (transcripts/03_MODUL_2/03_3_TIMEFRAMES_SET_UP.txt:268-270;
+tabelul: 03_MODUL_2/03_timeframes_set_up.md:69-80). Dacă „suportul weekly"
+al tău e un pivot weekly (PP, S1, S2), ai pus nivelul corect pe
+timeframe-ul corect. Dacă e un suport de structură citit pe graficul weekly
+(un low vechi, o zonă), materialul nu spune pe ce timeframe îl tranzacționezi.
+
Semnalul pe 15 min, nivelul pe weekly. Perechile de timeframe ale M2D
+sunt: scalping 1×5, 3×15; day 3×15, 5×25, 5×60, 15×60; swing 60×300,
+60×daily, daily×weekly; position weekly×monthly
+(03_MODUL_2/14_strategia_1_m2d.md:461-466). Niciuna nu leagă weekly de
+15 minute. Nu e o regulă încălcată: e o combinație pe care materialul nu o
+tratează ca strategie.
+
Cel mai aproape de cazul tău e confirmarea din L10, dar merge invers:
+semnalul se formează pe TF mare (daily, cu weekly ca referință), iar
+candela de 15 sau 60 min e folosită doar ca să vezi mai devreme dacă se
+închide peste nivelul de pe weekly — „poate pe 15 și mai mare precizie"
+(L10:176-182). Acolo 15 minute e ceas, nu sursă de semnal.
+
Candela verde mare urmată de roșie mare. Materialul nu are un nume
+pentru secvența asta. Ce are e un criteriu de confirmare a trendului după
+buy: cele două medii mobile ale indicatorului devin suport, și „după buy,
+în viitor candele acestea au rămas deasupra ambelor moving average-uri.
+Asta înseamnă confirmarea trendului" (L10:67-68). Și o nuanță: „Aici s-a
+închis, de exemplu, sub moving average, dar a continuat" (L10:74). Pentru
+semnalul opus, Bogdan spune că ar fi fost „strong cu adevărat dacă această
+candle se închidea sub ambele moving average-uri" (L10:112).
+
Deducție, nu regulă: întrebarea utilă la candela roșie e unde se închide
+față de cele două medii mobile. Deasupra amândurora = pullback în regim
+de buy, criteriul din L10:67-68 e încă îndeplinit. Sub amândouă, la scurt
+timp după semnal = criteriul de confirmare al lecției nu mai e îndeplinit;
+semnalul arată mai degrabă ca o excepție decât ca o schimbare de trend.
+Sub una singură = cazul din L10:74, a continuat. Materialul nu dă un prag
+(câte candele, cât de adânc).
+
Ieșirea din frică, înainte de TP1. Neacoperit ca regulă de ieșire. Ce
+există e structura în care frica n-ar trebui să decidă: TP1 = 1:1, poziția
+în 2-3 tranșe, doar prima iese la TP1, restul pe trail
+(17_STRATEGII/fise/m2d.md:74-81; 17_STRATEGII/fise/mp2.md:104-108;
+17_STRATEGII/fise/byd_sld.md:73-80). Și workshop-ul despre anxietate
+explică mecanismul, fără regulă de ieșire: dacă stopul nu e acceptat
+înainte de intrare, fiecare apropiere de el devine frică — „Nu ai de ce să
+intri, dacă ți se pare prea mare stop-lossul"; „[anxietatea] e
+proporțională cu suma de bani pe care o pierzi"
+(transcripts/03_MODUL_2/15_15_WORKSHOP_2_CUM_GESTIONEZI_ANXIETATEA_DUPA_CE_INTRI_IN_TRANZACTII.txt:778-781).
+Recomandarea de risc din același workshop: „chiar 0,5 sau 1%" (:1083-1084).
+
Deducție: în cazul tău, varianta A a dat risc mare pe acțiune (candela
+verde mare) și flotant de −0.68R pe candela următoare. Dacă mărimea
+poziției a fost calculată din stop, suma pierdută la stop era cea
+acceptată; dacă nu, frica era proporțională cu o sumă mai mare decât cea
+plănuită. Nu știu care din două a fost: verifică în jurnal.
+
2.3 Golurile din material, pentru cazul tău
+
+
+
+
Gol
+
Ce există în loc
+
+
+
+
+
perechea nivel weekly / execuție 15 min, ca strategie
+
pivoții weekly pe 15 min (doar nivelul); confirmarea L10 (15 min ca ceas pentru un semnal de TF mare)
+
+
+
numele secvenței verde mare → roșie mare
+
criteriul mediilor mobile din L10:67-74
+
+
+
câte candele aștepți ca să consideri semnalul confirmat
+
nimic; M2D și buy doji au doar fereastra de 3 candele pentru confirmarea doji-ului, nu pentru ce vine după
+
+
+
regula de retest pentru buy momentum ca semnal proaspăt
+
pullback-ul la MA, doar pentru semnal ratat (L10:94, 105)
+
+
+
ieșirea înainte de TP1
+
tranșele + workshop-ul de anxietate
+
+
+
+
+
Gotchas
+
+
Candelă închisă, nu spike. Un puseu de câteva secunde nu înseamnă
+ spargere reală a nivelului; confirmarea se ia pe close
+ (17_STRATEGII/fise/m2d.md:113; 03_MODUL_2/14_strategia_1_m2d.md:475-477).
+ Pe 15 min, „close" înseamnă la minutul 15, nu la minutul 4.
+
Retestul nu e ultimul. Același nivel poate fi retestat a doua, chiar a
+ treia oară, iar retestul repetat „mai scoate niște retail din tranzacții"
+ (08_ANALIZA_ZILNICA/03_locul_crimei_si_pullback.md:197-205). Cu varianta
+ B, faptul că ordinul tău s-a umplut nu garantează că prețul nu mai
+ coboară o dată. De aceea stopul stă sub structură.
+
Pullback-ul poate să nu mai vină. „Poate să nu mai facă, poate nu mai
+ face niciodată." Atunci nu ai trade: nu muți ordinul mai sus, pentru că
+ un ordin mutat după preț nu mai e retest, e o intrare fără stop logic
+ (08_ANALIZA_ZILNICA/03_locul_crimei_si_pullback.md:11-12, 300-311).
+
+
+
Diagrama e un exemplu construit, fără ticker; cifrele nu vin din curs.
+
+
„Risc la jumătate" e aproximativ. Rândul 17 din A2 rezumă varianta B ca
+ „risc ~jumătate". Pe exemplul din 1.1, intrarea la 1/2 din corp dă 60% din
+ riscul variantei A (1.35 față de 2.25), nu 50%, pentru că stopul e sub
+ low-ul a 4 candele, nu la open-ul candelei de semnal. Deducție: cu cât
+ stopul e mai departe sub open, cu atât câștigul de risc e mai mic.
+
De unde măsori corpul contează. Bogdan a măsurat pe XLE și de la low,
+ și de la open: 3,16% față de 2,98%. „Nu e mare diferenta intre ele, ca asta
+ nu e asa volatil, dar e o diferenta"; pe o candelă foarte mare, contează
+ mai mult (transcripts/09_Q_and_A/20_25082025.txt:187-192). Alege o
+ singură convenție și ține-o.
+
Două feluri de „retest". La buy doji / breakout, retestul e în corpul
+ candelei (1/3, 1/2, open). La buy momentum ratat, retestul e la mediile
+ mobile ale indicatorului (L10:105-106). Nu le amesteca pe același trade.
+
Nu alerga după preț dacă semnalul weekly a plecat deja; aștepți
+ retestul de 1/3-1/2 din lumânarea mare
+ (08_ANALIZA_ZILNICA/01_buy_doji_si_strategia_mici.md:825-827).
+
+
+
Ce rămâne neconfirmat
+
+
Câte candele aștepți confirmarea după un buy momentum, înainte să
+ consideri semnalul valid sau eșuat. Materialul nu dă un prag. Pragurile
+ DA/NU din sumarul lecției 10 sunt completarea sumarizatorului, nu citat
+ din curs (03_MODUL_2/10_buysell_momentum_trigger.md:780-789).
+
Numele secvenței candelă verde mare → candelă roșie mare la semnal.
+ Nu apare în material. Singurul mecanism apropiat e criteriul mediilor
+ mobile (L10:67-74, 112), interpretat de mine.
+
Ieșirea înainte de TP1, din frică. Nicio regulă. Există structura
+ (TP1 1:1, tranșe) și mecanismul anxietății (workshop 15), nu o regulă
+ pentru „ies acum sau nu".
+
Perechea nivel weekly / execuție pe 15 min, ca strategie cu reguli.
+ Există doar regula de pivoți (15 min folosește pivoți weekly) și
+ confirmarea din L10, unde 15 min e ceas pentru un semnal de TF mare.
+
Stopul la varianta B pentru buy doji simplu. Explicit doar la MICI
+ (stop unic sub higher low). Pentru buy doji pe 60 min / daily cu retest,
+ am presupus stopul de bază (4 candele).
+
Cum intri la retest: ordin limită la nivel, sau aștepți un trigger nou
+ după atingere. Sumarul locului crimei folosește ambele în exemple
+ construite (ordin limită la 50.67: 03_locul_crimei_si_pullback.md:296;
+ trigger după retest la 51.50: :180-181); nu e o regulă rostită.
+
„1 pe 3" la XLE (transcripts/09_Q_and_A/20_25082025.txt:179):
+ nu reiese dacă e o treime din poziție sau nivelul de 1/3. De aici și
+ incertitudinea dacă Bogdan intră parțial la semnal și parțial la retest.
+
+
diff --git a/summaries/17_STRATEGII/A3_intrarea.md b/summaries/17_STRATEGII/A3_intrarea.md
index b11ad1f..fcb4bc7 100644
--- a/summaries/17_STRATEGII/A3_intrarea.md
+++ b/summaries/17_STRATEGII/A3_intrarea.md
@@ -49,7 +49,114 @@ Deci ai de ales între două lucruri pe care nu le poți avea pe amândouă:
- **să intri ieftin** (aștepți ca prețul să revină în corpul candelei,
plătești riscul de a nu intra deloc).
-
+
*Diagrama e un exemplu construit, fără ticker; cifrele nu vin din curs.*
@@ -215,7 +322,100 @@ sus, nu mai jos.
Reconstruit din descriere; cifrele sunt construite, nu citite din graficul
tău.
-
+
*Diagrama e un exemplu construit, fără ticker. Prețurile, mediile mobile și
punctul de ieșire sunt ilustrative; forma secvenței e cea descrisă.*
@@ -330,7 +530,87 @@ plănuită. Nu știu care din două a fost: verifică în jurnal.
un ordin mutat după preț nu mai e retest, e o intrare fără stop logic
(`08_ANALIZA_ZILNICA/03_locul_crimei_si_pullback.md:11-12, 300-311`).
-
+
*Diagrama e un exemplu construit, fără ticker; cifrele nu vin din curs.*
diff --git a/summaries/index.html b/summaries/index.html
index 26e2abd..a255b3d 100644
--- a/summaries/index.html
+++ b/summaries/index.html
@@ -26,6 +26,6 @@
-