strategii: diagramele puse in capitole

36 din 37 de diagrame substituite in .md. substituie.py accepta acum si
cheia cu slug inclus (unii agenti au scris mp2_exemplu, altii exemplu) si
marcajul indentat. A ramas mdsrt_aplus: agentul a raportat OK fara sa scrie
niciun fisier — exact capcana din CLAUDE.md, un raport de agent nu e dovada.
Relansat separat.

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-18 19:34:11 +00:00
parent 01599d2e9d
commit ccfc4a7f7f
25 changed files with 5821 additions and 60 deletions

View File

@@ -132,7 +132,7 @@ PW = 560
ch_a = Chart(
candles=cds_a,
levels=[Level(SUP_A, f"suport quarterly {SUP_A:.2f}", GRAY, label_at="left"),
Level(SL_A, f"SL {SL_A:.2f}", RED, label_at="right"),
Level(SL_A, f"SL {SL_A:.2f} (peste suport)", RED, label_at="right"),
Level(entry_a, f"intrare {entry_a:.2f}", GREEN, label_at="left"),
Level(NECK_A, f"neckline {NECK_A:.2f}", ORANGE, label_at="right"),
Level(TP1_A, f"TP1 {TP1_A:.2f} = 1:1", BLUE, label_at="right")],
@@ -143,7 +143,7 @@ ch_a = Chart(
scale=7.5, gap=15, body_w=9, left=44, width=PW, vol_h=64,
vol_label="volum", title="A+ — crossing la confluență (SPY, aprilie)",
trend="down",
caption="Confluență: suport 554.00 + double bottom 554.45 + neckline 578.00",
caption="Confluență: 554.00 + double bottom + neckline 578.00 · 1R 22.60",
)
ch_m = Chart(
candles=cds_m,
@@ -258,7 +258,8 @@ for i in range(len(all_txt)):
raise AssertionError(f"texte suprapuse: {si!r} / {sj!r}")
# etichetele cerute de spec există în desen
for cheie in ("suport quarterly 554.00", f"SL {SL_A:.2f}", "intrare 577.00",
for cheie in ("suport quarterly 554.00", f"SL {SL_A:.2f} (peste suport)", "intrare 577.00",
"crossing", "1R 22.60",
"neckline 578.00", "TP1 599.60 = 1:1",
f"umăr stâng {ls_a:.0f}", f"head {head_a:.0f}", f"umăr drept {rs_a:.0f}",
"A+ — crossing la confluență (SPY, aprilie)",

View File

@@ -3,7 +3,7 @@
<line x1="24" y1="454.0" x2="546" y2="454.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="448.0" fill="#777">suport quarterly 554.00</text>
<line x1="24" y1="451.0" x2="546" y2="451.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="532" y="445.0" fill="#c00" text-anchor="end">SL 554.40</text>
<text x="532" y="445.0" fill="#c00" text-anchor="end">SL 554.40 (peste suport)</text>
<line x1="24" y1="281.5" x2="546" y2="281.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="275.5" fill="#188a3e">intrare 577.00</text>
<line x1="24" y1="274.0" x2="546" y2="274.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
@@ -117,7 +117,7 @@
<text x="299.0" y="468.0" fill="#c00" text-anchor="middle" style="font-weight:bold">head 555 / double bottom</text>
<text x="344.0" y="335.0" fill="#777" text-anchor="middle" style="font-weight:bold">umăr drept 568</text>
<text x="374.0" y="263.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">crossing</text>
<text x="24" y="574" fill="#555">Confluență: suport 554.00 + double bottom 554.45 + neckline 578.00</text>
<text x="24" y="574" fill="#555">Confluență: 554.00 + double bottom + neckline 578.00 · 1R 22.60</text>
</g><g transform="translate(592,38)">
<text x="24" y="48" fill="#333" style="font-weight:bold">Mediocru — crossing în mijlocul range-ului (construit)</text>
<line x1="24" y1="56.0" x2="546" y2="56.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -117,7 +117,7 @@ def render_pivot_panel(cds, pivots, title) -> tuple[str, float, Chart]:
"""Randază un panou cu pivot weekly (Level) + pivot daily (polilinie injectată)."""
ch = Chart(candles=cds,
levels=[Level(WEEKLY, f"pivot weekly (cel MARE) {WEEKLY:.2f}",
BLUE, dash="", label_at="left")],
BLUE, dash="", label_at="right")],
marks=[],
scale=SCALE, gap=15, body_w=9, left=44, width=W,
title=title)
@@ -145,26 +145,30 @@ circle = (f'<circle cx="{xc:.1f}" cy="{yc:.1f}" r="13" fill="none" '
f'stroke="{GREEN}" stroke-width="2"/>')
cross_txt = (f'<text x="{xc + 16:.1f}" y="{ch_da._y(PDA[cross_da - 1]) + 18:.1f}" '
f'fill="{GREEN}" style="font-weight:bold">crossing: 61.70 → 62.20</text>')
mark_txt = (f'<text x="{ch_da._cx(trigger):.1f}" y="{ch_da._y(cds_da[trigger].h) - 10:.1f}" '
f'fill="{GREEN}" text-anchor="middle" style="font-weight:bold">'
f'intrare: trigger (prima candelă verde)</text>')
mark_txt = (f'<text x="{ch_da._cx(trigger) + 4:.1f}" y="{ch_da._y(cds_da[trigger].h) - 10:.1f}" '
f'fill="{GREEN}" text-anchor="end" style="font-weight:bold">'
f'intrare: trigger</text>')
i = body_da.rindex("</text>") + len("</text>") # după candele/marks, ca să fie vizibile
body_da = body_da[:i] + "\n " + circle + "\n " + cross_txt + "\n " + mark_txt + body_da[i:]
# panoul NU: eticheta din spec pe semnalele ulterioare
body_nu, h_nu, ch_nu = render_pivot_panel(
cds_nu, PNU, "NU — continuare/buy the dip (+1)")
body_nu = body_nu.rstrip() + (f'\n <text x="{ch_nu._cx(13):.1f}" y="{h_nu - 12:.1f}" '
f'fill="{GRAY}" text-anchor="middle" style="font-weight:bold">'
f'semnale ulterioare = BUY THE DIP, nu crossing</text>')
body_nu = body_nu.rstrip() + (
f'\n <text x="24" y="68.0" fill="{GRAY}">'
f'fără crossing nou; nu a mai căzut sub pivotul mare</text>'
f'\n <text x="{ch_nu._cx(13):.1f}" y="{h_nu - 12:.1f}" '
f'fill="{GRAY}" text-anchor="middle" style="font-weight:bold">'
f'semnale ulterioare = BUY THE DIP, nu crossing</text>')
# ------------------------------------------------- lipirea celor două panouri
CAPS = [
"Pivot weekly 62.00 = linia orizontală (pivotul MARE).",
"Pivot daily (cel MIC) se recalculează zilnic și sare pe nivel nou.",
"Crossing = pivotul mic traversează 62.00 în sus.",
"Fără re-încrucișare, semnalele ulterioare sunt buy the dip,",
"nu crossing.",
"Trigger = prima candelă verde după crossing,",
"care închide peste pivotul daily.",
"Crossing = pivotul mic traversează 62.00 în sus; fără re-încrucișare,",
"semnalele ulterioare sunt buy the dip, nu crossing.",
]
cap_top = h_da + VGAP + h_nu + 16
H = cap_top + 17 * len(CAPS) + 10

View File

@@ -1,13 +1,13 @@
<svg viewBox="0 0 480 671" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<svg viewBox="0 0 480 688" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<g transform="translate(0,0)">
<polyline points="44.0,182.3 59.0,182.3 74.0,182.3 89.0,182.3 104.0,182.3 119.0,182.3 134.0,182.3 149.0,182.3 164.0,182.3 179.0,182.3 194.0,182.3 194.0,134.8 209.0,134.8 224.0,134.8 239.0,134.8 254.0,134.8 269.0,134.8 284.0,134.8 299.0,134.8 314.0,134.8 329.0,134.8 344.0,134.8 359.0,134.8" fill="none" stroke="#b06000" stroke-width="1.8"/>
<text x="470" y="128.8" fill="#b06000" text-anchor="end" style="font-weight:bold">pivot daily (cel MIC)</text>
<text x="24" y="48" fill="#333" style="font-weight:bold">DA — crossing (+2)</text>
<line x1="24" y1="153.9" x2="466" y2="153.9" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray=""/>
<text x="30" y="147.9" fill="#1a5fb4">pivot weekly (cel MARE) 62.00</text>
<text x="452" y="147.9" fill="#1a5fb4" text-anchor="end">pivot weekly (cel MARE) 62.00</text>
<circle cx="194.0" cy="158.6" r="13" fill="none" stroke="#188a3e" stroke-width="2"/>
<text x="210.0" y="200.3" fill="#188a3e" style="font-weight:bold">crossing: 61.70 → 62.20</text>
<text x="209.0" y="85.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">intrare: trigger (prima candelă verde)</text>
<text x="213.0" y="85.0" fill="#188a3e" text-anchor="end" style="font-weight:bold">intrare: trigger</text>
<line x1="44.0" y1="201.4" x2="44.0" y2="229.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="209.0" width="9" height="11.4" fill="#c00"/>
<line x1="59.0" y1="212.8" x2="59.0" y2="244.1" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -58,7 +58,7 @@
<text x="470" y="143.1" fill="#b06000" text-anchor="end" style="font-weight:bold">pivot daily (cel MIC)</text>
<text x="24" y="48" fill="#333" style="font-weight:bold">NU — continuare/buy the dip (+1)</text>
<line x1="24" y1="168.1" x2="466" y2="168.1" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray=""/>
<text x="30" y="162.1" fill="#1a5fb4">pivot weekly (cel MARE) 62.00</text>
<text x="452" y="162.1" fill="#1a5fb4" text-anchor="end">pivot weekly (cel MARE) 62.00</text>
<line x1="44.0" y1="191.9" x2="44.0" y2="220.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="199.5" width="9" height="11.4" fill="#c00"/>
<line x1="59.0" y1="189.0" x2="59.0" y2="220.4" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -103,10 +103,12 @@
<rect x="339.5" y="63.6" width="9" height="14.2" fill="#188a3e"/>
<line x1="359.0" y1="56.0" x2="359.0" y2="77.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="63.6" width="9" height="4.8" fill="#c00"/>
<text x="24" y="68.0" fill="#777">fără crossing nou; nu a mai căzut sub pivotul mare</text>
<text x="239.0" y="234.0" fill="#777" text-anchor="middle" style="font-weight:bold">semnale ulterioare = BUY THE DIP, nu crossing</text></g>
<text x="24" y="576" fill="#555">Pivot weekly 62.00 = linia orizontală (pivotul MARE).</text>
<text x="24" y="593" fill="#555">Pivot daily (cel MIC) se recalculează zilnic și sare pe nivel nou.</text>
<text x="24" y="610" fill="#555">Crossing = pivotul mic traversează 62.00 în sus.</text>
<text x="24" y="627" fill="#555">Fără re-încrucișare, semnalele ulterioare sunt buy the dip,</text>
<text x="24" y="644" fill="#555">nu crossing.</text>
<text x="24" y="610" fill="#555">Trigger = prima candelă verde după crossing,</text>
<text x="24" y="627" fill="#555">care închide peste pivotul daily.</text>
<text x="24" y="644" fill="#555">Crossing = pivotul mic traversează 62.00 în sus; fără re-încrucișare,</text>
<text x="24" y="661" fill="#555">semnalele ulterioare sunt buy the dip, nu crossing.</text>
</svg>

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@@ -0,0 +1,315 @@
#!/usr/bin/env python3
"""Foaie de Excel stilizată: pivoții clasici calculați din OHLC, pas cu pas,
și comparația PP zilnic vs. PP săptămânal (crossing).
Pentru `strategii/02_mp2.md`, Transfer — Pe BVB, subsecțiunea „Pivoții în
Excel". Spec: `gen/strategii/mp2_pivoti_excel.spec.txt`.
Nu e grafic de preț (TIP: CONCEPT) — SVG scris de mână, doar stdlib; nu se
folosește svg_candles / pchart. Nu sunt candele, e un tabel.
Ce arată:
- titlul „Pivoții clasici în Excel — formula, pas cu pas";
- un tabel cu coloanele Perioada | High | Low | Close | PP | R1 | S1 | R2 | S2,
cu literele de coloană (A..I) și numerele de rând Excel (1..3), ca formulele
=(B2+C2+D2)/3 etc. să aibă sens;
- două rânduri de date: „Săptămâna încheiată (PPW)" și „Ziua încheiată (PPD)",
fiecare celulă de calcul arătând formula ȘI rezultatul;
- sub tabel, rândul de comparație evidențiat:
„PPD 21.57 > PPW 21.37 → CROSSING BULL (long)";
- legenda că cifrele sunt un exemplu construit, pe TLV, nu date reale.
Valorile și formulele vin din spec (CIFRE ȘI FORMULE); toate assert-urile
cerute de spec sunt scrise ca assert reale mai jos.
Rulare: python3 gen/strategii/mp2_pivoti_excel.py -> mp2_pivoti_excel.svg
"""
from pathlib import Path
from xml.sax.saxutils import escape, unescape
OUT = Path(__file__).with_suffix(".svg")
W, H = 700, 444
BLACK, GRAY, BLUE, GREEN, RED, ORANGE, WHITE = (
"#000000", "#777777", "#1a5fb4", "#188a3e", "#c00", "#b06000", "#ffffff")
BORDER = "#333333"
GRID = "#c9d2dc"
HDR_BG = "#eef1f5"
ALT_BG = "#fafbfc"
# ---------------------------------------------------------------- date (spec)
# Săptămâna încheiată: H=22.00, L=20.50, C=21.60 (row 2)
# Ziua încheiată: H=21.90, L=21.00, C=21.80 (row 3)
WH = (22.00, 20.50, 21.60)
DH = (21.90, 21.00, 21.80)
PPW = (WH[0] + WH[1] + WH[2]) / 3
PPD = (DH[0] + DH[1] + DH[2]) / 3
# derivate standard: R1=2*PP-Low, S1=2*PP-High, R2=PP+(High-Low), S2=PP-(High-Low)
W_R1, W_S1 = 2 * PPW - WH[1], 2 * PPW - WH[0]
W_R2, W_S2 = PPW + (WH[0] - WH[1]), PPW - (WH[0] - WH[1])
D_R1, D_S1 = 2 * PPD - DH[1], 2 * PPD - DH[0]
D_R2, D_S2 = PPD + (DH[0] - DH[1]), PPD - (DH[0] - DH[1])
# ---------------------------------------------------------------- asserturi spec
assert abs((22.00 + 20.50 + 21.60) / 3 - 21.3667) < 0.001, "PPW din formulă"
assert abs((21.90 + 21.00 + 21.80) / 3 - 21.5667) < 0.001, "PPD din formulă"
assert abs(PPW - 21.3667) < 0.001 and abs(PPD - 21.5667) < 0.001
assert PPD > PPW, "PPD trebuie deasupra PPW pentru crossing bull"
# R1/S1/R2/S2 ies din formulă, nu din cap (daily: 2*21.5667-21.00=22.1333 etc.)
assert abs(D_R1 - (2 * 21.5667 - 21.00)) < 0.001, "daily R1"
assert abs(D_S1 - (2 * 21.5667 - 21.90)) < 0.001, "daily S1"
assert abs(D_R2 - (21.5667 + (21.90 - 21.00))) < 0.001, "daily R2"
assert abs(D_S2 - (21.5667 - (21.90 - 21.00))) < 0.001, "daily S2"
# ATENȚIE: spec, linia 29, listează daily R2 = 22.5667. Formula dată chiar de
# spec (R2 = PP + (High-Low), linia 21) și datele ei (H=21.90, L=21.00)
# dau 22.4667: 21.5667 + 0.90. S2 din spec (20.6667) confirmă H-L = 0.90.
# Assert-ul din spec („R2 iese din formulă, nu din cap") decide: desenăm 22.47.
assert abs(D_R2 - 22.4667) < 0.001, "daily R2 trebuie derivat din formulă"
assert abs(W_R1 - (2 * 21.3667 - 20.50)) < 0.001, "weekly R1"
assert abs(W_S1 - (2 * 21.3667 - 22.00)) < 0.001, "weekly S1"
assert abs(W_R2 - (21.3667 + (22.00 - 20.50))) < 0.001, "weekly R2"
assert abs(W_S2 - (21.3667 - (22.00 - 20.50))) < 0.001, "weekly S2"
# ---------------------------------------------------------------- geometrie
LEFT, RIGHT = 8.0, 692.0
GUT_X, GUT_W = LEFT, 20.0
COLS = [(28.0, 116.0), (116.0, 164.0), (164.0, 212.0), (212.0, 260.0),
(260.0, 372.0), (372.0, 440.0), (440.0, 508.0),
(508.0, 600.0), (600.0, 692.0)]
HEADERS = ["Perioada", "High", "Low", "Close", "PP", "R1", "S1", "R2", "S2"]
LETTERS = ["A", "B", "C", "D", "E", "F", "G", "H", "I"]
TBL_Y0, HDR_Y1 = 72.0, 116.0
ROW1_Y0, ROW1_Y1 = 116.0, 184.0 # săptămâna (rândul 2)
ROW2_Y0, ROW2_Y1 = 184.0, 252.0 # ziua (rândul 3)
CMP_Y0, CMP_Y1 = 268.0, 312.0
TEXTS = [] # (x, y, s, size, weight, anchor, cell) cell=(x0,x1) sau None
def txt(x, y, s, size=13, weight="400", fill=BLACK, anchor="middle", cell=None):
TEXTS.append((x, y, s, size, weight, anchor, cell))
return (f'<text x="{x:.1f}" y="{y:.1f}" font-size="{size}" '
f'font-weight="{weight}" fill="{fill}" text-anchor="{anchor}">'
f'{escape(s)}</text>')
def line(x1, y1, x2, y2, stroke=GRID, width=1.0, dash=None):
d = f' stroke-dasharray="{dash}"' if dash else ""
return (f'<line x1="{x1:.1f}" y1="{y1:.1f}" x2="{x2:.1f}" y2="{y2:.1f}" '
f'stroke="{stroke}" stroke-width="{width}"{d}/>')
def rect(x, y, w, h, fill=WHITE, stroke=BORDER, width=1.2, rx=0):
r = f' rx="{rx}"' if rx else ""
return (f'<rect x="{x:.1f}" y="{y:.1f}" width="{w:.1f}" height="{h:.1f}"'
f'{r} fill="{fill}" stroke="{stroke}" stroke-width="{width}"/>')
def fmt(v):
return f"{v:.2f}"
def build():
p = [
f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {W} {H}" '
f'width="{W}" height="{H}" role="img" aria-label="Tabel Excel: '
f'pivotii clasici calculati din OHLC, PP saptamanal vs PP zilnic, '
f'crossing bull">',
'<g font-family="system-ui, sans-serif">',
f'<rect x="0" y="0" width="{W}" height="{H}" fill="{WHITE}"/>',
txt(W / 2, 38, "Pivoții clasici în Excel — formula, pas cu pas",
20, "700", BLACK),
]
# ------- fundaluri: bandă de antet, rânduri alternate, gutter
p.append(rect(GUT_X, TBL_Y0, GUT_W,
ROW2_Y1 - TBL_Y0, fill=HDR_BG, stroke=BORDER, width=1.0))
p.append(rect(COLS[0][0], TBL_Y0, RIGHT - COLS[0][0], HDR_Y1 - TBL_Y0,
fill=HDR_BG, stroke=BORDER, width=1.0))
p.append(rect(COLS[0][0], ROW1_Y0, RIGHT - COLS[0][0], ROW1_Y1 - ROW1_Y0,
fill=WHITE, stroke=BORDER, width=1.0))
p.append(rect(COLS[0][0], ROW2_Y0, RIGHT - COLS[0][0], ROW2_Y1 - ROW2_Y0,
fill=ALT_BG, stroke=BORDER, width=1.0))
# ------- grilă verticală + orizontală
for x0, _ in COLS[1:]:
p.append(line(x0, TBL_Y0, x0, ROW2_Y1))
p.append(line(GUT_X + GUT_W, TBL_Y0, GUT_X + GUT_W, ROW2_Y1, BORDER, 1.0))
for y in (HDR_Y1, ROW1_Y1):
p.append(line(GUT_X, y, RIGHT, y, BORDER, 1.0))
p.append(rect(GUT_X, TBL_Y0, RIGHT - GUT_X, ROW2_Y1 - TBL_Y0,
fill="none", stroke=BORDER, width=1.4))
# ------- numere de rând Excel și litere de coloană
for num, (y0, y1) in zip("123", ((TBL_Y0, HDR_Y1), (ROW1_Y0, ROW1_Y1),
(ROW2_Y0, ROW2_Y1))):
p.append(txt(GUT_X + GUT_W / 2, (y0 + y1) / 2 + 5, num, 13, "400",
GRAY))
for (x0, x1), let in zip(COLS, LETTERS):
p.append(txt((x0 + x1) / 2, 90, let, 13, "400", GRAY))
for (x0, x1), h in zip(COLS, HEADERS):
p.append(txt((x0 + x1) / 2, 110, h, 13, "700", BLACK,
cell=(x0, x1)))
# ------- rândul 2: săptămâna (PPW) — celulele de calcul = formulă + rezultat
cA = COLS[0]
for k, s in enumerate(("Săptămâna", "încheiată", "(PPW)")):
p.append(txt((cA[0] + cA[1]) / 2, 138 + k * 18, s, 13, "400",
BLACK if k < 2 else GRAY, cell=cA))
for col, val in zip(COLS[1:4], WH):
p.append(txt((col[0] + col[1]) / 2, 158, fmt(val), 14, "400", BLACK,
cell=col))
week_calc = [("=(B2+C2+D2)/3", PPW), ("=2*E2-C2", W_R1), ("=2*E2-B2", W_S1),
("=E2+(B2-C2)", W_R2), ("=E2-(B2-C2)", W_S2)]
for col, (formula, res) in zip(COLS[4:], week_calc):
cx = (col[0] + col[1]) / 2
p.append(txt(cx, ROW1_Y0 + 26, formula, 13, "400", GRAY, cell=col))
p.append(txt(cx, ROW1_Y0 + 53, fmt(res), 15, "700", BLUE, cell=col))
# ------- rândul 3: ziua (PPD)
for k, s in enumerate(("Ziua", "încheiată", "(PPD)")):
p.append(txt((cA[0] + cA[1]) / 2, 200 + k * 18, s, 13, "400",
BLACK if k < 2 else GRAY, cell=cA))
for col, val in zip(COLS[1:4], DH):
p.append(txt((col[0] + col[1]) / 2, 226, fmt(val), 14, "400", BLACK,
cell=col))
day_calc = [("=(B3+C3+D3)/3", PPD), ("=2*E3-C3", D_R1), ("=2*E3-B3", D_S1),
("=E3+(B3-C3)", D_R2), ("=E3-(B3-C3)", D_S2)]
for col, (formula, res) in zip(COLS[4:], day_calc):
cx = (col[0] + col[1]) / 2
p.append(txt(cx, ROW2_Y0 + 26, formula, 13, "400", GRAY, cell=col))
p.append(txt(cx, ROW2_Y0 + 53, fmt(res), 15, "700", BLUE, cell=col))
# ------- rândul de comparație, evidențiat
p.append(rect(LEFT, CMP_Y0, RIGHT - LEFT, CMP_Y1 - CMP_Y0,
fill="#eaf7ee", stroke=GREEN, width=1.6, rx=6))
p.append(txt(W / 2, CMP_Y0 + 28,
f"PPD {fmt(PPD)} > PPW {fmt(PPW)} → CROSSING BULL (long)",
16, "700", BLACK))
# ------- legenda (exemplu construit) + note
p.append(txt(W / 2, 340,
"Cifrele sunt un exemplu construit, cu valori rotunde, pe TLV —",
13, "400", GRAY))
p.append(txt(W / 2, 358, "nu sunt date reale de piață.", 13, "400", GRAY))
p.append(txt(W / 2, 386,
"crossing = PPD trece deasupra PPW; dacă rămâne deasupra — "
"continuare (09_QA/16:35-43).", 13, "400", BLACK))
p.append(txt(W / 2, 408,
"Surse formule: 03_MODUL_2/02_zone_cerere_oferta_support_"
"resistance.md:42-50", 13, "400", GRAY))
p.append(txt(W / 2, 426,
"Calcul Excel 1-la-1, MP² = comparația a doi pivoți: "
"09_QA/09_2025-12-09.md:1176-1180.", 13, "400", GRAY))
p.append('</g></svg>')
return "\n".join(p) + "\n"
# ---------------------------------------------------------------- verificare
# Măsurăm textul cu fontul real folosit la rasterizare (DejaVu Sans), care e
# mai lat decât majoritatea fonturilor „system-ui": dacă încape aici, încape.
try:
from PIL import ImageFont
_REG = "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"
_BOLD = "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf"
_FCACHE = {}
def _pil_w(s, size, weight):
path = _BOLD if weight == "700" else _REG
f = _FCACHE.get((path, size))
if f is None:
f = ImageFont.truetype(path, size)
_FCACHE[(path, size)] = f
return f.getlength(s)
_HAVE_PIL = True
except Exception: # pragma: no cover
_HAVE_PIL = False
def est_w(s, size, weight):
if _HAVE_PIL:
return _pil_w(s, size, weight)
# fallback conservator: supraestimează cu ~12%
narrow = " .,:;'|()[]{}"
total = 0.0
for ch in s:
if ch in narrow:
total += 0.30
elif ch.isdigit():
total += 0.60
elif ch.isupper():
total += 0.70
elif ch.islower():
total += 0.56
else:
total += 0.56
return total * size * (1.06 if weight == "700" else 1.0) * 1.12
def spans(x, y, s, size, weight, anchor):
ew = est_w(s, size, weight)
left = x - ew if anchor == "end" else (x - ew / 2 if anchor == "middle"
else x)
return left, left + ew
def verify(svg):
# 1. toate textele în panză
for x, y, s, size, weight, anchor, cell in TEXTS:
lo, hi = spans(x, y, s, size, weight, anchor)
assert -2 <= lo and hi <= W + 2, f"text în afara panzei: {s!r} ({lo:.0f},{hi:.0f})"
assert 0 <= y <= H, f"text în afara înălțimii: {s!r} (y={y})"
# 2. textele din tabel încap în celula lor
for x, y, s, size, weight, anchor, cell in TEXTS:
if cell is not None:
lo, hi = spans(x, y, s, size, weight, anchor)
assert cell[0] + 1 <= lo and hi <= cell[1] - 1, \
f"text iese din celulă: {s!r} ({lo:.0f},{hi:.0f}) vs {cell}"
# 3. texte care nu se suprapun
for i in range(len(TEXTS)):
xi, yi, si, szi, wi, ai, _ = TEXTS[i]
li, ri = spans(xi, yi, si, szi, wi, ai)
for j in range(i + 1, len(TEXTS)):
xj, yj, sj, szj, wj, aj, _ = TEXTS[j]
lj, rj = spans(xj, yj, sj, szj, wj, aj)
if abs(yi - yj) < 13 and li < rj - 3 and lj < ri - 3:
raise AssertionError(f"texte suprapuse: {si!r} / {sj!r}")
# 4. condiția de crossing din desen
assert CMP_Y0 > ROW2_Y1, "rândul de comparație nu e sub tabel"
assert CMP_Y1 < 340, "comparația intră în legendă"
assert PPD > PPW
# 5. conținutul obligatoriu din spec (textul vizibil, cu &gt; decodat)
plain = unescape(svg)
for cheie in (
"Pivoții clasici în Excel — formula, pas cu pas",
"Perioada", "High", "Low", "Close", "PP", "R1", "S1", "R2", "S2",
"Săptămâna", "încheiată", "(PPW)",
"Ziua", "(PPD)",
"=(B2+C2+D2)/3", "=2*E2-C2", "=2*E2-B2", "=E2+(B2-C2)", "=E2-(B2-C2)",
"=(B3+C3+D3)/3", "=2*E3-C3", "=2*E3-B3", "=E3+(B3-C3)", "=E3-(B3-C3)",
"21.37", "21.57", "22.23", "20.73", "22.87", "19.87",
"22.13", "21.23", "22.47", "20.67",
"PPD 21.57 > PPW 21.37", "CROSSING BULL (long)",
"exemplu construit", "nu sunt date reale de piață",
"09_QA/16:35-43", "09_QA/09_2025-12-09.md:1176-1180",
):
assert cheie in plain, f"lipsește din desen: {cheie!r}"
# 6. fără candele / axe de preț / prețuri inventate
for interzis in ("candela", "SL ", "TP1", "TP2", "intrare ", "$", "USD"):
assert interzis not in svg, f"nu ar trebui să apară: {interzis!r}"
return True
SVG = build()
assert verify(SVG), "verificare eșuată"
OUT.write_text(SVG, encoding="utf-8")
print(f"scris {OUT} ({W}x{H}), verificare OK: {len(TEXTS)} etichete")

View File

@@ -0,0 +1,81 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 444" width="700" height="444" role="img" aria-label="Tabel Excel: pivotii clasici calculati din OHLC, PP saptamanal vs PP zilnic, crossing bull">
<g font-family="system-ui, sans-serif">
<rect x="0" y="0" width="700" height="444" fill="#ffffff"/>
<text x="350.0" y="38.0" font-size="20" font-weight="700" fill="#000000" text-anchor="middle">Pivoții clasici în Excel — formula, pas cu pas</text>
<rect x="8.0" y="72.0" width="20.0" height="180.0" fill="#eef1f5" stroke="#333333" stroke-width="1.0"/>
<rect x="28.0" y="72.0" width="664.0" height="44.0" fill="#eef1f5" stroke="#333333" stroke-width="1.0"/>
<rect x="28.0" y="116.0" width="664.0" height="68.0" fill="#ffffff" stroke="#333333" stroke-width="1.0"/>
<rect x="28.0" y="184.0" width="664.0" height="68.0" fill="#fafbfc" stroke="#333333" stroke-width="1.0"/>
<line x1="116.0" y1="72.0" x2="116.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="164.0" y1="72.0" x2="164.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="212.0" y1="72.0" x2="212.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="260.0" y1="72.0" x2="260.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="372.0" y1="72.0" x2="372.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="440.0" y1="72.0" x2="440.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="508.0" y1="72.0" x2="508.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="600.0" y1="72.0" x2="600.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="28.0" y1="72.0" x2="28.0" y2="252.0" stroke="#333333" stroke-width="1.0"/>
<line x1="8.0" y1="116.0" x2="692.0" y2="116.0" stroke="#333333" stroke-width="1.0"/>
<line x1="8.0" y1="184.0" x2="692.0" y2="184.0" stroke="#333333" stroke-width="1.0"/>
<rect x="8.0" y="72.0" width="684.0" height="180.0" fill="none" stroke="#333333" stroke-width="1.4"/>
<text x="18.0" y="99.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">1</text>
<text x="18.0" y="155.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">2</text>
<text x="18.0" y="223.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">3</text>
<text x="72.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">A</text>
<text x="140.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">B</text>
<text x="188.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">C</text>
<text x="236.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">D</text>
<text x="316.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">E</text>
<text x="406.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">F</text>
<text x="474.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">G</text>
<text x="554.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">H</text>
<text x="646.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">I</text>
<text x="72.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">Perioada</text>
<text x="140.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">High</text>
<text x="188.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">Low</text>
<text x="236.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">Close</text>
<text x="316.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">PP</text>
<text x="406.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">R1</text>
<text x="474.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">S1</text>
<text x="554.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">R2</text>
<text x="646.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">S2</text>
<text x="72.0" y="138.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">Săptămâna</text>
<text x="72.0" y="156.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">încheiată</text>
<text x="72.0" y="174.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">(PPW)</text>
<text x="140.0" y="158.0" font-size="14" font-weight="400" fill="#000000" text-anchor="middle">22.00</text>
<text x="188.0" y="158.0" font-size="14" font-weight="400" fill="#000000" text-anchor="middle">20.50</text>
<text x="236.0" y="158.0" font-size="14" font-weight="400" fill="#000000" text-anchor="middle">21.60</text>
<text x="316.0" y="142.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=(B2+C2+D2)/3</text>
<text x="316.0" y="169.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">21.37</text>
<text x="406.0" y="142.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=2*E2-C2</text>
<text x="406.0" y="169.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">22.23</text>
<text x="474.0" y="142.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=2*E2-B2</text>
<text x="474.0" y="169.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">20.73</text>
<text x="554.0" y="142.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=E2+(B2-C2)</text>
<text x="554.0" y="169.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">22.87</text>
<text x="646.0" y="142.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=E2-(B2-C2)</text>
<text x="646.0" y="169.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">19.87</text>
<text x="72.0" y="200.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">Ziua</text>
<text x="72.0" y="218.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">încheiată</text>
<text x="72.0" y="236.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">(PPD)</text>
<text x="140.0" y="226.0" font-size="14" font-weight="400" fill="#000000" text-anchor="middle">21.90</text>
<text x="188.0" y="226.0" font-size="14" font-weight="400" fill="#000000" text-anchor="middle">21.00</text>
<text x="236.0" y="226.0" font-size="14" font-weight="400" fill="#000000" text-anchor="middle">21.80</text>
<text x="316.0" y="210.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=(B3+C3+D3)/3</text>
<text x="316.0" y="237.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">21.57</text>
<text x="406.0" y="210.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=2*E3-C3</text>
<text x="406.0" y="237.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">22.13</text>
<text x="474.0" y="210.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=2*E3-B3</text>
<text x="474.0" y="237.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">21.23</text>
<text x="554.0" y="210.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=E3+(B3-C3)</text>
<text x="554.0" y="237.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">22.47</text>
<text x="646.0" y="210.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=E3-(B3-C3)</text>
<text x="646.0" y="237.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">20.67</text>
<rect x="8.0" y="268.0" width="684.0" height="44.0" rx="6" fill="#eaf7ee" stroke="#188a3e" stroke-width="1.6"/>
<text x="350.0" y="296.0" font-size="16" font-weight="700" fill="#000000" text-anchor="middle">PPD 21.57 &gt; PPW 21.37 → CROSSING BULL (long)</text>
<text x="350.0" y="340.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">Cifrele sunt un exemplu construit, cu valori rotunde, pe TLV —</text>
<text x="350.0" y="358.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">nu sunt date reale de piață.</text>
<text x="350.0" y="386.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">crossing = PPD trece deasupra PPW; dacă rămâne deasupra — continuare (09_QA/16:35-43).</text>
<text x="350.0" y="408.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">Surse formule: 03_MODUL_2/02_zone_cerere_oferta_support_resistance.md:42-50</text>
<text x="350.0" y="426.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">Calcul Excel 1-la-1, MP² = comparația a doi pivoți: 09_QA/09_2025-12-09.md:1176-1180.</text>
</g></svg>

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@@ -0,0 +1,162 @@
"""ULTA — daily (pivoți monthly): diagrama de ansamblu a selecției (TIP: PRET).
Citește `gen/strategii/selectia_ansamblu.spec.txt`. Un simbol care vine dintr-un
downtrend weekly, atinge suportul monthly 355.48 și face un buy doji la 373.30
cu RVOL 0.61; apoi confirmarea (intrare 374.80) și drumul spre pivot/TP1 383.74,
respectiv TP2 402.00. Grafic daily, 32 de candele, serie continuă, cu panou de
volum și SMA-20 — construit prin `svg_candles` (from_closes), la scară.
Rulează:
python3 gen/strategii/selectia_ansamblu.py
Scrie lângă el `selectia_ansamblu.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 / "selectia_ansamblu.svg"
GRAY, RED, GREEN, BLUE, ORANGE, TEAL = "#777", "#c00", "#188a3e", "#1a5fb4", "#b06000", "#00a0aa"
# ---------------------------------------------------------------- seria (32 bare)
# bare 0-11 : downtrend vizibil de la ~395 la ~362 (~0.8%/bara)
# bare 12-19 : baza/churn 356-373, minimul atinge suportul 355.48 pe bara 15
# bara 20 : buy doji, close 373.30 (open = close[19] = 373.00, corp 0.30)
# bara 21 : confirmare, inchide peste intrarea 374.80
# bare 22-31 : urcare spre pivot/TP1 383.74 (bara 26) si apoi spre TP2 402.00
CLOSES = [
395.00, 391.80, 388.60, 385.20, 382.00, 378.90, 375.70, 372.80, # 0-7
369.90, 367.00, 364.20, 361.80, # 8-11
363.20, 361.00, 358.50, 356.20, 360.00, 365.00, 369.50, 373.00, # 12-19
373.30, 375.60, # 20-21
377.00, 378.50, 380.40, 382.00, 384.50, 386.50, 389.50, 393.00, # 22-29
397.50, 401.50, # 30-31
]
assert len(CLOSES) == 32, len(CLOSES)
WICKS = [(0.35, 0.40)] * 32
WICKS[0] = (0.40, 0.50) # prima bara, deschide dintr-un varf al downtrend-ului
WICKS[15] = (0.30, 0.72) # low exact 355.48 = suportul monthly
WICKS[16] = (0.40, 0.30) # rebound, nu sparge suportul
WICKS[20] = (0.80, 0.30) # doji: high 374.10, low 372.70
WICKS[31] = (0.55, 0.40) # high 402.05, atinge TP2 402.00
assert len(WICKS) == 32, len(WICKS)
# barele 25-31 in crestere; bara 20 (doji) sub media seriei (RVOL 0.61)
VOLS = [
42, 44, 41, 46, 43, 45, 40, 44, 47, 43, # 0-9
40, 42, 38, 41, 52, # 10-14
56, 50, 45, 42, 39, # 15-19
30, # 20 doji, sub medie
46, # 21 confirmare
48, 50, 52, 54, 58, 62, 66, 70, 76, 82, # 22-31
]
assert len(VOLS) == 32, len(VOLS)
media_vol = sum(VOLS) / len(VOLS)
assert VOLS[20] < media_vol, "bara 20 (doji) trebuie sub media seriei"
assert all(a < b for a, b in zip(VOLS[25:32], VOLS[26:32])), "barele 25-31 nu cresc"
# RVOL afisat (0.61) ~ raportul barei de doji fata de media seriei
assert abs(VOLS[20] / media_vol - 0.61) < 0.02, VOLS[20] / media_vol
cds = from_closes(CLOSES, wicks=WICKS, vols=VOLS, start=396.50)
# ---------------------------------------------------------------- assert-urile din spec
assert abs(cds[20].c - 373.30) < 1e-9, "doji-ul trebuie sa inchida la 373.30"
assert abs(max(cds[20].o, cds[20].c) - min(cds[20].o, cds[20].c)) <= 0.40, "bara 20 nu e doji"
assert abs(min(c.l for c in cds[12:21]) - 355.48) < 0.05, "suportul 355.48 nu e atins"
assert 352.00 < 355.48 < 373.30 < 374.80 < 383.74 < 402.00, "ordinea nivelurilor"
risc = 374.80 - 352.00 # 22.80
assert abs((383.74 - 374.80) / risc - 0.39) < 0.02, "TP1 nu e ~0.39R"
assert abs((402.00 - 374.80) / risc - 1.19) < 0.02, "TP2 nu e ~1.19R"
assert cds[-1].c >= 383.74, "TP1 nu e atins in serie"
assert min(c.l for c in cds) >= 351.5, "SL-ul de 352.00 nu poate fi sub minimul seriei"
for a, b in zip(cds, cds[1:]):
assert abs(a.c - b.o) < 1e-9, "serie cu gol artificial intre bare"
# structura ceruta explicit: doji mic cu fitilele date, confirmare peste intrare
assert abs(cds[20].h - 374.10) < 0.05 and abs(cds[20].l - 372.70) < 0.05, (cds[20].h, cds[20].l)
assert cds[21].c > 374.80, "bara 21 nu confirma intrarea"
assert max(cds[i].h for i in range(22, 27)) >= 383.74, "TP1 nu e atins in jurul barei 26"
assert cds[31].h >= 402.00, "TP2 nu e atins spre final"
# ---------------------------------------------------------------- niveluri, etichete
levels = [
Level(352.00, "SL 352.00", RED, label_at="left"),
Level(355.48, "suport monthly 355.48", BLUE, label_at="left"),
Level(374.80, "intrare 374.80", GREEN),
Level(383.74, "pivot / TP1 383.74", BLUE),
Level(402.00, "TP2 402.00", BLUE),
]
marks = [
# „sub bara 0" ar insemna peste candelele care coboara (staircase); dy-ul
# o ridica deasupra varfului de start, unde textul se citeste curat
Mark(0, "downtrend weekly", GRAY, "below", dy=-62),
Mark(20, "buy doji close 373.30 (RVOL 0.61)", TEAL, "below"),
Mark(21, "intrare 374.80", GREEN, "above"),
Mark(26, "TP1 383.74 = pivot", BLUE, "above", dy=-8),
Mark(31, "TP2 402.00", BLUE, "above", dy=-22),
]
caption = ("Ale cursului: close 373.30, suport 355.48, pivot 383.74, RVOL 0.61. "
"Intrarea 374.80, SL 352.00 si TP2 402.00 sunt estimari din 04_MODUL_3/01; "
"structura barelor dintre niveluri e construita, la scara.")
ch = Chart(
candles=cds, levels=levels, marks=marks,
mas=[MA(20, ORANGE, dash="4 3", text="SMA-20")],
scale=8.5, gap=15, body_w=9, left=44, width=640, vol_h=70,
vol_label="volum",
title="ULTA — daily (pivoți monthly)",
caption=caption,
)
svg = ch.render()
# ---------------------------------------------------------------- verificarea de scara
ys = {p: ch._y(p) for p in (352.00, 355.48, 374.80, 383.74, 402.00)}
px_risc = ys[352.00] - ys[374.80] # y creste in jos, deci SL-ul are y mai mare
assert abs((ys[374.80] - ys[383.74]) / px_risc - (383.74 - 374.80) / risc) < 1e-9, "TP1 la scara gresita"
assert abs((ys[374.80] - ys[402.00]) / px_risc - (402.00 - 374.80) / risc) < 1e-9, "TP2 la scara gresita"
# ---------------------------------------------------------------- finisaj text
# caption-ul pe un singur rand depaseste latimea panzei (se taie la viewBox):
# il rupem in linii si crestem inaltimea desenului.
def _wrap(text: str, max_chars: int) -> list[str]:
lines, cur = [], ""
for w in text.split():
if cur and len(cur) + 1 + len(w) > max_chars:
lines.append(cur)
cur = w
else:
cur = f"{cur} {w}".strip()
if cur:
lines.append(cur)
return lines
cap_lines = _wrap(caption, 92)
m = re.search(r'<text x="24" y="(\d+)" fill="#555">' + re.escape(caption) + r"</text>\s*</svg>", svg)
assert m, "caption-ul nu a fost gasit in SVG"
y0 = int(m.group(1))
wrapped = "\n ".join(f'<text x="24" y="{y0 + 17 * i}" fill="#555">{ln}</text>'
for i, ln in enumerate(cap_lines))
svg = svg[:m.start()] + wrapped + "\n</svg>"
vm = re.search(r'viewBox="0 0 (\d+) (\d+)"', svg)
assert vm
svg = svg.replace(vm.group(0),
f'viewBox="0 0 {vm.group(1)} {int(vm.group(2)) + 17 * (len(cap_lines) - 1)}"', 1)
# „SMA-20" (x=515, y=269) sta la 12.6px de eticheta „intrare 374.80" (y=281.6),
# adica lipite: o ridicam 12px pe linia libera de deasupra.
svg, n = re.subn(r'(<text x="\d+" y=")(\d+)(" fill="#b06000">SMA-20</text>)',
lambda mm: f'{mm.group(1)}{int(mm.group(2)) - 12}{mm.group(3)}', svg)
assert n == 1, f"eticheta SMA-20: {n} potriviri"
assert "<svg" in svg and "\n\n" not in svg, "linie goala in SVG"
OUT.write_text(svg)
print(f"scris {OUT.name}: {len(cds)} candele, doji {cds[20].c:.2f} (RVOL {VOLS[20]/media_vol:.2f}), "
f"suport {min(c.l for c in cds[12:21]):.2f}, intrare 374.80, SL 352.00, "
f"TP1 383.74 = 0.39R, TP2 402.00 = 1.19R, ultimul close {cds[-1].c:.2f}")

View File

@@ -0,0 +1,121 @@
<svg viewBox="0 0 640 653" 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">ULTA — daily (pivoți monthly)</text>
<line x1="24" y1="481.4" x2="626" y2="481.4" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="475.4" fill="#c00">SL 352.00</text>
<line x1="24" y1="451.8" x2="626" y2="451.8" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="445.8" fill="#1a5fb4">suport monthly 355.48</text>
<line x1="24" y1="287.6" x2="626" y2="287.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="281.6" fill="#188a3e" text-anchor="end">intrare 374.80</text>
<line x1="24" y1="211.6" x2="626" y2="211.6" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="205.6" fill="#1a5fb4" text-anchor="end">pivot / TP1 383.74</text>
<line x1="24" y1="56.4" x2="626" y2="56.4" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="50.4" fill="#1a5fb4" text-anchor="end">TP2 402.00</text>
<polyline points="329.0,311.7 344.0,320.9 359.0,327.8 374.0,332.8 389.0,335.6 404.0,336.3 419.0,335.0 434.0,331.2 449.0,325.4 464.0,317.1 479.0,306.0 494.0,291.9 509.0,275.0" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="515" y="257" fill="#b06000">SMA-20</text>
<line x1="44.0" y1="99.8" x2="44.0" y2="120.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="103.2" width="9" height="12.8" fill="#c00"/>
<line x1="59.0" y1="112.9" x2="59.0" y2="146.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="115.9" width="9" height="27.2" fill="#c00"/>
<line x1="74.0" y1="140.1" x2="74.0" y2="173.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="143.1" width="9" height="27.2" fill="#c00"/>
<line x1="89.0" y1="167.3" x2="89.0" y2="202.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="170.3" width="9" height="28.9" fill="#c00"/>
<line x1="104.0" y1="196.2" x2="104.0" y2="229.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="199.2" width="9" height="27.2" fill="#c00"/>
<line x1="119.0" y1="223.4" x2="119.0" y2="256.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="226.4" width="9" height="26.4" fill="#c00"/>
<line x1="134.0" y1="249.8" x2="134.0" y2="283.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="252.8" width="9" height="27.2" fill="#c00"/>
<line x1="149.0" y1="277.0" x2="149.0" y2="308.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="280.0" width="9" height="24.6" fill="#c00"/>
<line x1="164.0" y1="301.6" x2="164.0" y2="332.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="304.6" width="9" height="24.7" fill="#c00"/>
<line x1="179.0" y1="326.3" x2="179.0" y2="357.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="329.3" width="9" height="24.6" fill="#c00"/>
<line x1="194.0" y1="350.9" x2="194.0" y2="381.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="353.9" width="9" height="23.8" fill="#c00"/>
<line x1="209.0" y1="374.8" x2="209.0" y2="401.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="377.7" width="9" height="20.4" fill="#c00"/>
<line x1="224.0" y1="383.2" x2="224.0" y2="401.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="386.2" width="9" height="11.9" fill="#188a3e"/>
<line x1="239.0" y1="383.2" x2="239.0" y2="408.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="386.2" width="9" height="18.7" fill="#c00"/>
<line x1="254.0" y1="401.9" x2="254.0" y2="429.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="404.9" width="9" height="21.2" fill="#c00"/>
<line x1="269.0" y1="423.6" x2="269.0" y2="451.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="426.2" width="9" height="19.6" fill="#c00"/>
<line x1="284.0" y1="410.0" x2="284.0" y2="448.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="413.4" width="9" height="32.3" fill="#188a3e"/>
<line x1="299.0" y1="367.9" x2="299.0" y2="416.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="370.9" width="9" height="42.5" fill="#188a3e"/>
<line x1="314.0" y1="329.7" x2="314.0" y2="374.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="332.7" width="9" height="38.2" fill="#188a3e"/>
<line x1="329.0" y1="299.9" x2="329.0" y2="336.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="302.9" width="9" height="29.8" fill="#188a3e"/>
<line x1="344.0" y1="293.6" x2="344.0" y2="305.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="300.4" width="9" height="2.6" fill="#188a3e"/>
<line x1="359.0" y1="277.8" x2="359.0" y2="303.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="280.8" width="9" height="19.6" fill="#188a3e"/>
<line x1="374.0" y1="265.9" x2="374.0" y2="284.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="268.9" width="9" height="11.9" fill="#188a3e"/>
<line x1="389.0" y1="253.2" x2="389.0" y2="272.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="256.2" width="9" height="12.8" fill="#188a3e"/>
<line x1="404.0" y1="237.1" x2="404.0" y2="259.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="240.0" width="9" height="16.1" fill="#188a3e"/>
<line x1="419.0" y1="223.4" x2="419.0" y2="243.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="226.4" width="9" height="13.6" fill="#188a3e"/>
<line x1="434.0" y1="202.2" x2="434.0" y2="229.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="205.2" width="9" height="21.2" fill="#188a3e"/>
<line x1="449.0" y1="185.2" x2="449.0" y2="208.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="188.2" width="9" height="17.0" fill="#188a3e"/>
<line x1="464.0" y1="159.7" x2="464.0" y2="191.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="162.7" width="9" height="25.5" fill="#188a3e"/>
<line x1="479.0" y1="129.9" x2="479.0" y2="166.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="132.9" width="9" height="29.8" fill="#188a3e"/>
<line x1="494.0" y1="91.7" x2="494.0" y2="136.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="94.7" width="9" height="38.2" fill="#188a3e"/>
<line x1="509.0" y1="56.0" x2="509.0" y2="98.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="504.5" y="60.7" width="9" height="34.0" fill="#188a3e"/>
<line x1="24" y1="577.4" x2="626" y2="577.4" stroke="#888"/>
<rect x="39.5" y="541.6" width="9" height="35.9" fill="#c00" opacity="0.55"/>
<rect x="54.5" y="539.9" width="9" height="37.6" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="542.4" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="84.5" y="538.2" width="9" height="39.3" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="540.7" width="9" height="36.7" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="539.0" width="9" height="38.4" fill="#c00" opacity="0.55"/>
<rect x="129.5" y="543.3" width="9" height="34.1" fill="#c00" opacity="0.55"/>
<rect x="144.5" y="539.9" width="9" height="37.6" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="537.3" width="9" height="40.1" fill="#c00" opacity="0.55"/>
<rect x="174.5" y="540.7" width="9" height="36.7" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="543.3" width="9" height="34.1" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="541.6" width="9" height="35.9" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="545.0" width="9" height="32.4" fill="#188a3e" opacity="0.55"/>
<rect x="234.5" y="542.4" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="533.0" width="9" height="44.4" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="529.6" width="9" height="47.8" fill="#c00" opacity="0.55"/>
<rect x="279.5" y="534.7" width="9" height="42.7" fill="#188a3e" opacity="0.55"/>
<rect x="294.5" y="539.0" width="9" height="38.4" fill="#188a3e" opacity="0.55"/>
<rect x="309.5" y="541.6" width="9" height="35.9" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="544.1" width="9" height="33.3" fill="#188a3e" opacity="0.55"/>
<rect x="339.5" y="551.8" width="9" height="25.6" fill="#188a3e" opacity="0.55"/>
<rect x="354.5" y="538.2" width="9" height="39.3" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="536.4" width="9" height="41.0" fill="#188a3e" opacity="0.55"/>
<rect x="384.5" y="534.7" width="9" height="42.7" fill="#188a3e" opacity="0.55"/>
<rect x="399.5" y="533.0" width="9" height="44.4" fill="#188a3e" opacity="0.55"/>
<rect x="414.5" y="531.3" width="9" height="46.1" fill="#188a3e" opacity="0.55"/>
<rect x="429.5" y="527.9" width="9" height="49.5" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="524.5" width="9" height="52.9" fill="#188a3e" opacity="0.55"/>
<rect x="459.5" y="521.1" width="9" height="56.3" fill="#188a3e" opacity="0.55"/>
<rect x="474.5" y="517.7" width="9" height="59.8" fill="#188a3e" opacity="0.55"/>
<rect x="489.5" y="512.5" width="9" height="64.9" fill="#188a3e" opacity="0.55"/>
<rect x="504.5" y="507.4" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<text x="24" y="501.4" fill="#555">volum</text>
<text x="32.0" y="78.2" fill="#777" text-anchor="start" style="font-weight:bold">downtrend weekly</text>
<text x="344.0" y="325.5" fill="#00a0aa" text-anchor="middle" style="font-weight:bold">buy doji close 373.30 (RVOL 0.61)</text>
<text x="359.0" y="267.8" fill="#188a3e" text-anchor="middle" style="font-weight:bold">intrare 374.80</text>
<text x="434.0" y="184.2" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP1 383.74 = pivot</text>
<text x="509.0" y="24.0" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP2 402.00</text>
<text x="24" y="607" fill="#555">Ale cursului: close 373.30, suport 355.48, pivot 383.74, RVOL 0.61. Intrarea 374.80, SL</text>
<text x="24" y="624" fill="#555">352.00 si TP2 402.00 sunt estimari din 04_MODUL_3/01; structura barelor dintre niveluri e</text>
<text x="24" y="641" fill="#555">construita, la scara.</text>
</svg>

After

Width:  |  Height:  |  Size: 9.9 KiB

View File

@@ -0,0 +1,327 @@
#!/usr/bin/env python3
"""Relative strength — cele 4 cadrane (matrice 2x2).
Diagramă conceptuală (NU grafic de preț): pentru `strategii/04_selectia.md`,
Nivel 1, §1.2 F4 „Relative strength în cadranul 1-2". Citește specificația
`gen/strategii/selectia_cadrane.spec.txt` și scrie
`gen/strategii/selectia_cadrane.svg`.
Nu folosește `svg_candles` / `pchart`: SVG-ul e construit ca string, doar
stdlib.
Axele (așa cum le dă spec-ul):
- vertical: histograma RS față de linia de 0 (peste / sub 0);
- orizontal: histograma RS față de MA (peste / sub MA).
Cadranele (definițiile din spec, preluate din
03_MODUL_2/06_indicatorul_de_performanta.md:31-39):
1 supraperformanță peste 0 ȘI peste MA -> LONG
2 îmbunătățire sub 0, dar peste MA -> LONG (zona de cumpărat)
3 înrăutățire peste 0, dar sub MA -> SHORT
4 subperformanță sub 0 ȘI sub MA -> SHORT / stai pe margine
Banda de jos e avertismentul despre cadranul 4 (08_ANALIZA_ZILNICA/
11_selectia_simbolului.md:493-508), plus nota mică despre eroarea de
transcriere (03_MODUL_2/06 ...:41-48) — marcată explicit ca NOTĂ, nu ca
definiție a cursului.
Fără cifre de RS inventate: desenul e pur calitativ.
Rulare: .venv/bin/python gen/strategii/selectia_cadrane.py
"""
import html
from pathlib import Path
W, H = 700, 720
BLACK = "#000000"
GRAY = "#777777"
RED = "#c00"
GREEN = "#188a3e"
BLUE = "#1a5fb4"
ORANGE = "#b06000"
GREEN_BG = "#eef7f0"
RED_BG = "#fdeeee"
# ---------------------------------------------------------------- geometrie
PLOT_X0, PLOT_X1 = 130.0, 570.0
PLOT_Y0, PLOT_Y1 = 134.0, 414.0
CX = (PLOT_X0 + PLOT_X1) / 2.0 # 350
CY = (PLOT_Y0 + PLOT_Y1) / 2.0 # 266
GUT = 4.0
CW = (PLOT_X1 - PLOT_X0 - GUT) / 2.0 # 218
CH = (PLOT_Y1 - PLOT_Y0 - GUT) / 2.0 # 138
Q3 = {"x": PLOT_X0, "y": PLOT_Y0} # peste 0, sub MA
Q1 = {"x": CX + GUT / 2, "y": PLOT_Y0} # peste 0, peste MA
Q4 = {"x": PLOT_X0, "y": CY + GUT / 2} # sub 0, sub MA
Q2 = {"x": CX + GUT / 2, "y": CY + GUT / 2} # sub 0, peste MA
for _q in (Q1, Q2, Q3, Q4):
_q["w"], _q["h"] = CW, CH
BAND = {"x": 40.0, "y": 460.0, "w": 620.0, "h": 196.0}
# ---------------------------------------------------------------- collect
TEXTS = [] # (x, y, s, size, weight, fill, anchor)
RECTS = [] # (x, y, w, h, tag)
def add(x, y, s, size=13, weight="normal", fill=BLACK, anchor="middle"):
TEXTS.append((x, y, s, size, weight, fill, anchor))
return s
def est_w(s, size, weight):
factor = 0.62 if weight == "bold" else 0.56
return len(s) * size * factor
def txt(x, y, s, size=13, weight="normal", fill=BLACK, anchor="middle"):
return (f'<text x="{x:.1f}" y="{y:.1f}" font-size="{size}" '
f'font-weight="{weight}" fill="{fill}" text-anchor="{anchor}">'
f'{html.escape(s, quote=False)}</text>')
def rect(x, y, w, h, tag, fill="#ffffff", stroke=GRAY, sw=1.5, dash=None):
RECTS.append((x, y, w, h, tag))
d = f' stroke-dasharray="{dash}"' if dash else ""
return (f'<rect x="{x:.1f}" y="{y:.1f}" width="{w:.1f}" height="{h:.1f}" '
f'fill="{fill}" stroke="{stroke}" stroke-width="{sw}"{d}/>')
def line(x1, y1, x2, y2, stroke=GRAY, width=1.0, dash=None):
d = f' stroke-dasharray="{dash}"' if dash else ""
return (f'<line x1="{x1:.1f}" y1="{y1:.1f}" x2="{x2:.1f}" y2="{y2:.1f}" '
f'stroke="{stroke}" stroke-width="{width}"{d}/>')
def cell_text(q, dy, s, *a, **k):
add(q["x"] + q["w"] / 2.0, q["y"] + dy, s, *a, **k)
# =============================================================== CONȚINUT
p = []
# ---- titlu + subtitlu + legenda axelor
add(W / 2, 34, "Relative strength — cele 4 cadrane", 20, "bold")
add(W / 2, 58, "RS = cât de bine se mișcă simbolul față de benchmark (ex. SPY)",
13, "normal", GRAY)
add(W / 2, 80,
"Axa verticală: histograma RS față de 0 (peste / sub 0)",
13, "normal", GRAY)
add(W / 2, 98,
"Axa orizontală: histograma RS față de MA (peste / sub MA)",
13, "normal", GRAY)
# ---- etichetele coloanelor / rândurilor (axe)
add(PLOT_X0 + CW / 2 + GUT / 2, 122, "sub MA", 14, "bold", ORANGE)
add(CX + GUT / 2 + CW / 2, 122, "peste MA", 14, "bold", BLUE)
add(PLOT_X0 - 8, Q3["y"] + CH / 2, "peste 0", 14, "bold", GREEN, "end")
add(PLOT_X0 - 8, Q4["y"] + CH / 2, "sub 0", 14, "bold", RED, "end")
# ---- liniile de 0 (orizontală) și de MA (verticală), în spatele cadranelor
p.append(rect(PLOT_X0, PLOT_Y0, PLOT_X1 - PLOT_X0, PLOT_Y1 - PLOT_Y0,
"plot", fill="#ffffff", stroke=GRAY, sw=1.0))
p.append(line(PLOT_X0, CY, PLOT_X1, CY, GRAY, 1.0, "4 4"))
p.append(line(CX, PLOT_Y0, CX, PLOT_Y1, GRAY, 1.0, "4 4"))
# ---- cadrane
p.append(rect(Q3["x"], Q3["y"], CW, CH, "Q3", fill=RED_BG, stroke=RED, sw=1.6))
p.append(rect(Q1["x"], Q1["y"], CW, CH, "Q1", fill=GREEN_BG, stroke=GREEN, sw=1.6))
p.append(rect(Q4["x"], Q4["y"], CW, CH, "Q4", fill=RED_BG, stroke=RED, sw=1.6,
dash="6 4"))
p.append(rect(Q2["x"], Q2["y"], CW, CH, "Q2", fill=GREEN_BG, stroke=GREEN, sw=1.6))
# Cadran 3 — top-left: peste 0, sub MA -> SHORT
cell_text(Q3, 30, "Cadran 3", 16, "bold", BLACK)
cell_text(Q3, 52, "înrăutățire", 14, "bold", RED)
cell_text(Q3, 80, "peste 0, dar sub MA", 13, "normal", BLACK)
cell_text(Q3, 112, "SHORT", 16, "bold", RED)
# Cadran 1 — top-right: peste 0, peste MA -> LONG
cell_text(Q1, 30, "Cadran 1", 16, "bold", BLACK)
cell_text(Q1, 52, "supraperformanță", 14, "bold", GREEN)
cell_text(Q1, 80, "peste 0 și peste MA", 13, "normal", BLACK)
cell_text(Q1, 112, "LONG", 16, "bold", GREEN)
# Cadran 4 — bottom-left: sub 0, sub MA -> SHORT / stai pe margine
cell_text(Q4, 26, "Cadran 4", 16, "bold", BLACK)
cell_text(Q4, 48, "subperformanță", 14, "bold", RED)
cell_text(Q4, 74, "sub 0 și sub MA", 13, "normal", BLACK)
cell_text(Q4, 100, "SHORT", 15, "bold", RED)
cell_text(Q4, 122, "stai pe margine", 13, "normal", RED)
# Cadran 2 — bottom-right: sub 0, peste MA -> LONG (zona de cumpărat)
cell_text(Q2, 26, "Cadran 2", 16, "bold", BLACK)
cell_text(Q2, 48, "îmbunătățire", 14, "bold", GREEN)
cell_text(Q2, 74, "sub 0, dar peste MA", 13, "normal", BLACK)
cell_text(Q2, 100, "LONG", 15, "bold", GREEN)
cell_text(Q2, 122, "zona de cumpărat", 13, "normal", GREEN)
# ---- concluzia de sub matrice
add(W / 2, 442, "Long = cadranele 1-2 · Short = cadranele 3-4",
14, "bold", BLACK)
# ---- banda de avertisment (cadranul 4)
p.append(rect(BAND["x"], BAND["y"], BAND["w"], BAND["h"], "band",
fill="#fdf0e0", stroke=ORANGE, sw=1.6))
add(BAND["x"] + 20, 488, "Avertisment — cadranul 4 nu se tranzacționează pe orb",
15, "bold", RED, "start")
add(BAND["x"] + 20, 516,
"„Cadranul 4 nu se tranzacționează pe orb: aștepți trecerea în 2 sau 1,",
13, "normal", BLACK, "start")
add(BAND["x"] + 20, 536, "ori un MP4-1 / MBT-10 long ca semn de schimbare.”",
13, "normal", BLACK, "start")
add(BAND["x"] + 20, 566,
"„Un setup de bottom cu RS fără îmbunătățire are șanse mai mici.”",
13, "bold", BLACK, "start")
add(BAND["x"] + 20, 596,
"Notă: transcrierea descrierii cadranului 4 are o eroare (îl descrie ca pe",
13, "normal", GRAY, "start")
add(BAND["x"] + 20, 616,
"cadranul 3); definiția de mai sus e completarea sumarului —",
13, "normal", GRAY, "start")
add(BAND["x"] + 20, 636,
"03_MODUL_2/06_indicatorul_de_performanta.md:41-48.",
13, "normal", GRAY, "start")
# ---- surse
add(W / 2, 686,
"Surse: 08_ANALIZA_ZILNICA/11_selectia_simbolului.md:486-499, :501-508;",
13, "normal", GRAY)
add(W / 2, 704,
"03_MODUL_2/06_indicatorul_de_performanta.md:31-39.",
13, "normal", GRAY)
# =============================================================== EMITERE
head = (f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {W} {H}" '
f'width="{W}" height="{H}" font-family="system-ui, sans-serif" role="img" '
f'aria-label="Matricea 2x2 a relative strength: cadranele 1 si 2 sunt '
f'pentru long, cadranele 3 si 4 pentru short; cadranul 4 nu se '
f'tranzactioneaza pe orb">')
body = [head, f'<rect x="0" y="0" width="{W}" height="{H}" fill="#ffffff"/>']
body += p
for x, y, s, size, weight, fill, anchor in TEXTS:
body.append(txt(x, y, s, size, weight, fill, anchor))
body.append("</svg>")
svg = "\n".join(body) + "\n"
# =============================================================== VERIFICARE
# 1. geometrie: 4 cadrane egale, fără suprapunere, în interiorul plot-ului
assert len(RECTS) == 6, f"aștept 6 dreptunghiuri, am {len(RECTS)}"
quads = [r for r in RECTS if r[4] in ("Q1", "Q2", "Q3", "Q4")]
assert len(quads) == 4, f"aștept 4 cadrane, am {len(quads)}"
for x, y, w, h, tag in quads:
assert abs(w - CW) < 1e-9 and abs(h - CH) < 1e-9, f"{tag}: dimensiune greșită"
assert PLOT_X0 - 0.5 <= x and x + w <= PLOT_X1 + 0.5, f"{tag}: iese orizontal"
assert PLOT_Y0 - 0.5 <= y and y + h <= PLOT_Y1 + 0.5, f"{tag}: iese vertical"
for i in range(len(quads)):
for j in range(i + 1, len(quads)):
x1, y1, w1, h1, t1 = quads[i]
x2, y2, w2, h2, t2 = quads[j]
assert not (x1 < x2 + w2 and x2 < x1 + w1 and
y1 < y2 + h2 and y2 < y1 + h1), \
f"cadrane suprapuse: {t1} / {t2}"
# 2. pozițiile relative: 1 sus-dreapta, 2 jos-dreapta, 3 sus-stânga, 4 jos-stânga
by_tag = {r[4]: r for r in quads}
assert by_tag["Q1"][0] > CX and by_tag["Q1"][1] < CY, "cadranul 1 nu e sus-dreapta"
assert by_tag["Q2"][0] > CX and by_tag["Q2"][1] > CY, "cadranul 2 nu e jos-dreapta"
assert by_tag["Q3"][0] < CX and by_tag["Q3"][1] < CY, "cadranul 3 nu e sus-stânga"
assert by_tag["Q4"][0] < CX and by_tag["Q4"][1] > CY, "cadranul 4 nu e jos-stânga"
# 3. definițiile din spec sunt exact cele desenate
for req in ("Cadran 1", "Cadran 2", "Cadran 3", "Cadran 4",
"supraperformanță", "îmbunătățire", "înrăutățire",
"subperformanță"):
assert any(t[2] == req for t in TEXTS), f"lipsește din desen: {req!r}"
# condiția fiecărui cadran
assert any(t[2] == "peste 0 și peste MA" for t in TEXTS)
assert any(t[2] == "sub 0, dar peste MA" for t in TEXTS)
assert any(t[2] == "peste 0, dar sub MA" for t in TEXTS)
assert any(t[2] == "sub 0 și sub MA" for t in TEXTS)
# direcția: LONG pe 1-2, SHORT pe 3-4
assert svg.count(">LONG</text>") == 2, "LONG trebuie să apară exact de 2 ori"
assert svg.count(">SHORT</text>") == 2, "SHORT trebuie să apară exact de 2 ori"
assert "stai pe margine" in svg, "lipsește «stai pe margine» din cadranul 4"
assert "zona de cumpărat" in svg, "lipsește «zona de cumpărat» din cadranul 2"
assert "Long = cadranele 1-2" in svg and "Short = cadranele 3-4" in svg
# 4. titlu, subtitlu, legenda axelor, avertismentul, nota
for req in ("Relative strength — cele 4 cadrane",
"RS = cât de bine se mișcă simbolul față de benchmark (ex. SPY)",
"Axa verticală: histograma RS față de 0 (peste / sub 0)",
"Axa orizontală: histograma RS față de MA (peste / sub MA)",
"Cadranul 4 nu se tranzacționează pe orb",
"aștepți trecerea în 2 sau 1",
"MP4-1 / MBT-10 long",
"Un setup de bottom cu RS fără îmbunătățire are șanse mai mici",
"transcrierea descrierii cadranului 4 are o eroare",
"e completarea sumarului",
"03_MODUL_2/06_indicatorul_de_performanta.md:41-48",
"11_selectia_simbolului.md:486-499",
"06_indicatorul_de_performanta.md:31-39"):
assert req in svg, f"lipsește din desen: {req!r}"
# 5. etichetele cadranului 2 și 3 care se pot încurca: verifică asocierea
t2 = [t for t in TEXTS if t[0] > CX and t[1] > CY]
assert any("îmbunătățire" == t[2] for t in t2), "cadranul 2 nu e marcat corect"
t3 = [t for t in TEXTS if t[0] < CX and t[1] < CY]
assert any("înrăutățire" == t[2] for t in t3), "cadranul 3 nu e marcat corect"
# 6. textul fiecărui cadran încape în cadranul lui
for tag, q in (("Q1", Q1), ("Q2", Q2), ("Q3", Q3), ("Q4", Q4)):
for x, y, s, size, weight, fill, anchor in TEXTS:
if q["x"] <= x <= q["x"] + q["w"] and q["y"] <= y <= q["y"] + q["h"]:
w = est_w(s, size, weight)
assert w <= q["w"] - 16, f"{tag}: text prea lat: {s!r} ({w:.0f})"
# 7. toate etichetele în panză + fără suprapuneri
boxes = []
for x, y, s, size, weight, fill, anchor in TEXTS:
assert size >= 13, f"font sub 13px: {s!r} ({size})"
w = est_w(s, size, weight)
if anchor == "end":
left = x - w
elif anchor == "start":
left = x
else:
left = x - w / 2.0
right = left + w
top, bottom = y - size * 0.78, y + size * 0.22
assert -2 <= left and right <= W + 2, f"text în afara panzei orizontal: {s!r}"
assert 0 <= top and bottom <= H, f"text în afara panzei vertical: {s!r}"
boxes.append((left, right, top, bottom, s))
for i in range(len(boxes)):
for j in range(i + 1, len(boxes)):
l1, r1, t1, b1, s1 = boxes[i]
l2, r2, t2_, b2, s2 = boxes[j]
if r1 > l2 + 2 and r2 > l1 + 2 and b1 > t2_ + 2 and b2 > t1 + 2:
raise AssertionError(f"etichete suprapuse: {s1!r} / {s2!r}")
# 8. stil: fără umbre / gradienți, fontul cerut
assert "filter=" not in svg and "gradient" not in svg, "fără umbre/gradienti"
assert 'font-family="system-ui, sans-serif"' in svg, "lipsește fontul cerut"
# 8b. SVG-ul e XML valid, cu o singură rădăcină <svg> (bug prins la render:
# un rect scris înaintea rădăcinii => „extra content at the end”)
import xml.etree.ElementTree as _ET
assert svg.lstrip().startswith("<svg "), "rădăcina nu e <svg>"
_root = _ET.fromstring(svg)
assert _root.tag.endswith("svg"), f"rădăcină neașteptată: {_root.tag}"
# 9. fără cifre de RS inventate: niciun text nu conține numere zecimale sau
# procente (axele folosesc doar „0”, ca prag, nu valori de RS)
import re
for _x, _y, _s, _size, _weight, _fill, _anchor in TEXTS:
assert not re.search(r"\d+[.,]\d+", _s), f"cifră de RS inventată: {_s!r}"
assert "%" not in _s, f"procent inventat: {_s!r}"
assert "score" not in svg and "scor" not in svg
OUT = Path(__file__).with_suffix(".svg")
OUT.write_text(svg, encoding="utf-8")
print(f"scris {OUT} ({len(svg)} bytes, {len(TEXTS)} etichete, "
f"{len(quads)} cadrane, {W}x{H}), verificare OK")

View File

@@ -0,0 +1,47 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 720" width="700" height="720" font-family="system-ui, sans-serif" role="img" aria-label="Matricea 2x2 a relative strength: cadranele 1 si 2 sunt pentru long, cadranele 3 si 4 pentru short; cadranul 4 nu se tranzactioneaza pe orb">
<rect x="0" y="0" width="700" height="720" fill="#ffffff"/>
<rect x="130.0" y="134.0" width="440.0" height="280.0" fill="#ffffff" stroke="#777777" stroke-width="1.0"/>
<line x1="130.0" y1="274.0" x2="570.0" y2="274.0" stroke="#777777" stroke-width="1.0" stroke-dasharray="4 4"/>
<line x1="350.0" y1="134.0" x2="350.0" y2="414.0" stroke="#777777" stroke-width="1.0" stroke-dasharray="4 4"/>
<rect x="130.0" y="134.0" width="218.0" height="138.0" fill="#fdeeee" stroke="#c00" stroke-width="1.6"/>
<rect x="352.0" y="134.0" width="218.0" height="138.0" fill="#eef7f0" stroke="#188a3e" stroke-width="1.6"/>
<rect x="130.0" y="276.0" width="218.0" height="138.0" fill="#fdeeee" stroke="#c00" stroke-width="1.6" stroke-dasharray="6 4"/>
<rect x="352.0" y="276.0" width="218.0" height="138.0" fill="#eef7f0" stroke="#188a3e" stroke-width="1.6"/>
<rect x="40.0" y="460.0" width="620.0" height="196.0" fill="#fdf0e0" stroke="#b06000" stroke-width="1.6"/>
<text x="350.0" y="34.0" font-size="20" font-weight="bold" fill="#000000" text-anchor="middle">Relative strength — cele 4 cadrane</text>
<text x="350.0" y="58.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">RS = cât de bine se mișcă simbolul față de benchmark (ex. SPY)</text>
<text x="350.0" y="80.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Axa verticală: histograma RS față de 0 (peste / sub 0)</text>
<text x="350.0" y="98.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Axa orizontală: histograma RS față de MA (peste / sub MA)</text>
<text x="241.0" y="122.0" font-size="14" font-weight="bold" fill="#b06000" text-anchor="middle">sub MA</text>
<text x="461.0" y="122.0" font-size="14" font-weight="bold" fill="#1a5fb4" text-anchor="middle">peste MA</text>
<text x="122.0" y="203.0" font-size="14" font-weight="bold" fill="#188a3e" text-anchor="end">peste 0</text>
<text x="122.0" y="345.0" font-size="14" font-weight="bold" fill="#c00" text-anchor="end">sub 0</text>
<text x="239.0" y="164.0" font-size="16" font-weight="bold" fill="#000000" text-anchor="middle">Cadran 3</text>
<text x="239.0" y="186.0" font-size="14" font-weight="bold" fill="#c00" text-anchor="middle">înrăutățire</text>
<text x="239.0" y="214.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">peste 0, dar sub MA</text>
<text x="239.0" y="246.0" font-size="16" font-weight="bold" fill="#c00" text-anchor="middle">SHORT</text>
<text x="461.0" y="164.0" font-size="16" font-weight="bold" fill="#000000" text-anchor="middle">Cadran 1</text>
<text x="461.0" y="186.0" font-size="14" font-weight="bold" fill="#188a3e" text-anchor="middle">supraperformanță</text>
<text x="461.0" y="214.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">peste 0 și peste MA</text>
<text x="461.0" y="246.0" font-size="16" font-weight="bold" fill="#188a3e" text-anchor="middle">LONG</text>
<text x="239.0" y="302.0" font-size="16" font-weight="bold" fill="#000000" text-anchor="middle">Cadran 4</text>
<text x="239.0" y="324.0" font-size="14" font-weight="bold" fill="#c00" text-anchor="middle">subperformanță</text>
<text x="239.0" y="350.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">sub 0 și sub MA</text>
<text x="239.0" y="376.0" font-size="15" font-weight="bold" fill="#c00" text-anchor="middle">SHORT</text>
<text x="239.0" y="398.0" font-size="13" font-weight="normal" fill="#c00" text-anchor="middle">stai pe margine</text>
<text x="461.0" y="302.0" font-size="16" font-weight="bold" fill="#000000" text-anchor="middle">Cadran 2</text>
<text x="461.0" y="324.0" font-size="14" font-weight="bold" fill="#188a3e" text-anchor="middle">îmbunătățire</text>
<text x="461.0" y="350.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">sub 0, dar peste MA</text>
<text x="461.0" y="376.0" font-size="15" font-weight="bold" fill="#188a3e" text-anchor="middle">LONG</text>
<text x="461.0" y="398.0" font-size="13" font-weight="normal" fill="#188a3e" text-anchor="middle">zona de cumpărat</text>
<text x="350.0" y="442.0" font-size="14" font-weight="bold" fill="#000000" text-anchor="middle">Long = cadranele 1-2 · Short = cadranele 3-4</text>
<text x="60.0" y="488.0" font-size="15" font-weight="bold" fill="#c00" text-anchor="start">Avertisment — cadranul 4 nu se tranzacționează pe orb</text>
<text x="60.0" y="516.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">„Cadranul 4 nu se tranzacționează pe orb: aștepți trecerea în 2 sau 1,</text>
<text x="60.0" y="536.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">ori un MP4-1 / MBT-10 long ca semn de schimbare.”</text>
<text x="60.0" y="566.0" font-size="13" font-weight="bold" fill="#000000" text-anchor="start">„Un setup de bottom cu RS fără îmbunătățire are șanse mai mici.”</text>
<text x="60.0" y="596.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">Notă: transcrierea descrierii cadranului 4 are o eroare (îl descrie ca pe</text>
<text x="60.0" y="616.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">cadranul 3); definiția de mai sus e completarea sumarului —</text>
<text x="60.0" y="636.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">03_MODUL_2/06_indicatorul_de_performanta.md:41-48.</text>
<text x="350.0" y="686.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Surse: 08_ANALIZA_ZILNICA/11_selectia_simbolului.md:486-499, :501-508;</text>
<text x="350.0" y="704.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">03_MODUL_2/06_indicatorul_de_performanta.md:31-39.</text>
</svg>

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -0,0 +1,208 @@
"""HIG — daily (Sell Doji + Bear Reversal, RVOL 200%): exemplul oglinda (short).
Citește `gen/strategii/selectia_exemplu.spec.txt`. Un simbol scos în față de
filtrul de selecție prin Relative Volume mare (200%, cel mai ridicat din cele
16 rezultate ale scanerului), dus până la planul de intrare. Grafic daily, 30
de candele, serie continuă, cu panou de volum și SMA-20 — construit prin
`svg_candles` (from_closes), la scară.
Rulează:
python3 gen/strategii/selectia_exemplu.py
Scrie lângă el `selectia_exemplu.svg`.
"""
import re
import sys
from pathlib import Path
sys.path.insert(0, "/workspace/atm-curs-dl")
from svg_candles import Candle, Chart, Level, Mark, MA, from_closes # noqa: E402
OUT = Path(__file__).resolve().parent / "selectia_exemplu.svg"
GRAY, RED, GREEN, BLUE, ORANGE = "#777", "#c00", "#188a3e", "#1a5fb4", "#b06000"
# ---------------------------------------------------------------- seria (30 bare)
# bare 0-9 : uptrend / rezistenta spre varful 84.50 (atins pe bara 9)
# bara 10 : gap down, open 79.20 (< close[9] = 84.20), bara rosie
# bara 11 : continuare in jos
# bara 12 : sell doji, close 78.60 (open = close[11] = 78.75, corp 0.15)
# bara 13 : rupere sub low-ul dojii -> intrare short 78.10
# bare 14-29 : scadere spre 72.00 (TP atins spre final), mici bare verzi de
# respiratie (15, 18, 21, 24), dar trend descendent
CLOSES = [
80.00, 80.60, 81.20, 81.90, 81.50, # 0-4
82.30, 82.90, 83.60, 84.00, 84.20, # 5-9 varful seriei
78.95, # 10 gap down (open 79.20, refacut mai jos)
78.75, # 11
78.60, # 12 sell doji
78.05, # 13 ruperea
77.50, 77.80, 77.20, 76.60, 76.90, # 14-18
76.20, 75.60, 75.90, 75.30, 74.80, # 19-23
75.10, 74.40, 73.80, 73.20, 72.60, # 24-28
71.90, # 29 TP 72.00 atins
]
assert len(CLOSES) == 30, len(CLOSES)
# wick-uri moderate (0.3-0.9); bara 9 urca exact la rezistenta 84.50
WICKS = [(0.45, 0.40)] * 30
WICKS[1] = (0.40, 0.45)
WICKS[2] = (0.50, 0.40)
WICKS[3] = (0.55, 0.45)
WICKS[4] = (0.45, 0.55)
WICKS[5] = (0.50, 0.40)
WICKS[6] = (0.45, 0.50)
WICKS[7] = (0.40, 0.45)
WICKS[8] = (0.35, 0.40)
WICKS[9] = (0.30, 0.45) # high 84.20 + 0.30 = 84.50 = rezistenta
WICKS[10] = (0.40, 0.50) # gap: open 79.20, high 79.60, low 78.45
WICKS[11] = (0.45, 0.40)
WICKS[12] = (0.35, 0.40) # doji: high 79.10, low 78.20
WICKS[13] = (0.40, 0.40) # low 77.65, sub intrarea 78.10
WICKS[29] = (0.50, 0.55)
assert len(WICKS) == 30, len(WICKS)
# panoul de volum: bara 10 (gap-ul) = 200% din media seriei, bara cea mai inalta;
# suma 3000 => media 100, bara 10 = 200.
VOLS = [
88, 82, 90, 100, 86, 108, 104, 120, 96, 100, # 0-9
200, # 10 RVOL 200%
130, 100, 150, 102, 88, 108, 96, 84, 100, # 11-19
90, 78, 98, 86, 74, 92, 82, 104, 76, 88, # 20-29
]
assert len(VOLS) == 30, len(VOLS)
media_vol = sum(VOLS) / len(VOLS)
assert VOLS[10] == max(VOLS), "bara 10 (gap-ul) nu e cea mai inalta"
assert abs(VOLS[10] / media_vol - 2.00) < 0.01, VOLS[10] / media_vol
cds = from_closes(CLOSES, wicks=WICKS, vols=VOLS, start=79.80)
# bara de gap: singura cu open != close-ul barei precedente (open 79.20 explicit)
cds[10] = Candle(79.20, max(79.20, 78.95) + 0.40, min(79.20, 78.95) - 0.50,
78.95, vol=VOLS[10])
# ---------------------------------------------------------------- assert-urile din spec
assert abs(cds[12].c - 78.60) < 1e-9, "doji-ul trebuie sa inchida la 78.60"
assert abs(max(cds[12].o, cds[12].c) - min(cds[12].o, cds[12].c)) <= 0.30, "bara 12 nu e doji"
assert 72.00 < 78.10 < 78.60 < 82.00 < 84.50, "ordinea nivelurilor short"
assert cds[13].l <= 78.10, "intrarea short nu e sub low-ul dojii"
assert cds[13].l < cds[12].l, "intrarea nu sparge low-ul dojii"
assert cds[10].o < cds[9].c, "bara 10 nu e gap down"
risc = 82.00 - 78.10 # 3.90
reward = 78.10 - 72.00 # 6.10
assert abs(reward / risc - 1.56) < 0.02, "raportul nu e ~1.56R"
assert cds[-1].c <= 72.00, "TP-ul nu e atins in serie"
# open = close-ul barei precedente peste tot, mai putin bara de gap (10)
for i, (a, b) in enumerate(zip(cds, cds[1:])):
if i + 1 == 10:
continue
assert abs(a.c - b.o) < 1e-9, "serie cu gol artificial intre bare"
assert cds[9].h == 84.50, "varful nu atinge rezistenta 84.50"
assert min(c.l for c in cds) >= 71.30, "SL-ul de 82.00 nu poate fi sub minimul seriei"
# ---------------------------------------------------------------- niveluri, etichete
levels = [
Level(84.50, "rezistenta 84.50", GRAY, label_at="left"),
Level(82.00, "SL 82.00", RED, label_at="right"),
Level(78.10, "intrare short 78.10", BLUE, label_at="left"),
Level(72.00, "TP 72.00", GREEN, label_at="left"),
]
marks = [
Mark(10, "gap down, open 79.20", "#333", "above", dy=-16),
Mark(12, "sell doji close 78.60", RED, "above", dy=-4),
Mark(13, "intrare short 78.10", GREEN, "below", dy=26),
Mark(10, "RVOL 200%", RED, "below", dy=12),
]
title = "HIG — daily (Sell Doji + Bear Reversal, RVOL 200%)"
caption = ("RVOL 200% si simbolul sunt reale (04_MODUL_3/01:196-199). Toate "
"nivelurile de preț (79.20 / 78.60 / 78.10 / 82.00 / 72.00) sunt "
"construite in sumarul 04_MODUL_3/01:293-296, nu date de curs; "
"structura barelor e construita, la scara.")
ch = Chart(
candles=cds, levels=levels, marks=marks,
mas=[MA(20, ORANGE, dash="4 3", text="SMA-20")],
scale=16.0, gap=15, body_w=9, left=44, width=640, vol_h=70,
vol_label="volum",
title="", # titlul se injecteaza sus, ca sa nu se suprapuna
caption=caption, # cu eticheta nivelului "rezistenta 84.50" (stanga)
)
svg = ch.render()
# ---------------------------------------------------------------- verificarea de scara
ys = {p: ch._y(p) for p in (82.00, 78.10, 72.00)}
px_risc = ys[78.10] - ys[82.00] # y creste in jos, SL-ul e deasupra intrarii
px_reward = ys[72.00] - ys[78.10]
assert px_risc > 0 and px_reward > 0
assert abs(px_risc / px_reward - risc / reward) < 1e-9, "SL/TP la scara gresita"
# ---------------------------------------------------------------- titlu injectat
m_svg = re.search(r"<svg[^>]*>", svg)
assert m_svg, "tag <svg> lipsa"
svg = svg.replace(
m_svg.group(0),
m_svg.group(0) + f'\n <text x="24" y="16" fill="#333" style="font-weight:bold">{title}</text>',
1,
)
# ---------------------------------------------------------------- caption pe randuri
def _wrap(text: str, max_chars: int) -> list[str]:
lines, cur = [], ""
for w in text.split():
if cur and len(cur) + 1 + len(w) > max_chars:
lines.append(cur)
cur = w
else:
cur = f"{cur} {w}".strip()
if cur:
lines.append(cur)
return lines
cap_lines = _wrap(caption, 70)
m = re.search(r'<text x="24" y="(\d+)" fill="#555">' + re.escape(caption) + r"</text>\s*</svg>", svg)
assert m, "caption-ul nu a fost gasit in SVG"
y0 = int(m.group(1))
wrapped = "\n ".join(f'<text x="24" y="{y0 + 17 * i}" fill="#555">{ln}</text>'
for i, ln in enumerate(cap_lines))
svg = svg[:m.start()] + wrapped + "\n</svg>"
vm = re.search(r'viewBox="0 0 (\d+) (\d+)"', svg)
assert vm
svg = svg.replace(vm.group(0),
f'viewBox="0 0 {vm.group(1)} {int(vm.group(2)) + 17 * (len(cap_lines) - 1)}"', 1)
# ---------------------------------------------------------------- verificare layout
width, height = int(vm.group(1)), int(vm.group(2)) + 17 * (len(cap_lines) - 1)
texts = re.findall(r'<text x="([\d.]+)" y="([\d.]+)"([^>]*)>(.*?)</text>', svg)
assert texts, "niciun text in SVG"
for x, y, _attrs, t in texts:
assert 0 <= float(x) <= width, f"text in afara pânzei pe x: {t!r} x={x}"
assert 0 <= float(y) <= height, f"text in afara pânzei pe y: {t!r} y={y}"
# nicio pereche de texte nu se suprapune pe ambele axe (12px inaltime,
# latime estimata 6.5px/caracter; ancorele start/middle/end sunt respectate)
boxes = []
for x, y, attrs, t in texts:
w = 6.5 * len(t)
if 'text-anchor="middle"' in attrs:
x0 = float(x) - w / 2
elif 'text-anchor="end"' in attrs:
x0 = float(x) - w
else:
x0 = float(x)
boxes.append((x0, float(y), t, w))
for i in range(len(boxes)):
for j in range(i + 1, len(boxes)):
xi, yi, ti, wi = boxes[i]
xj, yj, tj, wj = boxes[j]
dx = min(xi + wi, xj + wj) - max(xi, xj)
dy = abs(yi - yj)
if dx > 4 and dy < 11:
raise AssertionError(f"texte suprapuse: {ti!r}@{xi:.0f},{yi:.0f} vs {tj!r}@{xj:.0f},{yj:.0f}")
assert "<svg" in svg and "\n\n" not in svg, "linie goala in SVG"
OUT.write_text(svg)
print(f"scris {OUT.name}: {len(cds)} candele, doji {cds[12].c:.2f}, "
f"gap open {cds[10].o:.2f} (RVOL {VOLS[10]/media_vol:.2f}), "
f"intrare 78.10, SL 82.00 = 3.90, TP 72.00 = 6.10 ({reward/risc:.2f}R), "
f"ultimul close {cds[-1].c:.2f}")

View File

@@ -0,0 +1,113 @@
<svg viewBox="0 0 640 433" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="16" fill="#333" style="font-weight:bold">HIG — daily (Sell Doji + Bear Reversal, RVOL 200%)</text>
<line x1="24" y1="34.0" x2="626" y2="34.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="28.0" fill="#777">rezistenta 84.50</text>
<line x1="24" y1="74.0" x2="626" y2="74.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="68.0" fill="#c00" text-anchor="end">SL 82.00</text>
<line x1="24" y1="136.4" x2="626" y2="136.4" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="130.4" fill="#1a5fb4">intrare short 78.10</text>
<line x1="24" y1="234.0" x2="626" y2="234.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="228.0" fill="#188a3e">TP 72.00</text>
<polyline points="329.0,107.0 344.0,110.5 359.0,114.3 374.0,119.0 389.0,124.7 404.0,129.8 419.0,136.1 434.0,143.4 449.0,151.7 464.0,160.8 479.0,170.7" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="485" y="165" fill="#b06000">SMA-20</text>
<line x1="44.0" y1="98.8" x2="44.0" y2="115.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="106.0" width="9" height="3.2" fill="#188a3e"/>
<line x1="59.0" y1="90.0" x2="59.0" y2="113.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="96.4" width="9" height="9.6" fill="#188a3e"/>
<line x1="74.0" y1="78.8" x2="74.0" y2="102.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="86.8" width="9" height="9.6" fill="#188a3e"/>
<line x1="89.0" y1="66.8" x2="89.0" y2="94.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="75.6" width="9" height="11.2" fill="#188a3e"/>
<line x1="104.0" y1="68.4" x2="104.0" y2="90.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="75.6" width="9" height="6.4" fill="#c00"/>
<line x1="119.0" y1="61.2" x2="119.0" y2="88.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="69.2" width="9" height="12.8" fill="#188a3e"/>
<line x1="134.0" y1="52.4" x2="134.0" y2="77.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="59.6" width="9" height="9.6" fill="#188a3e"/>
<line x1="149.0" y1="42.0" x2="149.0" y2="66.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="48.4" width="9" height="11.2" fill="#188a3e"/>
<line x1="164.0" y1="36.4" x2="164.0" y2="54.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="42.0" width="9" height="6.4" fill="#188a3e"/>
<line x1="179.0" y1="34.0" x2="179.0" y2="49.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="38.8" width="9" height="3.2" fill="#188a3e"/>
<line x1="194.0" y1="112.4" x2="194.0" y2="130.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="118.8" width="9" height="4.0" fill="#c00"/>
<line x1="209.0" y1="115.6" x2="209.0" y2="132.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="122.8" width="9" height="3.2" fill="#c00"/>
<line x1="224.0" y1="120.4" x2="224.0" y2="134.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="126.0" width="9" height="2.4" fill="#c00"/>
<line x1="239.0" y1="122.0" x2="239.0" y2="143.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="128.4" width="9" height="8.8" fill="#c00"/>
<line x1="254.0" y1="130.0" x2="254.0" y2="152.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="137.2" width="9" height="8.8" fill="#c00"/>
<line x1="269.0" y1="134.0" x2="269.0" y2="152.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="141.2" width="9" height="4.8" fill="#188a3e"/>
<line x1="284.0" y1="134.0" x2="284.0" y2="157.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="141.2" width="9" height="9.6" fill="#c00"/>
<line x1="299.0" y1="143.6" x2="299.0" y2="166.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="150.8" width="9" height="9.6" fill="#c00"/>
<line x1="314.0" y1="148.4" x2="314.0" y2="166.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="155.6" width="9" height="4.8" fill="#188a3e"/>
<line x1="329.0" y1="148.4" x2="329.0" y2="173.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="155.6" width="9" height="11.2" fill="#c00"/>
<line x1="344.0" y1="159.6" x2="344.0" y2="182.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="166.8" width="9" height="9.6" fill="#c00"/>
<line x1="359.0" y1="164.4" x2="359.0" y2="182.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="171.6" width="9" height="4.8" fill="#188a3e"/>
<line x1="374.0" y1="164.4" x2="374.0" y2="187.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="171.6" width="9" height="9.6" fill="#c00"/>
<line x1="389.0" y1="174.0" x2="389.0" y2="195.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="181.2" width="9" height="8.0" fill="#c00"/>
<line x1="404.0" y1="177.2" x2="404.0" y2="195.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="184.4" width="9" height="4.8" fill="#188a3e"/>
<line x1="419.0" y1="177.2" x2="419.0" y2="202.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="184.4" width="9" height="11.2" fill="#c00"/>
<line x1="434.0" y1="188.4" x2="434.0" y2="211.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="195.6" width="9" height="9.6" fill="#c00"/>
<line x1="449.0" y1="198.0" x2="449.0" y2="221.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="205.2" width="9" height="9.6" fill="#c00"/>
<line x1="464.0" y1="207.6" x2="464.0" y2="230.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="214.8" width="9" height="9.6" fill="#c00"/>
<line x1="479.0" y1="216.4" x2="479.0" y2="244.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="224.4" width="9" height="11.2" fill="#c00"/>
<line x1="24" y1="340.4" x2="626" y2="340.4" stroke="#888"/>
<rect x="39.5" y="309.6" width="9" height="30.8" fill="#188a3e" opacity="0.55"/>
<rect x="54.5" y="311.7" width="9" height="28.7" fill="#188a3e" opacity="0.55"/>
<rect x="69.5" y="308.9" width="9" height="31.5" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="305.4" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="99.5" y="310.3" width="9" height="30.1" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="302.6" width="9" height="37.8" fill="#188a3e" opacity="0.55"/>
<rect x="129.5" y="304.0" width="9" height="36.4" fill="#188a3e" opacity="0.55"/>
<rect x="144.5" y="298.4" width="9" height="42.0" fill="#188a3e" opacity="0.55"/>
<rect x="159.5" y="306.8" width="9" height="33.6" fill="#188a3e" opacity="0.55"/>
<rect x="174.5" y="305.4" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="189.5" y="270.4" width="9" height="70.0" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="294.9" width="9" height="45.5" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="305.4" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="234.5" y="287.9" width="9" height="52.5" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="304.7" width="9" height="35.7" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="309.6" width="9" height="30.8" fill="#188a3e" opacity="0.55"/>
<rect x="279.5" y="302.6" width="9" height="37.8" fill="#c00" opacity="0.55"/>
<rect x="294.5" y="306.8" width="9" height="33.6" fill="#c00" opacity="0.55"/>
<rect x="309.5" y="311.0" width="9" height="29.4" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="305.4" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="339.5" y="308.9" width="9" height="31.5" fill="#c00" opacity="0.55"/>
<rect x="354.5" y="313.1" width="9" height="27.3" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="306.1" width="9" height="34.3" fill="#c00" opacity="0.55"/>
<rect x="384.5" y="310.3" width="9" height="30.1" fill="#c00" opacity="0.55"/>
<rect x="399.5" y="314.5" width="9" height="25.9" fill="#188a3e" opacity="0.55"/>
<rect x="414.5" y="308.2" width="9" height="32.2" fill="#c00" opacity="0.55"/>
<rect x="429.5" y="311.7" width="9" height="28.7" fill="#c00" opacity="0.55"/>
<rect x="444.5" y="304.0" width="9" height="36.4" fill="#c00" opacity="0.55"/>
<rect x="459.5" y="313.8" width="9" height="26.6" fill="#c00" opacity="0.55"/>
<rect x="474.5" y="309.6" width="9" height="30.8" fill="#c00" opacity="0.55"/>
<text x="24" y="264.4" fill="#555">volum</text>
<text x="194.0" y="86.4" fill="#333" text-anchor="middle" style="font-weight:bold">gap down, open 79.20</text>
<text x="224.0" y="106.4" fill="#c00" text-anchor="middle" style="font-weight:bold">sell doji close 78.60</text>
<text x="239.0" y="189.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">intrare short 78.10</text>
<text x="194.0" y="162.8" fill="#c00" text-anchor="middle" style="font-weight:bold">RVOL 200%</text>
<text x="24" y="370" fill="#555">RVOL 200% si simbolul sunt reale (04_MODUL_3/01:196-199). Toate</text>
<text x="24" y="387" fill="#555">nivelurile de preț (79.20 / 78.60 / 78.10 / 82.00 / 72.00) sunt</text>
<text x="24" y="404" fill="#555">construite in sumarul 04_MODUL_3/01:293-296, nu date de curs;</text>
<text x="24" y="421" fill="#555">structura barelor e construita, la scara.</text>
</svg>

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

@@ -0,0 +1,282 @@
#!/usr/bin/env python3
"""Fluxul de selecție — palnia de filtrare de la scanner la lista scurtă.
Diagramă conceptuală (NU grafic de preț): palnie cu 8 trepte care se
îngustează de sus în jos, apoi lista scurtă; cutie separată de note laterale.
Pentru `strategii/04_selectia.md`, Nivel 1, §1.2 „Fluxul de filtrare, pas cu
pas". Citește specificația `gen/strategii/selectia_funnel.spec.txt` și scrie
`gen/strategii/selectia_funnel.svg`.
Nu folosește `svg_candles` / `pchart`: SVG-ul e construit ca string, doar
stdlib.
Fiecare treaptă are titlul, subtitlul cu pragul și trimiterea (sursa).
Toate cifrele din desen (pragurile, „max ~300 simboluri”, „top 10”) sunt
preluate textual din specificație; nu se inventează valori de RS sau de
sectoare.
Rulare: .venv/bin/python gen/strategii/selectia_funnel.py
"""
import html
import re
from pathlib import Path
W = 700
H = 1024
BLACK = "#000000"
GRAY = "#777777"
RED = "#c00"
GREEN = "#188a3e"
BLUE = "#1a5fb4"
ORANGE = "#b06000"
STEP_FILL = ("#eef3fb", "#e4edf9") # alternanță foarte fină între trepte
GREEN_BG = "#eef7f0"
NOTE_BG = "#fdf0e0"
# ---------------------------------------------------------------- geometrie
CX = W / 2.0 # 350: axa palniei
TOPW = 610.0 # lățimea gurii palniei
NARROW = 24.0 # cât se strânge pe fiecare treaptă
Y0 = 100.0
HSTEP = 76.0
LIST_W, LIST_Y, LIST_H = 410.0, 722.0, 62.0
NOTE = {"x": 40.0, "y": 802.0, "w": 620.0, "h": 200.0}
# ---------------------------------------------------------------- conținut
# (titlu, subtitlu, [linii de sursă])
STEPS = [
("Scanner — multe semnale",
"zeci sau sute de semnale",
["08_ANALIZA_ZILNICA/11_selectia_simbolului.md:631-637"]),
("Filtre de bază",
"close > 30-40 $; volum mediu 3 luni > 1M (min 500k)",
["09_QA/28_2025-05-27.md:372-380;",
"03_MODUL_2/11_construire_scanere_sf_byd_sld.md:70-73"]),
("Fundamental",
"ATM score peste 7-8; 12-13 = spuma; F-score 6-9",
["08_ANALIZA_ZILNICA/11_selectia_simbolului.md:199-221"]),
("Sectorul care domină",
"cele 11 sectoare S&P, sortate cadran 1 + valoarea RS, săptămânal",
["08_ANALIZA_ZILNICA/11_selectia_simbolului.md:639-717"]),
("Doar suport / pivot, după downtrend",
"suport monthly, quarterly, anual sau pivot; proximitate ≤ 3%",
["08_ANALIZA_ZILNICA/11_selectia_simbolului.md:719-728, 787-803"]),
("Relative strength: cadran 1-2",
"doar cadranele 1 și 2, RS pozitiv",
["08_ANALIZA_ZILNICA/11_selectia_simbolului.md:730-739"]),
("Relative volume peste 100%",
"candela de volum / media ultimelor 10 candele",
["08_ANALIZA_ZILNICA/11_selectia_simbolului.md:741-747"]),
("Stele (Trinity)",
"RS + Power + volum, cadran 1",
["08_ANALIZA_ZILNICA/11_selectia_simbolului.md:776-785"]),
]
LIST = ("Listă scurtă",
"câteva idei pe care le urmărești",
"08_ANALIZA_ZILNICA/11_selectia_simbolului.md:42-50")
TITLE = "Fluxul de selecție — de la scanner la lista scurtă"
SUBTITLE = ("selecția se face înainte de semnalul tehnic; "
"ea nu spune CÂND intri")
CAPTION = "Palnia se îngustează de sus în jos: 8 filtre, apoi lista scurtă."
NOTE_TITLE = "Note laterale"
NOTE1 = ["După corecție masivă: doji / hammer la suporturi mari",
"(monthly, quarterly, anual); scanner de apropiere de suport",
"până la 3% (4% e cam departe)."]
NOTE1_SRC = "08_ANALIZA_ZILNICA/11_selectia_simbolului.md:787-803"
NOTE2 = ["Radarscreen (max ~300 simboluri): repetă fluxul — sectoare top 10,",
"RS, apoi 3 stele."]
NOTE2_SRC = "08_ANALIZA_ZILNICA/11_selectia_simbolului.md:815-825"
# ---------------------------------------------------------------- colect
TEXTS = [] # (x, y, s, size, weight, fill, anchor)
SHAPES = [] # (x, y, w, h, tag) bbox-uri pentru verificare
WIDTHS = [] # (w_sus, w_jos) pe fiecare treaptă, pentru verificat conectarea
def add(x, y, s, size=13, weight="normal", fill=BLACK, anchor="middle"):
TEXTS.append((x, y, s, size, weight, fill, anchor))
return s
def est_w(s, size, weight):
factor = 0.62 if weight == "bold" else 0.56
return len(s) * size * factor
def txt(x, y, s, size=13, weight="normal", fill=BLACK, anchor="middle"):
return (f'<text x="{x:.1f}" y="{y:.1f}" font-size="{size}" '
f'font-weight="{weight}" fill="{fill}" text-anchor="{anchor}">'
f'{html.escape(s, quote=False)}</text>')
def rect(x, y, w, h, tag, fill="#ffffff", stroke=GRAY, sw=1.5, rx=0):
SHAPES.append((x, y, w, h, tag))
r = f' rx="{rx}"' if rx else ""
return (f'<rect x="{x:.1f}" y="{y:.1f}" width="{w:.1f}" height="{h:.1f}" '
f'fill="{fill}" stroke="{stroke}" stroke-width="{sw}"{r}/>')
def trapezoid(y, wt, wb, h, index):
"""Treaptă de palnie: muchia de sus lată wt, cea de jos wb."""
xtl, xtr = CX - wt / 2.0, CX + wt / 2.0
xbl, xbr = CX - wb / 2.0, CX + wb / 2.0
SHAPES.append((xbl, y, wb, h, f"step{index}"))
WIDTHS.append((wt, wb))
d = (f"M {xtl:.1f} {y:.1f} L {xtr:.1f} {y:.1f} "
f"L {xbr:.1f} {y + h:.1f} L {xbl:.1f} {y + h:.1f} Z")
fill = STEP_FILL[index % 2]
return (f'<path d="{d}" fill="{fill}" stroke="{BLUE}" '
f'stroke-width="1.2"/>')
# =============================================================== CONȚINUT
p = []
# ---- titlu / subtitlu / caption
add(W / 2, 34, TITLE, 20, "bold")
add(W / 2, 57, SUBTITLE, 13, "normal", GRAY)
add(W / 2, 79, CAPTION, 13, "normal", GRAY)
# ---- palnia: 8 trepte
for i, (titlu, subtitlu, surse) in enumerate(STEPS):
y = Y0 + i * HSTEP
wt = TOPW - i * NARROW
wb = TOPW - (i + 1) * NARROW
p.append(trapezoid(y, wt, wb, HSTEP, i))
add(CX, y + 25, f"{i + 1}. {titlu}", 14.5, "bold", BLACK)
add(CX, y + 45, subtitlu, 13, "normal", BLACK)
for k, src in enumerate(surse):
add(CX, y + 59 + k * 14, src, 13, "normal", GRAY)
# ---- lista scurtă (vârful palniei, cutie separată)
p.append(rect(CX - LIST_W / 2, LIST_Y, LIST_W, LIST_H, "list",
fill=GREEN_BG, stroke=GREEN, sw=1.8, rx=8))
add(CX, LIST_Y + 24, LIST[0], 16, "bold", GREEN)
add(CX, LIST_Y + 43, LIST[1], 13, "normal", BLACK)
add(CX, LIST_Y + 57, LIST[2], 13, "normal", GRAY)
# ---- cutia de note laterale
p.append(rect(NOTE["x"], NOTE["y"], NOTE["w"], NOTE["h"], "note",
fill=NOTE_BG, stroke=ORANGE, sw=1.6, rx=8))
nx = NOTE["x"] + 20
add(nx, NOTE["y"] + 28, NOTE_TITLE, 15, "bold", ORANGE, "start")
add(nx, NOTE["y"] + 56, NOTE1[0], 13, "normal", BLACK, "start")
add(nx, NOTE["y"] + 75, NOTE1[1], 13, "normal", BLACK, "start")
add(nx, NOTE["y"] + 94, NOTE1[2], 13, "normal", BLACK, "start")
add(nx, NOTE["y"] + 115, NOTE1_SRC, 13, "normal", GRAY, "start")
add(nx, NOTE["y"] + 150, NOTE2[0], 13, "normal", BLACK, "start")
add(nx, NOTE["y"] + 169, NOTE2[1], 13, "normal", BLACK, "start")
add(nx, NOTE["y"] + 190, NOTE2_SRC, 13, "normal", GRAY, "start")
# =============================================================== EMITERE
head = (f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {W} {H}" '
f'width="{W}" height="{H}" font-family="system-ui, sans-serif" '
f'role="img" aria-label="Palnia de selectie: 8 trepte de filtrare de la '
f'scanner la lista scurta, fiecare cu pragul si sursa ei, plus note '
f'laterale despre suporturi si Radarscreen">')
body = [head, f'<rect x="0" y="0" width="{W}" height="{H}" fill="#ffffff"/>']
body += p
for x, y, s, size, weight, fill, anchor in TEXTS:
body.append(txt(x, y, s, size, weight, fill, anchor))
body.append("</svg>")
svg = "\n".join(body) + "\n"
# =============================================================== VERIFICARE
# 1. palnia are exact 8 trepte, conectate și tot mai înguste
assert len(STEPS) == 8, f"aștept 8 trepte, am {len(STEPS)}"
traps = [s for s in SHAPES if s[4].startswith("step")]
assert len(traps) == 8, f"aștept 8 trapezoide, am {len(traps)}"
assert len(WIDTHS) == 8
for i, (wt, wb) in enumerate(WIDTHS):
assert wt > wb, f"treapta {i} nu se îngustează"
if i:
assert abs(WIDTHS[i][0] - WIDTHS[i - 1][1]) < 1e-9, \
f"treapta {i} nu continuă muchia treptei {i - 1}"
assert WIDTHS[-1][1] < WIDTHS[0][0], "palnia nu se îngustează de sus în jos"
assert LIST_W < traps[-1][2], "lista scurtă nu e mai îngustă decât vârful palniei"
# 2. toate titlurile și subtitlurile din spec sunt desenate
for i, (titlu, subtitlu, surse) in enumerate(STEPS):
assert any(t[2] == f"{i + 1}. {titlu}" for t in TEXTS), \
f"lipsește titlul treptei {i + 1}: {titlu!r}"
assert any(t[2] == subtitlu for t in TEXTS), \
f"lipsește subtitlul treptei {i + 1}: {subtitlu!r}"
for src in surse:
assert src in svg, f"lipsește sursa treptei {i + 1}: {src!r}"
assert any(t[2] == LIST[0] for t in TEXTS), "lipsește «Listă scurtă»"
assert "câteva idei pe care le urmărești" in svg
# 3. titlul, subtitlul și notele din spec sunt exact cele desenate
assert TITLE in svg, "lipsește titlul din spec"
assert SUBTITLE in svg, "lipsește subtitlul din spec"
for line in NOTE1 + [NOTE1_SRC] + NOTE2 + [NOTE2_SRC]:
assert line in svg, f"lipsește din note: {line!r}"
# 4. fiecare textul încape în lățimea treptei lui (muchia de jos, cea îngustă)
for i in range(8):
ytop = Y0 + i * HSTEP
ybot = ytop + HSTEP
wb = TOPW - (i + 1) * NARROW
for x, y, s, size, weight, fill, anchor in TEXTS:
if ytop <= y <= ybot:
w = est_w(s, size, weight)
assert w <= wb - 14, f"treapta {i + 1}: text prea lat: {s!r} ({w:.0f})"
# textul din lista scurtă și din note încape în cutiile lor
for x, y, s, size, weight, fill, anchor in TEXTS:
if LIST_Y <= y <= LIST_Y + LIST_H:
assert est_w(s, size, weight) <= LIST_W - 16, f"listă: text prea lat: {s!r}"
if NOTE["y"] <= y <= NOTE["y"] + NOTE["h"]:
assert est_w(s, size, weight) <= NOTE["w"] - 40, f"notă: text prea lat: {s!r}"
# 5. toate etichetele în panză + fără suprapuneri
boxes = []
for x, y, s, size, weight, fill, anchor in TEXTS:
assert size >= 13, f"font sub 13px: {s!r}"
w = est_w(s, size, weight)
if anchor == "end":
left = x - w
elif anchor == "start":
left = x
else:
left = x - w / 2.0
right = left + w
top, bottom = y - size * 0.78, y + size * 0.22
assert -2 <= left and right <= W + 2, f"text în afara panzei orizontal: {s!r}"
assert 0 <= top and bottom <= H, f"text în afara panzei vertical: {s!r}"
boxes.append((left, right, top, bottom, s))
for i in range(len(boxes)):
for j in range(i + 1, len(boxes)):
l1, r1, t1, b1, s1 = boxes[i]
l2, r2, t2, b2, s2 = boxes[j]
if r1 > l2 + 2 and r2 > l1 + 2 and b1 > t2 + 2 and b2 > t1 + 2:
raise AssertionError(f"etichete suprapuse: {s1!r} / {s2!r}")
# 6. cutiile stau una sub alta, în ordinea palnie -> listă -> note
assert LIST_Y >= Y0 + 8 * HSTEP, "lista scurtă se suprapune cu palnia"
assert NOTE["y"] >= LIST_Y + LIST_H, "notele se suprapun cu lista scurtă"
assert NOTE["y"] + NOTE["h"] <= H, "notele ies din panză"
# 7. stil: fără umbre / gradienți, fontul cerut; fără prețuri inventate
assert "filter=" not in svg and "gradient" not in svg, "fără umbre/gradienti"
assert 'font-family="system-ui, sans-serif"' in svg, "lipsește fontul cerut"
assert "<circle" not in svg and "<line" not in svg, "doar palnie, fără axe"
# 8. singurele cifre din desen (fără referințele de sursă) sunt pragurile
# din specificație
content = [t[2] for t in TEXTS if ".md:" not in t[2]]
spec_numbers = {"1", "2", "3", "4", "5", "6", "7", "8", "9",
"30", "40", "500", "11", "12", "13", "100", "10", "300"}
nums = set(re.findall(r"\d+", " ".join(content)))
assert nums <= spec_numbers, f"cifre neașteptate în desen: {nums - spec_numbers}"
OUT = Path(__file__).with_suffix(".svg")
OUT.write_text(svg, encoding="utf-8")
print(f"scris {OUT} ({len(svg)} bytes, {len(TEXTS)} etichete, "
f"{len(traps)} trepte, {W}x{H}), verificare OK")

View File

@@ -0,0 +1,52 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 1024" width="700" height="1024" font-family="system-ui, sans-serif" role="img" aria-label="Palnia de selectie: 8 trepte de filtrare de la scanner la lista scurta, fiecare cu pragul si sursa ei, plus note laterale despre suporturi si Radarscreen">
<rect x="0" y="0" width="700" height="1024" fill="#ffffff"/>
<path d="M 45.0 100.0 L 655.0 100.0 L 643.0 176.0 L 57.0 176.0 Z" fill="#eef3fb" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 57.0 176.0 L 643.0 176.0 L 631.0 252.0 L 69.0 252.0 Z" fill="#e4edf9" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 69.0 252.0 L 631.0 252.0 L 619.0 328.0 L 81.0 328.0 Z" fill="#eef3fb" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 81.0 328.0 L 619.0 328.0 L 607.0 404.0 L 93.0 404.0 Z" fill="#e4edf9" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 93.0 404.0 L 607.0 404.0 L 595.0 480.0 L 105.0 480.0 Z" fill="#eef3fb" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 105.0 480.0 L 595.0 480.0 L 583.0 556.0 L 117.0 556.0 Z" fill="#e4edf9" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 117.0 556.0 L 583.0 556.0 L 571.0 632.0 L 129.0 632.0 Z" fill="#eef3fb" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 129.0 632.0 L 571.0 632.0 L 559.0 708.0 L 141.0 708.0 Z" fill="#e4edf9" stroke="#1a5fb4" stroke-width="1.2"/>
<rect x="145.0" y="722.0" width="410.0" height="62.0" fill="#eef7f0" stroke="#188a3e" stroke-width="1.8" rx="8"/>
<rect x="40.0" y="802.0" width="620.0" height="200.0" fill="#fdf0e0" stroke="#b06000" stroke-width="1.6" rx="8"/>
<text x="350.0" y="34.0" font-size="20" font-weight="bold" fill="#000000" text-anchor="middle">Fluxul de selecție — de la scanner la lista scurtă</text>
<text x="350.0" y="57.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">selecția se face înainte de semnalul tehnic; ea nu spune CÂND intri</text>
<text x="350.0" y="79.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Palnia se îngustează de sus în jos: 8 filtre, apoi lista scurtă.</text>
<text x="350.0" y="125.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">1. Scanner — multe semnale</text>
<text x="350.0" y="145.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">zeci sau sute de semnale</text>
<text x="350.0" y="159.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:631-637</text>
<text x="350.0" y="201.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">2. Filtre de bază</text>
<text x="350.0" y="221.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">close &gt; 30-40 $; volum mediu 3 luni &gt; 1M (min 500k)</text>
<text x="350.0" y="235.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">09_QA/28_2025-05-27.md:372-380;</text>
<text x="350.0" y="249.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">03_MODUL_2/11_construire_scanere_sf_byd_sld.md:70-73</text>
<text x="350.0" y="277.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">3. Fundamental</text>
<text x="350.0" y="297.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">ATM score peste 7-8; 12-13 = spuma; F-score 6-9</text>
<text x="350.0" y="311.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:199-221</text>
<text x="350.0" y="353.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">4. Sectorul care domină</text>
<text x="350.0" y="373.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">cele 11 sectoare S&amp;P, sortate cadran 1 + valoarea RS, săptămânal</text>
<text x="350.0" y="387.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:639-717</text>
<text x="350.0" y="429.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">5. Doar suport / pivot, după downtrend</text>
<text x="350.0" y="449.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">suport monthly, quarterly, anual sau pivot; proximitate ≤ 3%</text>
<text x="350.0" y="463.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:719-728, 787-803</text>
<text x="350.0" y="505.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">6. Relative strength: cadran 1-2</text>
<text x="350.0" y="525.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">doar cadranele 1 și 2, RS pozitiv</text>
<text x="350.0" y="539.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:730-739</text>
<text x="350.0" y="581.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">7. Relative volume peste 100%</text>
<text x="350.0" y="601.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">candela de volum / media ultimelor 10 candele</text>
<text x="350.0" y="615.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:741-747</text>
<text x="350.0" y="657.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">8. Stele (Trinity)</text>
<text x="350.0" y="677.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">RS + Power + volum, cadran 1</text>
<text x="350.0" y="691.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:776-785</text>
<text x="350.0" y="746.0" font-size="16" font-weight="bold" fill="#188a3e" text-anchor="middle">Listă scurtă</text>
<text x="350.0" y="765.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">câteva idei pe care le urmărești</text>
<text x="350.0" y="779.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:42-50</text>
<text x="60.0" y="830.0" font-size="15" font-weight="bold" fill="#b06000" text-anchor="start">Note laterale</text>
<text x="60.0" y="858.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">După corecție masivă: doji / hammer la suporturi mari</text>
<text x="60.0" y="877.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">(monthly, quarterly, anual); scanner de apropiere de suport</text>
<text x="60.0" y="896.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">până la 3% (4% e cam departe).</text>
<text x="60.0" y="917.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:787-803</text>
<text x="60.0" y="952.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">Radarscreen (max ~300 simboluri): repetă fluxul — sectoare top 10,</text>
<text x="60.0" y="971.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">RS, apoi 3 stele.</text>
<text x="60.0" y="992.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:815-825</text>
</svg>

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@@ -0,0 +1,286 @@
#!/usr/bin/env python3
"""ATM score — scala 0-14 (bară cu praguri). TIP: CONCEPT.
Citește specificația `gen/strategii/selectia_scor.spec.txt` și scrie
`gen/strategii/selectia_scor.svg`. Diagramă conceptuală (NU candele): nu
folosește `svg_candles` / `pchart`, SVG-ul e construit ca string, doar stdlib.
Ce arată (toate cifrele vin din spec):
- bara 0-14: F-score 0-9 (albastru, 9/14) + value-score 0-5 (portocaliu, 5/14);
- praguri: 7 (reperul „galben”), 7-8 („intră în analiză”), 12-13 („spuma”), 14 (max);
- benzile F-score: 0-3 slab fundamental, 4-5 mixt, 6-7 solid, 8-9 foarte puternic;
- nota: scor -1 = date indisponibile în platformă, NU scor 0;
- nota: „peste 7-8" e formularea cursului, sub 7 e deducere, nu prag declarat.
Rulare: .venv/bin/python gen/strategii/selectia_scor.py
"""
import html
from pathlib import Path
W, H = 700, 610
BLACK = "#000000"
GRAY = "#777777"
RED = "#c00"
GREEN = "#188a3e"
BLUE = "#1a5fb4"
ORANGE = "#b06000"
YELLOW = "#e0a800" # „7/14 = galben" (reperul din curs)
DARK_YELLOW = "#8a6d00" # aceeași nuanță, lizibilă ca text
BLUE_BG = "#eef2fb"
ORANGE_BG = "#fdf0e0"
GREEN_BG = "#eef7f0"
RED_BG = "#fdeeee"
GRAY_BG = "#f4f4f4"
# ---------------------------------------------------------------- geometrie bară
BAR_X0, BAR_X1 = 60.0, 640.0
BAR_Y, BAR_H = 150.0, 48.0
UNIT = (BAR_X1 - BAR_X0) / 14.0 # 41.4286 px per punct de scor
SPLIT = 9 # F-score 0-9, apoi value-score 9-14
def sx(v):
"""Poziția pe bară a scorului v (0..14)."""
return BAR_X0 + v * UNIT
X_SPLIT = sx(SPLIT)
X7, X8, X12, X13, X14 = sx(7), sx(8), sx(12), sx(13), sx(14)
# ---------------------------------------------------------------- colectoare
TEXTS = [] # (x, y, s, size, weight, fill, anchor)
RECTS = [] # (x, y, w, h, tag)
def add(x, y, s, size=13, weight="normal", fill=BLACK, anchor="middle"):
TEXTS.append((float(x), float(y), s, size, weight, fill, anchor))
return s
def est_w(s, size, weight):
factor = 0.62 if weight == "bold" else 0.56
return len(s) * size * factor
def txt(x, y, s, size=13, weight="normal", fill=BLACK, anchor="middle"):
return (f'<text x="{x:.1f}" y="{y:.1f}" font-size="{size}" '
f'font-weight="{weight}" fill="{fill}" text-anchor="{anchor}">'
f'{html.escape(s, quote=False)}</text>')
def rect(x, y, w, h, tag, fill="#ffffff", stroke=GRAY, sw=1.5, dash=None):
RECTS.append((float(x), float(y), float(w), float(h), tag))
d = f' stroke-dasharray="{dash}"' if dash else ""
return (f'<rect x="{x:.1f}" y="{y:.1f}" width="{w:.1f}" height="{h:.1f}" '
f'fill="{fill}" stroke="{stroke}" stroke-width="{sw}"{d}/>')
def line(x1, y1, x2, y2, stroke=GRAY, width=1.0, dash=None):
d = f' stroke-dasharray="{dash}"' if dash else ""
return (f'<line x1="{x1:.1f}" y1="{y1:.1f}" x2="{x2:.1f}" y2="{y2:.1f}" '
f'stroke="{stroke}" stroke-width="{width}"{d}/>')
# =============================================================== CONȚINUT
p = []
# ---- titlu + subtitlu
add(W / 2, 34, "ATM score: scala 0-14", 21, "bold")
add(W / 2, 58, "ATM score = F-score (max 9) + value-score (max 5) = max 14",
13, "normal", GRAY)
# ---- etichetele celor două componente, deasupra barei
add((BAR_X0 + X_SPLIT) / 2, 112, "F-score 0-9", 15, "bold", BLUE)
add((BAR_X0 + X_SPLIT) / 2, 131, "9/14 din bară", 13, "normal", GRAY)
add((X_SPLIT + BAR_X1) / 2, 112, "value-score 0-5", 15, "bold", ORANGE)
add((X_SPLIT + BAR_X1) / 2, 131, "5/14 din bară", 13, "normal", GRAY)
# ---- bara celor 14 puncte: partea albastră (0-9) + partea portocalie (9-14)
p.append(rect(BAR_X0, BAR_Y, X_SPLIT - BAR_X0, BAR_H, "fscore",
fill=BLUE_BG, stroke=BLUE, sw=1.8))
p.append(rect(X_SPLIT, BAR_Y, BAR_X1 - X_SPLIT, BAR_H, "vscore",
fill=ORANGE_BG, stroke=ORANGE, sw=1.8))
# diviziunea la 9
p.append(line(X_SPLIT, BAR_Y, X_SPLIT, BAR_Y + BAR_H, BLACK, 1.2, "3 3"))
# reperele peste bară: banda „spuma" 12-13 și linia galbenă de la 7
p.append(rect(X12, BAR_Y - 6, X13 - X12, BAR_H + 12, "spuma",
fill="none", stroke=RED, sw=1.4, dash="5 3"))
p.append(line(X7, BAR_Y - 10, X7, BAR_Y + BAR_H + 6, YELLOW, 2.4, "4 3"))
# în interiorul barei, numele componentelor
add((BAR_X0 + X_SPLIT) / 2, BAR_Y + BAR_H / 2 + 5, "F-score", 15, "bold", BLUE)
add((X_SPLIT + BAR_X1) / 2, BAR_Y + BAR_H / 2 + 5, "value-score", 15, "bold", ORANGE)
# ---- scale: tick-uri + numere 0..14 sub bară
for i in range(15):
x = sx(i)
p.append(line(x, BAR_Y + BAR_H, x, BAR_Y + BAR_H + 7, GRAY, 1.0))
add(x, BAR_Y + BAR_H + 26, str(i), 13, "normal", BLACK)
# ---- reperul 7/14 (galben)
add(X7 - 8, 244, "7/14 = galben", 13, "bold", DARK_YELLOW, "end")
# ---- intervalul „spuma" (12-13) și maximul 14
add(X14, 244, "12-13: spuma", 13, "bold", RED, "end")
add(X14, 264, "14 = maxim", 13, "bold", BLACK, "end")
# ---- „peste 7-8: intră în analiză" (acoladă sub scală, peste intervalul 7-8)
p.append(line(X7, 234, X7, 242, GRAY, 1.2))
p.append(line(X8, 234, X8, 242, GRAY, 1.2))
p.append(line(X7, 242, X8, 242, GRAY, 1.2))
add((X7 + X8) / 2, 264, "peste 7-8: intră în analiză", 13, "bold", BLACK)
# ---- benzile F-score, aliniate sub partea albastră (0-9)
add(BAR_X0, 300, "Benzi F-score (partea albastră, 0-9)", 14, "bold",
BLACK, "start")
BANDS = [
(0, 3, "0-3", ["slab", "fundamental"], RED, RED_BG),
(3, 5, "4-5", ["mixt"], ORANGE, GRAY_BG),
(5, 7, "6-7", ["solid"], BLUE, BLUE_BG),
(7, 9, "8-9", ["foarte", "puternic"], GREEN, GREEN_BG),
]
BAND_Y, BAND_H = 314.0, 64.0
for a, b, rng, labs, col, bg in BANDS:
x0, x1 = sx(a), sx(b)
p.append(rect(x0, BAND_Y, x1 - x0, BAND_H, f"band{a}",
fill=bg, stroke=col, sw=1.6))
cx = (x0 + x1) / 2
add(cx, 336, rng, 15, "bold", col)
add(cx, 358, labs[0], 13, "normal", BLACK)
if len(labs) > 1:
add(cx, 376, labs[1], 13, "normal", BLACK)
# ---- note (scor -1 + formularea „peste 7-8")
p.append(rect(40, 402, 620, 122, "note",
fill="#f7f7f7", stroke=GRAY, sw=1.2))
add(60, 430, "Scor -1 = date indisponibile în platformă, NU scor 0.",
14, "bold", BLACK, "start")
add(60, 450, "Scorul -1 nu se citește ca 0.", 13, "normal", GRAY, "start")
add(60, 470,
"16_ANALIZA_FUNDAMENTALA/09_implementare_f_score_tradestation.md:45-46, 268-269.",
13, "normal", GRAY, "start")
add(60, 498,
"„peste 7-8” e formularea exactă a cursului; sub 7 se deduce ca excludere,",
13, "normal", BLACK, "start")
add(60, 518,
"nu e declarat ca prag separat (11_selectia_simbolului.md:199-204).",
13, "normal", GRAY, "start")
# ---- surse
add(W / 2, 556,
"Surse: 08_ANALIZA_ZILNICA/11_selectia_simbolului.md:158-164, :199-204;",
13, "normal", GRAY)
add(W / 2, 574,
"16_ANALIZA_FUNDAMENTALA/08_piotrowski_f_score.md:70-72;",
13, "normal", GRAY)
add(W / 2, 592,
"16_ANALIZA_FUNDAMENTALA/09_implementare_f_score_tradestation.md:45-46, 268-269.",
13, "normal", GRAY)
# =============================================================== EMITERE
head = (f'<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 {W} {H}" '
f'width="{W}" height="{H}" font-family="system-ui, sans-serif" role="img" '
f'aria-label="Scala ATM score 0-14: F-score 0-9 la care se adauga '
f'value-score 0-5; pragurile 7 (galben), 7-8 intrare in analiza, '
f'12-13 spuma, 14 maxim">')
body = [head, f'<rect x="0" y="0" width="{W}" height="{H}" fill="#ffffff"/>']
body += p
for x, y, s, size, weight, fill, anchor in TEXTS:
body.append(txt(x, y, s, size, weight, fill, anchor))
body.append("</svg>")
svg = "\n".join(body) + "\n"
# =============================================================== VERIFICARE
# 1. bara are proporțiile cerute: 9/14 albastru, 5/14 portocaliu
w_f = X_SPLIT - BAR_X0
w_v = BAR_X1 - X_SPLIT
assert abs(w_f / (BAR_X1 - BAR_X0) - 9 / 14) < 1e-9, "F-score nu e 9/14 din bară"
assert abs(w_v / (BAR_X1 - BAR_X0) - 5 / 14) < 1e-9, "value-score nu e 5/14 din bară"
assert abs(X_SPLIT - sx(9)) < 1e-9 and abs(sx(0) - BAR_X0) < 1e-9, "scara nu e 0-14"
# 2. toate cifrele/etichetele din spec sunt în desen
for req in ("ATM score: scala 0-14",
"ATM score = F-score (max 9) + value-score (max 5) = max 14",
"F-score 0-9", "9/14 din bară",
"value-score 0-5", "5/14 din bară",
"7/14 = galben", "peste 7-8: intră în analiză",
"12-13: spuma", "14 = maxim",
"0-3", "slab", "fundamental",
"4-5", "mixt", "6-7", "solid", "8-9", "foarte", "puternic",
"Scor -1 = date indisponibile în platformă, NU scor 0.",
"sub 7 se deduce ca excludere",
"nu e declarat ca prag separat"):
assert any(req in t[2] for t in TEXTS), f"lipsește din desen: {req!r}"
# 3. numerele de pe scală sunt exact 0..14
nums = [t[2] for t in TEXTS if t[5] == BLACK and t[3] == 13 and t[6] == "middle"
and t[2].isdigit() and BAR_Y < t[1] < BAR_Y + BAR_H + 40]
assert nums == [str(i) for i in range(15)], nums
# 4. pozițiile relative ale pragurilor
assert abs(sx(7) - (BAR_X0 + 7 * UNIT)) < 1e-9
assert sx(12) < sx(13) < sx(14) == BAR_X1, "intervalul spuma / maximul greșit"
# reperul 7 (galben) și intervalul spuma sunt desenate ca linii/dreptunghiuri
assert any(r[4] == "spuma" for r in RECTS), "lipsește banda spuma 12-13"
assert any(r[4] == "fscore" for r in RECTS) and any(r[4] == "vscore" for r in RECTS)
# 5. benzile F-score: aliniate exact sub partea albastră, fără suprapunere
bands = [r for r in RECTS if r[4].startswith("band")]
assert len(bands) == 4, f"aștept 4 benzi F-score, am {len(bands)}"
assert abs(bands[0][0] - BAR_X0) < 1e-9, "prima bandă nu începe la 0"
assert abs((bands[-1][0] + bands[-1][2]) - X_SPLIT) < 1e-9, "ultima bandă nu se termină la 9"
for i in range(1, len(bands)):
assert abs(bands[i][0] - (bands[i - 1][0] + bands[i - 1][2])) < 1e-9, "benzi nelipite"
for i in range(len(bands)):
for j in range(i + 1, len(bands)):
x1, y1, w1, h1, t1 = bands[i]
x2, y2, w2, h2, t2 = bands[j]
assert not (x1 < x2 + w2 and x2 < x1 + w1 and y1 < y2 + h2 and y2 < y1 + h1), \
f"benzi suprapuse: {t1}/{t2}"
# 6. numerele de pe scală sunt exact cele din benzi (0,3,5,7,9)
edges = [sx(0), sx(3), sx(5), sx(7), sx(9)]
for e, b in zip(edges, bands):
assert abs(e - b[0]) < 1e-9, "marginile benzilor nu cad pe scală"
# 7. fiecare etichetă: mărime >= 13, în panză, fără suprapuneri
boxes = []
for x, y, s, size, weight, fill, anchor in TEXTS:
assert size >= 13, f"font sub 13px: {s!r} ({size})"
w = est_w(s, size, weight)
if anchor == "end":
left = x - w
elif anchor == "start":
left = x
else:
left = x - w / 2.0
right = left + w
top, bottom = y - size * 0.78, y + size * 0.22
assert -2 <= left and right <= W + 2, f"text în afara panzei orizontal: {s!r}"
assert 0 <= top and bottom <= H, f"text în afara panzei vertical: {s!r}"
boxes.append((left, right, top, bottom, s))
for i in range(len(boxes)):
for j in range(i + 1, len(boxes)):
l1, r1, t1, b1, s1 = boxes[i]
l2, r2, t2_, b2, s2 = boxes[j]
if r1 > l2 + 2 and r2 > l1 + 2 and b1 > t2_ + 2 and b2 > t1 + 2:
raise AssertionError(f"etichete suprapuse: {s1!r} / {s2!r}")
# 8. textele din interiorul barei și benzile încap
for tag, (rx, ry, rw, rh, _) in [(r[4], r) for r in RECTS]:
if tag in ("fscore", "vscore"):
for x, y, s, size, weight, fill, anchor in TEXTS:
if rx <= x <= rx + rw and ry <= y <= ry + rh:
assert est_w(s, size, weight) <= rw - 12, f"text prea lat în {tag}: {s!r}"
# 9. stil: fără umbre/gradienți, fontul cerut
assert "filter=" not in svg and "gradient" not in svg, "fără umbre/gradienti"
assert 'font-family="system-ui, sans-serif"' in svg, "lipsește fontul cerut"
assert 'fill="#ffffff"' in svg, "fundal alb lipsă"
OUT = Path(__file__).with_suffix(".svg")
OUT.write_text(svg, encoding="utf-8")
print(f"scris {OUT} ({len(svg)} bytes, {len(TEXTS)} etichete, "
f"{len(bands)} benzi F-score, F-score {w_f:.1f}px / value-score {w_v:.1f}px, "
f"{W}x{H}), verificare OK")

View File

@@ -0,0 +1,77 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 610" width="700" height="610" font-family="system-ui, sans-serif" role="img" aria-label="Scala ATM score 0-14: F-score 0-9 la care se adauga value-score 0-5; pragurile 7 (galben), 7-8 intrare in analiza, 12-13 spuma, 14 maxim">
<rect x="0" y="0" width="700" height="610" fill="#ffffff"/>
<rect x="60.0" y="150.0" width="372.9" height="48.0" fill="#eef2fb" stroke="#1a5fb4" stroke-width="1.8"/>
<rect x="432.9" y="150.0" width="207.1" height="48.0" fill="#fdf0e0" stroke="#b06000" stroke-width="1.8"/>
<line x1="432.9" y1="150.0" x2="432.9" y2="198.0" stroke="#000000" stroke-width="1.2" stroke-dasharray="3 3"/>
<rect x="557.1" y="144.0" width="41.4" height="60.0" fill="none" stroke="#c00" stroke-width="1.4" stroke-dasharray="5 3"/>
<line x1="350.0" y1="140.0" x2="350.0" y2="204.0" stroke="#e0a800" stroke-width="2.4" stroke-dasharray="4 3"/>
<line x1="60.0" y1="198.0" x2="60.0" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="101.4" y1="198.0" x2="101.4" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="142.9" y1="198.0" x2="142.9" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="184.3" y1="198.0" x2="184.3" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="225.7" y1="198.0" x2="225.7" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="267.1" y1="198.0" x2="267.1" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="308.6" y1="198.0" x2="308.6" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="350.0" y1="198.0" x2="350.0" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="391.4" y1="198.0" x2="391.4" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="432.9" y1="198.0" x2="432.9" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="474.3" y1="198.0" x2="474.3" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="515.7" y1="198.0" x2="515.7" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="557.1" y1="198.0" x2="557.1" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="598.6" y1="198.0" x2="598.6" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="640.0" y1="198.0" x2="640.0" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="350.0" y1="234.0" x2="350.0" y2="242.0" stroke="#777777" stroke-width="1.2"/>
<line x1="391.4" y1="234.0" x2="391.4" y2="242.0" stroke="#777777" stroke-width="1.2"/>
<line x1="350.0" y1="242.0" x2="391.4" y2="242.0" stroke="#777777" stroke-width="1.2"/>
<rect x="60.0" y="314.0" width="124.3" height="64.0" fill="#fdeeee" stroke="#c00" stroke-width="1.6"/>
<rect x="184.3" y="314.0" width="82.9" height="64.0" fill="#f4f4f4" stroke="#b06000" stroke-width="1.6"/>
<rect x="267.1" y="314.0" width="82.9" height="64.0" fill="#eef2fb" stroke="#1a5fb4" stroke-width="1.6"/>
<rect x="350.0" y="314.0" width="82.9" height="64.0" fill="#eef7f0" stroke="#188a3e" stroke-width="1.6"/>
<rect x="40.0" y="402.0" width="620.0" height="122.0" fill="#f7f7f7" stroke="#777777" stroke-width="1.2"/>
<text x="350.0" y="34.0" font-size="21" font-weight="bold" fill="#000000" text-anchor="middle">ATM score: scala 0-14</text>
<text x="350.0" y="58.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">ATM score = F-score (max 9) + value-score (max 5) = max 14</text>
<text x="246.4" y="112.0" font-size="15" font-weight="bold" fill="#1a5fb4" text-anchor="middle">F-score 0-9</text>
<text x="246.4" y="131.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">9/14 din bară</text>
<text x="536.4" y="112.0" font-size="15" font-weight="bold" fill="#b06000" text-anchor="middle">value-score 0-5</text>
<text x="536.4" y="131.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">5/14 din bară</text>
<text x="246.4" y="179.0" font-size="15" font-weight="bold" fill="#1a5fb4" text-anchor="middle">F-score</text>
<text x="536.4" y="179.0" font-size="15" font-weight="bold" fill="#b06000" text-anchor="middle">value-score</text>
<text x="60.0" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">0</text>
<text x="101.4" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">1</text>
<text x="142.9" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">2</text>
<text x="184.3" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">3</text>
<text x="225.7" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">4</text>
<text x="267.1" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">5</text>
<text x="308.6" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">6</text>
<text x="350.0" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">7</text>
<text x="391.4" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">8</text>
<text x="432.9" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">9</text>
<text x="474.3" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">10</text>
<text x="515.7" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">11</text>
<text x="557.1" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">12</text>
<text x="598.6" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">13</text>
<text x="640.0" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">14</text>
<text x="342.0" y="244.0" font-size="13" font-weight="bold" fill="#8a6d00" text-anchor="end">7/14 = galben</text>
<text x="640.0" y="244.0" font-size="13" font-weight="bold" fill="#c00" text-anchor="end">12-13: spuma</text>
<text x="640.0" y="264.0" font-size="13" font-weight="bold" fill="#000000" text-anchor="end">14 = maxim</text>
<text x="370.7" y="264.0" font-size="13" font-weight="bold" fill="#000000" text-anchor="middle">peste 7-8: intră în analiză</text>
<text x="60.0" y="300.0" font-size="14" font-weight="bold" fill="#000000" text-anchor="start">Benzi F-score (partea albastră, 0-9)</text>
<text x="122.1" y="336.0" font-size="15" font-weight="bold" fill="#c00" text-anchor="middle">0-3</text>
<text x="122.1" y="358.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">slab</text>
<text x="122.1" y="376.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">fundamental</text>
<text x="225.7" y="336.0" font-size="15" font-weight="bold" fill="#b06000" text-anchor="middle">4-5</text>
<text x="225.7" y="358.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">mixt</text>
<text x="308.6" y="336.0" font-size="15" font-weight="bold" fill="#1a5fb4" text-anchor="middle">6-7</text>
<text x="308.6" y="358.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">solid</text>
<text x="391.4" y="336.0" font-size="15" font-weight="bold" fill="#188a3e" text-anchor="middle">8-9</text>
<text x="391.4" y="358.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">foarte</text>
<text x="391.4" y="376.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">puternic</text>
<text x="60.0" y="430.0" font-size="14" font-weight="bold" fill="#000000" text-anchor="start">Scor -1 = date indisponibile în platformă, NU scor 0.</text>
<text x="60.0" y="450.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">Scorul -1 nu se citește ca 0.</text>
<text x="60.0" y="470.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">16_ANALIZA_FUNDAMENTALA/09_implementare_f_score_tradestation.md:45-46, 268-269.</text>
<text x="60.0" y="498.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">„peste 7-8” e formularea exactă a cursului; sub 7 se deduce ca excludere,</text>
<text x="60.0" y="518.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">nu e declarat ca prag separat (11_selectia_simbolului.md:199-204).</text>
<text x="350.0" y="556.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Surse: 08_ANALIZA_ZILNICA/11_selectia_simbolului.md:158-164, :199-204;</text>
<text x="350.0" y="574.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">16_ANALIZA_FUNDAMENTALA/08_piotrowski_f_score.md:70-72;</text>
<text x="350.0" y="592.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">16_ANALIZA_FUNDAMENTALA/09_implementare_f_score_tradestation.md:45-46, 268-269.</text>
</svg>

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@@ -15,7 +15,7 @@ from pathlib import Path
ROOT = Path(__file__).resolve().parent.parent.parent
CAPITOLE = sorted((ROOT / "strategii").glob("0[1-8]_*.md"))
MARCAJ = re.compile(r"^<!-- DIAGRAMA: ([a-z0-9_]+) -->$", re.M)
MARCAJ = re.compile(r"^[ \t]*<!-- DIAGRAMA: ([a-z0-9_]+) -->[ \t]*$", re.M)
def slug(cale: Path) -> str:
@@ -32,7 +32,11 @@ def main() -> int:
def inlocuieste(m: re.Match) -> str:
nonlocal puse, lipsa
svg = ROOT / "gen" / "strategii" / f"{s}_{m.group(1)}.svg"
# unii agenți au pus slug-ul în cheie (mp2_exemplu), alții nu (exemplu)
gen = ROOT / "gen" / "strategii"
svg = next((c for c in (gen / f"{s}_{m.group(1)}.svg",
gen / f"{m.group(1)}.svg") if c.exists()),
gen / f"{s}_{m.group(1)}.svg")
if not svg.exists():
lipsa += 1
print(f"LIPSĂ {cap.name}: {svg.name}")

View File

@@ -60,7 +60,122 @@ uriaș, de aceea stopul e obligatoriu și de aceea strategia se repetă des
### Diagrama de ansamblu
<!-- DIAGRAMA: ansamblu -->
<svg viewBox="0 0 640 498" 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">Buy Doji — daily (exemplu construit, fără ticker)</text>
<line x1="24" y1="326.0" x2="626" y2="326.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="320.0" fill="#c00">SL 49.20 (low 4 candele)</text>
<line x1="24" y1="297.2" x2="626" y2="297.2" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="291.2" fill="#188a3e">intrare 50.40</text>
<line x1="24" y1="268.4" x2="626" y2="268.4" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="262.4" fill="#1a5fb4">TP1 51.60 = 1R</text>
<line x1="24" y1="244.4" x2="626" y2="244.4" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="238.4" fill="#b06000" text-anchor="end">trail 52.60</text>
<polyline points="329.0,205.1 344.0,215.2 359.0,223.7 374.0,232.3 389.0,239.8 404.0,245.3 419.0,251.0 434.0,255.0 449.0,258.1 464.0,262.3 479.0,265.5 494.0,267.6 509.0,268.0" fill="none" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="515" y="262" fill="#777">MA(20)</text>
<line x1="44.0" y1="56.0" x2="44.0" y2="69.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="62.0" width="9" height="1.6" fill="#188a3e"/>
<line x1="59.0" y1="56.0" x2="59.0" y2="93.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="62.0" width="9" height="24.0" fill="#c00"/>
<line x1="74.0" y1="70.4" x2="74.0" y2="93.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="76.4" width="9" height="9.6" fill="#188a3e"/>
<line x1="89.0" y1="70.4" x2="89.0" y2="112.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="76.4" width="9" height="28.8" fill="#c00"/>
<line x1="104.0" y1="99.2" x2="104.0" y2="138.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="105.2" width="9" height="26.4" fill="#c00"/>
<line x1="119.0" y1="116.0" x2="119.0" y2="138.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="122.0" width="9" height="9.6" fill="#188a3e"/>
<line x1="134.0" y1="116.0" x2="134.0" y2="158.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="122.0" width="9" height="28.8" fill="#c00"/>
<line x1="149.0" y1="144.8" x2="149.0" y2="184.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="150.8" width="9" height="26.4" fill="#c00"/>
<line x1="164.0" y1="161.6" x2="164.0" y2="184.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="167.6" width="9" height="9.6" fill="#188a3e"/>
<line x1="179.0" y1="161.6" x2="179.0" y2="201.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="167.6" width="9" height="26.4" fill="#c00"/>
<line x1="194.0" y1="188.0" x2="194.0" y2="230.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="194.0" width="9" height="28.8" fill="#c00"/>
<line x1="209.0" y1="216.8" x2="209.0" y2="258.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="222.8" width="9" height="28.8" fill="#c00"/>
<line x1="224.0" y1="245.6" x2="224.0" y2="290.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="251.6" width="9" height="31.2" fill="#c00"/>
<line x1="239.0" y1="276.8" x2="239.0" y2="322.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="282.8" width="9" height="32.4" fill="#c00"/>
<line x1="254.0" y1="304.4" x2="254.0" y2="326.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="315.2" width="9" height="1.6" fill="#c00"/>
<line x1="269.0" y1="305.6" x2="269.0" y2="320.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="309.2" width="9" height="7.2" fill="#777"/>
<line x1="284.0" y1="293.6" x2="284.0" y2="312.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="297.2" width="9" height="12.0" fill="#188a3e"/>
<line x1="299.0" y1="279.2" x2="299.0" y2="304.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="285.2" width="9" height="12.0" fill="#188a3e"/>
<line x1="314.0" y1="272.0" x2="314.0" y2="292.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="278.0" width="9" height="7.2" fill="#188a3e"/>
<line x1="329.0" y1="264.8" x2="329.0" y2="285.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="270.8" width="9" height="7.2" fill="#188a3e"/>
<line x1="344.0" y1="257.6" x2="344.0" y2="278.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="263.6" width="9" height="7.2" fill="#188a3e"/>
<line x1="359.0" y1="250.4" x2="359.0" y2="270.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="256.4" width="9" height="7.2" fill="#188a3e"/>
<line x1="374.0" y1="243.2" x2="374.0" y2="263.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="249.2" width="9" height="7.2" fill="#188a3e"/>
<line x1="389.0" y1="243.2" x2="389.0" y2="261.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="249.2" width="9" height="4.8" fill="#c00"/>
<line x1="404.0" y1="236.0" x2="404.0" y2="258.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="242.0" width="9" height="12.0" fill="#188a3e"/>
<line x1="419.0" y1="230.0" x2="419.0" y2="246.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="236.0" width="9" height="6.0" fill="#188a3e"/>
<line x1="434.0" y1="224.0" x2="434.0" y2="240.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="230.0" width="9" height="6.0" fill="#188a3e"/>
<line x1="449.0" y1="224.0" x2="449.0" y2="244.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="230.0" width="9" height="9.6" fill="#c00"/>
<line x1="464.0" y1="233.6" x2="464.0" y2="258.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="239.6" width="9" height="12.0" fill="#c00"/>
<line x1="479.0" y1="245.6" x2="479.0" y2="266.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="251.6" width="9" height="7.2" fill="#c00"/>
<line x1="494.0" y1="252.8" x2="494.0" y2="270.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="258.8" width="9" height="4.8" fill="#c00"/>
<line x1="509.0" y1="255.2" x2="509.0" y2="270.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="504.5" y="261.2" width="9" height="2.4" fill="#188a3e"/>
<line x1="24" y1="422.0" x2="626" y2="422.0" stroke="#888"/>
<rect x="39.5" y="388.6" width="9" height="33.4" fill="#188a3e" opacity="0.55"/>
<rect x="54.5" y="387.0" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="390.2" width="9" height="31.8" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="385.4" width="9" height="36.6" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="387.8" width="9" height="34.2" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="389.4" width="9" height="32.6" fill="#188a3e" opacity="0.55"/>
<rect x="129.5" y="386.2" width="9" height="35.8" fill="#c00" opacity="0.55"/>
<rect x="144.5" y="388.6" width="9" height="33.4" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="387.0" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="174.5" y="384.6" width="9" height="37.4" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="387.8" width="9" height="34.2" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="386.2" width="9" height="35.8" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="383.8" width="9" height="38.2" fill="#c00" opacity="0.55"/>
<rect x="234.5" y="380.6" width="9" height="41.4" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="360.0" width="9" height="62.0" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="385.4" width="9" height="36.6" fill="#777" opacity="0.55"/>
<rect x="279.5" y="352.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="294.5" y="378.2" width="9" height="43.8" fill="#188a3e" opacity="0.55"/>
<rect x="309.5" y="382.2" width="9" height="39.8" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="383.8" width="9" height="38.2" fill="#188a3e" opacity="0.55"/>
<rect x="339.5" y="380.6" width="9" height="41.4" fill="#188a3e" opacity="0.55"/>
<rect x="354.5" y="384.6" width="9" height="37.4" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="386.2" width="9" height="35.8" fill="#188a3e" opacity="0.55"/>
<rect x="384.5" y="383.0" width="9" height="39.0" fill="#c00" opacity="0.55"/>
<rect x="399.5" y="385.4" width="9" height="36.6" fill="#188a3e" opacity="0.55"/>
<rect x="414.5" y="387.0" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="429.5" y="383.8" width="9" height="38.2" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="381.4" width="9" height="40.6" fill="#c00" opacity="0.55"/>
<rect x="459.5" y="379.0" width="9" height="43.0" fill="#c00" opacity="0.55"/>
<rect x="474.5" y="384.6" width="9" height="37.4" fill="#c00" opacity="0.55"/>
<rect x="489.5" y="386.2" width="9" height="35.8" fill="#c00" opacity="0.55"/>
<rect x="504.5" y="385.4" width="9" height="36.6" fill="#188a3e" opacity="0.55"/>
<text x="24" y="346.0" fill="#555">volum</text>
<text x="254.0" y="340.0" fill="#b06000" text-anchor="middle" style="font-weight:bold">doji 50.10 / 49.20</text>
<text x="464.0" y="217.6" fill="#c00" text-anchor="middle" style="font-weight:bold">ieșire pe trail ~52.60</text>
<text x="24" y="444.0" fill="#777">bara 15: close 49.90 sub high-ul dojiului 50.10 — NU confirmă</text>
<text x="24" y="461.0" fill="#188a3e">bara 16: close 50.40 peste 50.10 — confirmare (intrare)</text>
<text x="24" y="486" fill="#555">Intrare la close-ul confirmării, SL la low-ul ultimelor 4 candele, TP1 1:1, apoi trailing stop.</text>
</svg>
Graficul întreg al trade-ului: downtrend de 12 candele → doji → confirmare în
fereastra de 3 → intrare la close-ul de confirmare, SL la extrema ultimelor
@@ -131,7 +246,66 @@ Diagrama de mai jos arată exact diferența dintre un setup care se confirmă ș
unul care expiră — diferența e strict numerică (a închis sau nu peste 50.10),
nu vizuală.
<!-- DIAGRAMA: fereastra -->
<svg viewBox="0 0 460 614" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<g transform="translate(0,0)">
<text x="24" y="48" fill="#333" style="font-weight:bold">DA — confirmare la +2, în fereastră</text>
<line x1="24" y1="164.0" x2="446" y2="164.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="158.0" fill="#b06000">high doji 50.10</text>
<line x1="24" y1="204.5" x2="446" y2="204.5" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="198.5" fill="#c00">low doji 49.20</text>
<line x1="44.0" y1="56.0" x2="44.0" y2="76.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="37.5" y="62.7" width="13" height="6.7" fill="#c00"/>
<line x1="84.0" y1="62.7" x2="84.0" y2="112.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="77.5" y="69.5" width="13" height="36.0" fill="#c00"/>
<line x1="124.0" y1="98.8" x2="124.0" y2="148.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="117.5" y="105.5" width="13" height="36.0" fill="#c00"/>
<line x1="164.0" y1="134.8" x2="164.0" y2="191.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="157.5" y="141.5" width="13" height="42.8" fill="#c00"/>
<line x1="204.0" y1="164.0" x2="204.0" y2="204.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="197.5" y="184.3" width="13" height="2.2" fill="#c00"/>
<line x1="244.0" y1="166.3" x2="244.0" y2="193.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="237.5" y="173.0" width="13" height="13.5" fill="#188a3e"/>
<line x1="284.0" y1="143.8" x2="284.0" y2="179.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="277.5" y="150.5" width="13" height="22.5" fill="#188a3e"/>
<line x1="324.0" y1="125.8" x2="324.0" y2="157.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="317.5" y="132.5" width="13" height="18.0" fill="#188a3e"/>
<text x="204.0" y="154.0" fill="#b06000" text-anchor="middle" style="font-weight:bold">doji</text>
<text x="284.0" y="133.8" fill="#188a3e" text-anchor="middle" style="font-weight:bold">confirmare +2 — intrare 50.40</text>
<text x="24" y="226.5" fill="#188a3e">+1: close 49.90 — sub 50.10, nu confirmă</text>
<text x="24" y="243.5" fill="#188a3e">+2: close 50.40 — peste 50.10, confirmă (intrare la close)</text>
</g>
<g transform="translate(0,298)">
<text x="24" y="48" fill="#333" style="font-weight:bold">NU — nicio confirmare în 3 candele</text>
<line x1="24" y1="164.0" x2="446" y2="164.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="158.0" fill="#b06000">high doji 50.10</text>
<line x1="24" y1="204.5" x2="446" y2="204.5" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="198.5" fill="#c00">low doji 49.20</text>
<line x1="44.0" y1="56.0" x2="44.0" y2="76.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="37.5" y="62.7" width="13" height="6.7" fill="#c00"/>
<line x1="84.0" y1="62.7" x2="84.0" y2="112.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="77.5" y="69.5" width="13" height="36.0" fill="#c00"/>
<line x1="124.0" y1="98.8" x2="124.0" y2="148.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="117.5" y="105.5" width="13" height="36.0" fill="#c00"/>
<line x1="164.0" y1="134.8" x2="164.0" y2="191.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="157.5" y="141.5" width="13" height="42.8" fill="#c00"/>
<line x1="204.0" y1="164.0" x2="204.0" y2="204.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="197.5" y="184.3" width="13" height="2.2" fill="#c00"/>
<line x1="244.0" y1="164.0" x2="244.0" y2="193.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="237.5" y="170.7" width="13" height="15.8" fill="#188a3e"/>
<line x1="284.0" y1="159.5" x2="284.0" y2="177.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="277.5" y="166.3" width="13" height="4.5" fill="#188a3e"/>
<line x1="324.0" y1="159.5" x2="324.0" y2="182.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="317.5" y="166.3" width="13" height="9.0" fill="#c00"/>
<line x1="364.0" y1="168.5" x2="364.0" y2="213.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="357.5" y="175.2" width="13" height="31.5" fill="#c00"/>
<text x="204.0" y="154.0" fill="#b06000" text-anchor="middle" style="font-weight:bold">doji</text>
<text x="364.0" y="158.5" fill="#c00" text-anchor="middle" style="font-weight:bold">a 4-a</text>
<text x="24" y="235.5" fill="#188a3e">+1: 49.95; +2: 50.05; +3: 49.85 — toate sub 50.10</text>
<text x="24" y="252.5" fill="#c00">a 4-a: close 49.15 — sub low-ul dojiului 49.20, setup mort</text>
</g>
<text x="24" y="592" fill="#555">Serii construite: open = close-ul barei anterioare.</text>
<text x="24" y="609" fill="#555">Doji: h 50.10 / l 49.20. Fereastra = maximum 3 candele după doji.</text>
</svg>
### 1.3 Trigger
@@ -147,7 +321,117 @@ Oglinda short, cu cifrele ei: doji high 49.40 / low 48.00, a doua candelă
(`01_buy_doji_si_strategia_mici.md:312-314`). Graficul întreg al variantei
short:
<!-- DIAGRAMA: sell -->
<svg viewBox="0 0 640 460" 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">Sell Doji — daily (exemplu construit, fără ticker)</text>
<line x1="24" y1="68.0" x2="626" y2="68.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="62.0" fill="#c00" text-anchor="end">SL 100.10 (high 4 candele)</text>
<line x1="24" y1="101.0" x2="626" y2="101.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="95.0" fill="#188a3e" text-anchor="end">intrare short 99.00</text>
<line x1="24" y1="134.0" x2="626" y2="134.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="128.0" fill="#1a5fb4" text-anchor="end">TP 97.90 = 1R</text>
<line x1="24" y1="177.5" x2="626" y2="177.5" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="171.5" fill="#b06000" text-anchor="end">trail 96.45</text>
<line x1="44.0" y1="272.0" x2="44.0" y2="288.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="281.0" width="9" height="1.6" fill="#188a3e"/>
<line x1="59.0" y1="239.0" x2="59.0" y2="288.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="248.0" width="9" height="33.0" fill="#188a3e"/>
<line x1="74.0" y1="239.0" x2="74.0" y2="267.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="248.0" width="9" height="12.0" fill="#c00"/>
<line x1="89.0" y1="212.0" x2="89.0" y2="267.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="221.0" width="9" height="39.0" fill="#188a3e"/>
<line x1="104.0" y1="179.0" x2="104.0" y2="228.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="188.0" width="9" height="33.0" fill="#188a3e"/>
<line x1="119.0" y1="179.0" x2="119.0" y2="204.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="188.0" width="9" height="9.0" fill="#c00"/>
<line x1="134.0" y1="152.0" x2="134.0" y2="204.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="161.0" width="9" height="36.0" fill="#188a3e"/>
<line x1="149.0" y1="119.0" x2="149.0" y2="168.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="128.0" width="9" height="33.0" fill="#188a3e"/>
<line x1="164.0" y1="119.0" x2="164.0" y2="144.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="128.0" width="9" height="9.0" fill="#c00"/>
<line x1="179.0" y1="95.0" x2="179.0" y2="144.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="104.0" width="9" height="33.0" fill="#188a3e"/>
<line x1="194.0" y1="68.0" x2="194.0" y2="111.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="77.0" width="9" height="27.0" fill="#188a3e"/>
<line x1="209.0" y1="56.0" x2="209.0" y2="84.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="65.0" width="9" height="12.0" fill="#188a3e"/>
<line x1="224.0" y1="56.0" x2="224.0" y2="81.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="65.0" width="9" height="9.0" fill="#c00"/>
<line x1="239.0" y1="68.0" x2="239.0" y2="89.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="74.0" width="9" height="7.5" fill="#c00"/>
<line x1="254.0" y1="68.0" x2="254.0" y2="95.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="81.5" width="9" height="1.6" fill="#c00"/>
<line x1="269.0" y1="77.0" x2="269.0" y2="93.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="83.0" width="9" height="6.0" fill="#777"/>
<line x1="284.0" y1="83.0" x2="284.0" y2="105.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="89.0" width="9" height="12.0" fill="#c00"/>
<line x1="299.0" y1="92.0" x2="299.0" y2="123.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="101.0" width="9" height="15.0" fill="#c00"/>
<line x1="314.0" y1="107.0" x2="314.0" y2="129.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="116.0" width="9" height="6.0" fill="#c00"/>
<line x1="329.0" y1="113.0" x2="329.0" y2="144.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="122.0" width="9" height="15.0" fill="#c00"/>
<line x1="344.0" y1="128.0" x2="344.0" y2="156.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="137.0" width="9" height="12.0" fill="#c00"/>
<line x1="359.0" y1="140.0" x2="359.0" y2="168.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="149.0" width="9" height="12.0" fill="#c00"/>
<line x1="374.0" y1="152.0" x2="374.0" y2="177.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="161.0" width="9" height="9.0" fill="#c00"/>
<line x1="389.0" y1="161.0" x2="389.0" y2="186.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="170.0" width="9" height="9.0" fill="#c00"/>
<line x1="404.0" y1="170.0" x2="404.0" y2="195.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="179.0" width="9" height="9.0" fill="#c00"/>
<line x1="419.0" y1="177.5" x2="419.0" y2="203.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="188.0" width="9" height="9.0" fill="#c00"/>
<line x1="434.0" y1="176.0" x2="434.0" y2="200.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="185.0" width="9" height="12.0" fill="#188a3e"/>
<line x1="449.0" y1="164.0" x2="449.0" y2="192.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="173.0" width="9" height="12.0" fill="#188a3e"/>
<line x1="464.0" y1="164.0" x2="464.0" y2="186.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="173.0" width="9" height="6.0" fill="#c00"/>
<line x1="479.0" y1="170.0" x2="479.0" y2="195.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="179.0" width="9" height="9.0" fill="#c00"/>
<line x1="494.0" y1="173.0" x2="494.0" y2="195.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="182.0" width="9" height="6.0" fill="#188a3e"/>
<line x1="24" y1="384.5" x2="626" y2="384.5" stroke="#888"/>
<rect x="39.5" y="350.3" width="9" height="34.2" fill="#188a3e" opacity="0.55"/>
<rect x="54.5" y="351.8" width="9" height="32.7" fill="#188a3e" opacity="0.55"/>
<rect x="69.5" y="348.7" width="9" height="35.8" fill="#c00" opacity="0.55"/>
<rect x="84.5" y="353.4" width="9" height="31.1" fill="#188a3e" opacity="0.55"/>
<rect x="99.5" y="349.5" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="114.5" y="347.2" width="9" height="37.3" fill="#c00" opacity="0.55"/>
<rect x="129.5" y="351.1" width="9" height="33.4" fill="#188a3e" opacity="0.55"/>
<rect x="144.5" y="347.9" width="9" height="36.6" fill="#188a3e" opacity="0.55"/>
<rect x="159.5" y="345.6" width="9" height="38.9" fill="#c00" opacity="0.55"/>
<rect x="174.5" y="349.5" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="189.5" y="344.1" width="9" height="40.4" fill="#188a3e" opacity="0.55"/>
<rect x="204.5" y="339.4" width="9" height="45.1" fill="#188a3e" opacity="0.55"/>
<rect x="219.5" y="346.4" width="9" height="38.1" fill="#c00" opacity="0.55"/>
<rect x="234.5" y="341.7" width="9" height="42.8" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="314.5" width="9" height="70.0" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="336.3" width="9" height="48.2" fill="#777" opacity="0.55"/>
<rect x="279.5" y="319.2" width="9" height="65.3" fill="#c00" opacity="0.55"/>
<rect x="294.5" y="340.9" width="9" height="43.6" fill="#c00" opacity="0.55"/>
<rect x="309.5" y="344.1" width="9" height="40.4" fill="#c00" opacity="0.55"/>
<rect x="324.5" y="345.6" width="9" height="38.9" fill="#c00" opacity="0.55"/>
<rect x="339.5" y="347.2" width="9" height="37.3" fill="#c00" opacity="0.55"/>
<rect x="354.5" y="348.7" width="9" height="35.8" fill="#c00" opacity="0.55"/>
<rect x="369.5" y="350.3" width="9" height="34.2" fill="#c00" opacity="0.55"/>
<rect x="384.5" y="351.8" width="9" height="32.7" fill="#c00" opacity="0.55"/>
<rect x="399.5" y="353.4" width="9" height="31.1" fill="#c00" opacity="0.55"/>
<rect x="414.5" y="349.5" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="429.5" y="345.6" width="9" height="38.9" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="348.7" width="9" height="35.8" fill="#188a3e" opacity="0.55"/>
<rect x="459.5" y="350.3" width="9" height="34.2" fill="#c00" opacity="0.55"/>
<rect x="474.5" y="351.1" width="9" height="33.4" fill="#c00" opacity="0.55"/>
<rect x="489.5" y="349.5" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<text x="24" y="308.5" fill="#555">volum</text>
<text x="254.0" y="58.0" fill="#b06000" text-anchor="middle" style="font-weight:bold">doji 99.20 / 100.10</text>
<text x="449.0" y="148.0" fill="#c00" text-anchor="middle" style="font-weight:bold">ieșire pe trail 96.60</text>
<text x="24" y="406.5" fill="#777">bara 15: close 99.40 peste low-ul dojiului 99.20 — NU confirmă</text>
<text x="24" y="423.5" fill="#c00">bara 16: close 99.00 sub 99.20 — confirmare (intrare short)</text>
<text x="24" y="448" fill="#555">Intrare short la close sub low-ul dojiului, SL la high 4 candele, TP 1:1, apoi trail.</text>
</svg>
### 1.4 Stop-loss
@@ -245,7 +529,168 @@ varianta de execuție cu 48 de acțiuni pe un risc de 25 $ în
Același pattern, două contexte. Diagrama le pune alături.
<!-- DIAGRAMA: aplus -->
<svg viewBox="0 0 1160 480" width="1160" height="480" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"><text x="580" y="20" fill="#333" text-anchor="middle" style="font-weight:bold">Setup A+ vs. setup mediocru (două panouri, exemple construite)</text><g transform="translate(8,38)">
<text x="24" y="48" fill="#333" style="font-weight:bold">A+ — doji la suport, volum în acumulare</text>
<line x1="24" y1="282.6" x2="546" y2="282.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="276.6" fill="#188a3e">suport 42.00</text>
<line x1="44.0" y1="56.0" x2="44.0" y2="78.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="62.6" width="9" height="8.8" fill="#c00"/>
<line x1="59.0" y1="64.8" x2="59.0" y2="95.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="71.4" width="9" height="17.6" fill="#c00"/>
<line x1="74.0" y1="82.4" x2="74.0" y2="113.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="89.0" width="9" height="17.6" fill="#c00"/>
<line x1="89.0" y1="100.0" x2="89.0" y2="130.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="106.6" width="9" height="17.6" fill="#c00"/>
<line x1="104.0" y1="117.6" x2="104.0" y2="148.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="124.2" width="9" height="17.6" fill="#c00"/>
<line x1="119.0" y1="135.2" x2="119.0" y2="166.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="141.8" width="9" height="17.6" fill="#c00"/>
<line x1="134.0" y1="152.8" x2="134.0" y2="183.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="159.4" width="9" height="17.6" fill="#c00"/>
<line x1="149.0" y1="170.4" x2="149.0" y2="212.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="177.0" width="9" height="28.6" fill="#c00"/>
<line x1="164.0" y1="199.0" x2="164.0" y2="240.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="205.6" width="9" height="28.6" fill="#c00"/>
<line x1="179.0" y1="227.6" x2="179.0" y2="276.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="234.2" width="9" height="35.2" fill="#c00"/>
<line x1="194.0" y1="262.8" x2="194.0" y2="283.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="269.4" width="9" height="1.6" fill="#188a3e"/>
<line x1="209.0" y1="241.9" x2="209.0" y2="276.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="247.4" width="9" height="22.0" fill="#188a3e"/>
<line x1="224.0" y1="229.8" x2="224.0" y2="254.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="236.4" width="9" height="11.0" fill="#188a3e"/>
<line x1="239.0" y1="221.0" x2="239.0" y2="243.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="227.6" width="9" height="8.8" fill="#188a3e"/>
<line x1="254.0" y1="221.0" x2="254.0" y2="240.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="227.6" width="9" height="6.6" fill="#c00"/>
<line x1="269.0" y1="214.4" x2="269.0" y2="240.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="221.0" width="9" height="13.2" fill="#188a3e"/>
<line x1="284.0" y1="205.6" x2="284.0" y2="227.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="212.2" width="9" height="8.8" fill="#188a3e"/>
<line x1="299.0" y1="205.6" x2="299.0" y2="223.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="212.2" width="9" height="4.4" fill="#c00"/>
<line x1="314.0" y1="199.0" x2="314.0" y2="223.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="205.6" width="9" height="11.0" fill="#188a3e"/>
<line x1="329.0" y1="190.2" x2="329.0" y2="212.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="196.8" width="9" height="8.8" fill="#188a3e"/>
<line x1="344.0" y1="183.6" x2="344.0" y2="203.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="190.2" width="9" height="6.6" fill="#188a3e"/>
<line x1="359.0" y1="177.0" x2="359.0" y2="196.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="183.6" width="9" height="6.6" fill="#188a3e"/>
<line x1="374.0" y1="170.4" x2="374.0" y2="190.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="177.0" width="9" height="6.6" fill="#188a3e"/>
<line x1="389.0" y1="163.8" x2="389.0" y2="183.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="170.4" width="9" height="6.6" fill="#188a3e"/>
<line x1="24" y1="369.7" x2="546" y2="369.7" stroke="#888"/>
<rect x="39.5" y="336.1" width="9" height="33.6" fill="#c00" opacity="0.55"/>
<rect x="54.5" y="337.9" width="9" height="31.8" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="339.1" width="9" height="30.6" fill="#c00" opacity="0.55"/>
<rect x="84.5" y="340.3" width="9" height="29.4" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="341.5" width="9" height="28.2" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="342.7" width="9" height="27.0" fill="#c00" opacity="0.55"/>
<rect x="129.5" y="343.3" width="9" height="26.4" fill="#c00" opacity="0.55"/>
<rect x="144.5" y="344.5" width="9" height="25.2" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="345.1" width="9" height="24.6" fill="#c00" opacity="0.55"/>
<rect x="174.5" y="346.3" width="9" height="23.4" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="333.7" width="9" height="36.0" fill="#188a3e" opacity="0.55"/>
<rect x="204.5" y="318.1" width="9" height="51.6" fill="#188a3e" opacity="0.55"/>
<rect x="219.5" y="326.5" width="9" height="43.2" fill="#188a3e" opacity="0.55"/>
<rect x="234.5" y="324.7" width="9" height="45.0" fill="#188a3e" opacity="0.55"/>
<rect x="249.5" y="327.7" width="9" height="42.0" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="322.9" width="9" height="46.8" fill="#188a3e" opacity="0.55"/>
<rect x="279.5" y="320.5" width="9" height="49.2" fill="#188a3e" opacity="0.55"/>
<rect x="294.5" y="321.7" width="9" height="48.0" fill="#c00" opacity="0.55"/>
<rect x="309.5" y="318.7" width="9" height="51.0" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="316.9" width="9" height="52.8" fill="#188a3e" opacity="0.55"/>
<rect x="339.5" y="314.5" width="9" height="55.2" fill="#188a3e" opacity="0.55"/>
<rect x="354.5" y="312.7" width="9" height="57.0" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="310.9" width="9" height="58.8" fill="#188a3e" opacity="0.55"/>
<rect x="384.5" y="309.7" width="9" height="60.0" fill="#188a3e" opacity="0.55"/>
<text x="24" y="303.7" fill="#555">volum</text>
<text x="194.0" y="297.7" fill="#b06000" text-anchor="middle" style="font-weight:bold">doji la nivel (low 41.95)</text>
<text x="209.0" y="225.9" fill="#188a3e" text-anchor="middle" style="font-weight:bold">acumulare</text>
<text x="24" y="400" fill="#555">acumulare: volum peste media ultimelor 10 bare.</text>
</g><g transform="translate(592,38)">
<text x="24" y="48" fill="#333" style="font-weight:bold">Mediocru — gap-up în rezistență, volum varză</text>
<line x1="24" y1="78.0" x2="546" y2="78.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="532" y="72.0" fill="#c00" text-anchor="end">rezistență 78.50</text>
<line x1="44.0" y1="249.6" x2="44.0" y2="269.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="254.0" width="9" height="11.0" fill="#188a3e"/>
<line x1="59.0" y1="238.6" x2="59.0" y2="258.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="243.0" width="9" height="11.0" fill="#188a3e"/>
<line x1="74.0" y1="226.5" x2="74.0" y2="246.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="230.9" width="9" height="12.1" fill="#188a3e"/>
<line x1="89.0" y1="214.4" x2="89.0" y2="234.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="218.8" width="9" height="12.1" fill="#188a3e"/>
<line x1="104.0" y1="203.4" x2="104.0" y2="222.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="207.8" width="9" height="11.0" fill="#188a3e"/>
<line x1="119.0" y1="192.4" x2="119.0" y2="211.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="196.8" width="9" height="11.0" fill="#188a3e"/>
<line x1="134.0" y1="181.4" x2="134.0" y2="200.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="185.8" width="9" height="11.0" fill="#188a3e"/>
<line x1="149.0" y1="171.5" x2="149.0" y2="189.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="175.9" width="9" height="9.9" fill="#188a3e"/>
<line x1="164.0" y1="161.6" x2="164.0" y2="179.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="166.0" width="9" height="9.9" fill="#188a3e"/>
<line x1="179.0" y1="151.7" x2="179.0" y2="169.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="156.1" width="9" height="9.9" fill="#188a3e"/>
<line x1="194.0" y1="141.8" x2="194.0" y2="159.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="146.2" width="9" height="9.9" fill="#188a3e"/>
<line x1="209.0" y1="133.0" x2="209.0" y2="149.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="137.4" width="9" height="8.8" fill="#188a3e"/>
<line x1="224.0" y1="124.2" x2="224.0" y2="140.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="128.6" width="9" height="8.8" fill="#188a3e"/>
<line x1="239.0" y1="115.4" x2="239.0" y2="131.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="115.4" width="9" height="13.2" fill="#188a3e"/>
<line x1="254.0" y1="78.0" x2="254.0" y2="86.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="84.6" width="9" height="1.6" fill="#188a3e"/>
<line x1="269.0" y1="56.0" x2="269.0" y2="86.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="60.4" width="9" height="24.2" fill="#188a3e"/>
<line x1="284.0" y1="58.2" x2="284.0" y2="80.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="60.4" width="9" height="15.4" fill="#c00"/>
<line x1="299.0" y1="73.6" x2="299.0" y2="93.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="75.8" width="9" height="13.2" fill="#c00"/>
<line x1="314.0" y1="86.8" x2="314.0" y2="106.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="89.0" width="9" height="13.2" fill="#c00"/>
<line x1="329.0" y1="98.9" x2="329.0" y2="115.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="102.2" width="9" height="8.8" fill="#c00"/>
<line x1="344.0" y1="107.7" x2="344.0" y2="124.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="111.0" width="9" height="8.8" fill="#c00"/>
<line x1="359.0" y1="116.5" x2="359.0" y2="130.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="119.8" width="9" height="6.6" fill="#c00"/>
<line x1="374.0" y1="124.2" x2="374.0" y2="137.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="126.4" width="9" height="6.6" fill="#c00"/>
<line x1="389.0" y1="129.7" x2="389.0" y2="144.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="133.0" width="9" height="6.6" fill="#c00"/>
<line x1="24" y1="355.4" x2="546" y2="355.4" stroke="#888"/>
<rect x="39.5" y="311.8" width="9" height="43.6" fill="#188a3e" opacity="0.55"/>
<rect x="54.5" y="309.9" width="9" height="45.5" fill="#188a3e" opacity="0.55"/>
<rect x="69.5" y="310.9" width="9" height="44.5" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="308.1" width="9" height="47.3" fill="#188a3e" opacity="0.55"/>
<rect x="99.5" y="309.0" width="9" height="46.4" fill="#188a3e" opacity="0.55"/>
<rect x="114.5" y="306.3" width="9" height="49.1" fill="#188a3e" opacity="0.55"/>
<rect x="129.5" y="307.2" width="9" height="48.2" fill="#188a3e" opacity="0.55"/>
<rect x="144.5" y="304.5" width="9" height="50.9" fill="#188a3e" opacity="0.55"/>
<rect x="159.5" y="305.4" width="9" height="50.0" fill="#188a3e" opacity="0.55"/>
<rect x="174.5" y="302.7" width="9" height="52.7" fill="#188a3e" opacity="0.55"/>
<rect x="189.5" y="303.6" width="9" height="51.8" fill="#188a3e" opacity="0.55"/>
<rect x="204.5" y="300.9" width="9" height="54.5" fill="#188a3e" opacity="0.55"/>
<rect x="219.5" y="301.8" width="9" height="53.6" fill="#188a3e" opacity="0.55"/>
<rect x="234.5" y="299.0" width="9" height="56.4" fill="#188a3e" opacity="0.55"/>
<rect x="249.5" y="302.7" width="9" height="52.7" fill="#188a3e" opacity="0.55"/>
<rect x="264.5" y="328.1" width="9" height="27.3" fill="#188a3e" opacity="0.55"/>
<rect x="279.5" y="305.4" width="9" height="50.0" fill="#c00" opacity="0.55"/>
<rect x="294.5" y="300.9" width="9" height="54.5" fill="#c00" opacity="0.55"/>
<rect x="309.5" y="297.2" width="9" height="58.2" fill="#c00" opacity="0.55"/>
<rect x="324.5" y="299.0" width="9" height="56.4" fill="#c00" opacity="0.55"/>
<rect x="339.5" y="295.4" width="9" height="60.0" fill="#c00" opacity="0.55"/>
<rect x="354.5" y="298.1" width="9" height="57.3" fill="#c00" opacity="0.55"/>
<rect x="369.5" y="296.3" width="9" height="59.1" fill="#c00" opacity="0.55"/>
<rect x="384.5" y="299.9" width="9" height="55.5" fill="#c00" opacity="0.55"/>
<text x="24" y="289.4" fill="#555">volum</text>
<text x="254.0" y="199.8" fill="#b06000" text-anchor="middle" style="font-weight:bold">doji 78.50 / 78.10</text>
<text x="24" y="385" fill="#555">gap-up + doji în rezistență, confirmare pe volum slab.</text>
<text x="28" y="120" fill="#c00" style="font-weight:bold">gap-up, volum slab</text><line x1="152" y1="116" x2="246.5" y2="100.0" stroke="#c00" stroke-width="1"/><circle cx="246.5" cy="100.0" r="2.5" fill="#c00"/></g><text x="580" y="472" fill="#555" text-anchor="middle">Surse: 13_strategia_3_byh.md:188-190 (doji la nivel); 01_buy_doji_si_strategia_mici.md:227-235 (context invalid).</text></svg>
| | **A+** | **Mediocru / NU** |
|---|---|---|
@@ -338,7 +783,176 @@ Nu aleg eu între variante. Pentru fiecare: ce spune fiecare sursă și ce
> Materialul nu dă niciun exemplu numeric complet, de la intrare la ieșire,
> cu prețuri de curs.
<!-- DIAGRAMA: labu -->
<svg viewBox="0 0 820 507" 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">LABU — daily</text>
<line x1="24" y1="315.2" x2="806" y2="315.2" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="309.2" fill="#777">pivot monthly 86.00 (construit)</text>
<line x1="24" y1="351.6" x2="806" y2="351.6" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="345.6" fill="#c00">SL 81.45 (construit) = −9 % (procent real)</text>
<line x1="24" y1="287.2" x2="806" y2="287.2" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="792" y="281.2" fill="#188a3e" text-anchor="end">intrare 89.50 (construit)</text>
<line x1="24" y1="72.4" x2="806" y2="72.4" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="792" y="66.4" fill="#1a5fb4" text-anchor="end">TP 116.35 (construit) = +30 % (procent real)</text>
<polyline points="329.0,249.9 344.0,258.3 359.0,266.9 374.0,275.7 389.0,284.3 404.0,291.5 419.0,297.3 434.0,301.7 449.0,305.2 464.0,308.4 479.0,311.8 494.0,315.6 509.0,319.3 524.0,321.1 539.0,322.2 554.0,320.6 569.0,317.3 584.0,313.9 599.0,311.7 614.0,308.9 629.0,305.5 644.0,301.9 659.0,296.3 674.0,288.7 689.0,280.9 704.0,272.3 719.0,263.3 734.0,253.3 749.0,241.9 764.0,229.5" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="770" y="224" fill="#b06000">SMA-20</text>
<line x1="44.0" y1="120.0" x2="44.0" y2="143.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="123.2" width="9" height="16.0" fill="#c00"/>
<line x1="59.0" y1="136.0" x2="59.0" y2="155.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="139.2" width="9" height="12.0" fill="#c00"/>
<line x1="74.0" y1="148.0" x2="74.0" y2="167.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="151.2" width="9" height="12.0" fill="#c00"/>
<line x1="89.0" y1="160.0" x2="89.0" y2="183.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="163.2" width="9" height="16.0" fill="#c00"/>
<line x1="104.0" y1="176.0" x2="104.0" y2="195.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="179.2" width="9" height="12.0" fill="#c00"/>
<line x1="119.0" y1="188.0" x2="119.0" y2="207.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="191.2" width="9" height="12.0" fill="#c00"/>
<line x1="134.0" y1="200.0" x2="134.0" y2="223.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="203.2" width="9" height="16.0" fill="#c00"/>
<line x1="149.0" y1="216.0" x2="149.0" y2="235.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="219.2" width="9" height="12.0" fill="#c00"/>
<line x1="164.0" y1="228.0" x2="164.0" y2="247.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="231.2" width="9" height="12.0" fill="#c00"/>
<line x1="179.0" y1="240.0" x2="179.0" y2="259.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="243.2" width="9" height="12.0" fill="#c00"/>
<line x1="194.0" y1="252.0" x2="194.0" y2="267.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="255.2" width="9" height="8.0" fill="#c00"/>
<line x1="209.0" y1="260.0" x2="209.0" y2="279.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="263.2" width="9" height="12.0" fill="#c00"/>
<line x1="224.0" y1="272.0" x2="224.0" y2="291.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="275.2" width="9" height="12.0" fill="#c00"/>
<line x1="239.0" y1="284.0" x2="239.0" y2="307.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="287.2" width="9" height="16.0" fill="#c00"/>
<line x1="254.0" y1="300.0" x2="254.0" y2="323.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="303.2" width="9" height="16.0" fill="#c00"/>
<line x1="269.0" y1="316.0" x2="269.0" y2="344.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="319.2" width="9" height="21.6" fill="#c00"/>
<line x1="284.0" y1="324.0" x2="284.0" y2="342.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="327.2" width="9" height="13.6" fill="#188a3e"/>
<line x1="299.0" y1="308.0" x2="299.0" y2="331.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="311.2" width="9" height="16.0" fill="#188a3e"/>
<line x1="314.0" y1="296.0" x2="314.0" y2="315.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="299.2" width="9" height="12.0" fill="#188a3e"/>
<line x1="329.0" y1="292.0" x2="329.0" y2="303.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="295.2" width="9" height="4.0" fill="#188a3e"/>
<line x1="344.0" y1="292.0" x2="344.0" y2="311.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="295.2" width="9" height="12.0" fill="#c00"/>
<line x1="359.0" y1="304.0" x2="359.0" y2="327.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="307.2" width="9" height="16.0" fill="#c00"/>
<line x1="374.0" y1="320.0" x2="374.0" y2="343.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="323.2" width="9" height="16.0" fill="#c00"/>
<line x1="389.0" y1="336.0" x2="389.0" y2="351.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="339.2" width="9" height="12.0" fill="#c00"/>
<line x1="404.0" y1="332.0" x2="404.0" y2="351.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="335.2" width="9" height="16.0" fill="#188a3e"/>
<line x1="419.0" y1="316.0" x2="419.0" y2="339.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="319.2" width="9" height="16.0" fill="#188a3e"/>
<line x1="434.0" y1="304.0" x2="434.0" y2="323.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="307.2" width="9" height="12.0" fill="#188a3e"/>
<line x1="449.0" y1="297.6" x2="449.0" y2="311.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="300.8" width="9" height="6.4" fill="#188a3e"/>
<line x1="464.0" y1="297.6" x2="464.0" y2="311.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="300.8" width="9" height="6.4" fill="#c00"/>
<line x1="479.0" y1="304.0" x2="479.0" y2="327.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="307.2" width="9" height="16.0" fill="#c00"/>
<line x1="494.0" y1="320.0" x2="494.0" y2="343.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="323.2" width="9" height="16.0" fill="#c00"/>
<line x1="509.0" y1="336.0" x2="509.0" y2="351.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="504.5" y="339.2" width="9" height="11.2" fill="#c00"/>
<line x1="524.0" y1="320.0" x2="524.0" y2="351.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="519.5" y="323.2" width="9" height="27.2" fill="#188a3e"/>
<line x1="539.0" y1="312.8" x2="539.0" y2="329.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="534.5" y="323.2" width="9" height="1.6" fill="#c00"/>
<line x1="554.0" y1="284.0" x2="554.0" y2="328.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="549.5" y="287.2" width="9" height="36.8" fill="#188a3e"/>
<line x1="569.0" y1="272.0" x2="569.0" y2="291.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="564.5" y="275.2" width="9" height="12.0" fill="#188a3e"/>
<line x1="584.0" y1="256.0" x2="584.0" y2="279.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="579.5" y="259.2" width="9" height="16.0" fill="#188a3e"/>
<line x1="599.0" y1="256.0" x2="599.0" y2="271.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="594.5" y="259.2" width="9" height="8.0" fill="#c00"/>
<line x1="614.0" y1="240.0" x2="614.0" y2="271.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="609.5" y="243.2" width="9" height="24.0" fill="#188a3e"/>
<line x1="629.0" y1="224.0" x2="629.0" y2="247.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="624.5" y="227.2" width="9" height="16.0" fill="#188a3e"/>
<line x1="644.0" y1="224.0" x2="644.0" y2="239.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="639.5" y="227.2" width="9" height="8.0" fill="#c00"/>
<line x1="659.0" y1="208.0" x2="659.0" y2="239.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="654.5" y="211.2" width="9" height="24.0" fill="#188a3e"/>
<line x1="674.0" y1="184.0" x2="674.0" y2="215.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="669.5" y="187.2" width="9" height="24.0" fill="#188a3e"/>
<line x1="689.0" y1="184.0" x2="689.0" y2="199.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="684.5" y="187.2" width="9" height="8.0" fill="#c00"/>
<line x1="704.0" y1="160.0" x2="704.0" y2="199.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="699.5" y="163.2" width="9" height="32.0" fill="#188a3e"/>
<line x1="719.0" y1="136.0" x2="719.0" y2="167.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="714.5" y="139.2" width="9" height="24.0" fill="#188a3e"/>
<line x1="734.0" y1="104.0" x2="734.0" y2="143.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="729.5" y="107.2" width="9" height="32.0" fill="#188a3e"/>
<line x1="749.0" y1="69.2" x2="749.0" y2="111.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="744.5" y="72.4" width="9" height="34.8" fill="#188a3e"/>
<line x1="764.0" y1="56.0" x2="764.0" y2="76.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="759.5" y="59.2" width="9" height="13.2" fill="#188a3e"/>
<line x1="24" y1="447.6" x2="806" y2="447.6" stroke="#888"/>
<rect x="39.5" y="408.3" width="9" height="39.3" fill="#c00" opacity="0.55"/>
<rect x="54.5" y="410.5" width="9" height="37.1" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="413.3" width="9" height="34.3" fill="#c00" opacity="0.55"/>
<rect x="84.5" y="411.9" width="9" height="35.7" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="415.5" width="9" height="32.1" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="414.0" width="9" height="33.6" fill="#c00" opacity="0.55"/>
<rect x="129.5" y="416.2" width="9" height="31.4" fill="#c00" opacity="0.55"/>
<rect x="144.5" y="414.7" width="9" height="32.9" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="417.6" width="9" height="30.0" fill="#c00" opacity="0.55"/>
<rect x="174.5" y="416.2" width="9" height="31.4" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="419.0" width="9" height="28.6" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="417.6" width="9" height="30.0" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="420.5" width="9" height="27.1" fill="#c00" opacity="0.55"/>
<rect x="234.5" y="418.3" width="9" height="29.3" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="406.2" width="9" height="41.4" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="403.3" width="9" height="44.3" fill="#c00" opacity="0.55"/>
<rect x="279.5" y="411.9" width="9" height="35.7" fill="#188a3e" opacity="0.55"/>
<rect x="294.5" y="414.7" width="9" height="32.9" fill="#188a3e" opacity="0.55"/>
<rect x="309.5" y="416.2" width="9" height="31.4" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="416.9" width="9" height="30.7" fill="#188a3e" opacity="0.55"/>
<rect x="339.5" y="415.5" width="9" height="32.1" fill="#c00" opacity="0.55"/>
<rect x="354.5" y="416.2" width="9" height="31.4" fill="#c00" opacity="0.55"/>
<rect x="369.5" y="414.0" width="9" height="33.6" fill="#c00" opacity="0.55"/>
<rect x="384.5" y="400.5" width="9" height="47.1" fill="#c00" opacity="0.55"/>
<rect x="399.5" y="408.3" width="9" height="39.3" fill="#188a3e" opacity="0.55"/>
<rect x="414.5" y="411.9" width="9" height="35.7" fill="#188a3e" opacity="0.55"/>
<rect x="429.5" y="414.0" width="9" height="33.6" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="415.5" width="9" height="32.1" fill="#188a3e" opacity="0.55"/>
<rect x="459.5" y="416.2" width="9" height="31.4" fill="#c00" opacity="0.55"/>
<rect x="474.5" y="417.6" width="9" height="30.0" fill="#c00" opacity="0.55"/>
<rect x="489.5" y="416.9" width="9" height="30.7" fill="#c00" opacity="0.55"/>
<rect x="504.5" y="415.5" width="9" height="32.1" fill="#c00" opacity="0.55"/>
<rect x="519.5" y="404.7" width="9" height="42.9" fill="#188a3e" opacity="0.55"/>
<rect x="534.5" y="396.2" width="9" height="51.4" fill="#c00" opacity="0.55"/>
<rect x="549.5" y="387.6" width="9" height="60.0" fill="#188a3e" opacity="0.55"/>
<rect x="564.5" y="391.9" width="9" height="55.7" fill="#188a3e" opacity="0.55"/>
<rect x="579.5" y="397.6" width="9" height="50.0" fill="#188a3e" opacity="0.55"/>
<rect x="594.5" y="401.9" width="9" height="45.7" fill="#c00" opacity="0.55"/>
<rect x="609.5" y="404.7" width="9" height="42.9" fill="#188a3e" opacity="0.55"/>
<rect x="624.5" y="406.2" width="9" height="41.4" fill="#188a3e" opacity="0.55"/>
<rect x="639.5" y="409.0" width="9" height="38.6" fill="#c00" opacity="0.55"/>
<rect x="654.5" y="410.5" width="9" height="37.1" fill="#188a3e" opacity="0.55"/>
<rect x="669.5" y="407.6" width="9" height="40.0" fill="#188a3e" opacity="0.55"/>
<rect x="684.5" y="404.7" width="9" height="42.9" fill="#c00" opacity="0.55"/>
<rect x="699.5" y="400.5" width="9" height="47.1" fill="#188a3e" opacity="0.55"/>
<rect x="714.5" y="394.7" width="9" height="52.9" fill="#188a3e" opacity="0.55"/>
<rect x="729.5" y="389.0" width="9" height="58.6" fill="#188a3e" opacity="0.55"/>
<rect x="744.5" y="383.3" width="9" height="64.3" fill="#188a3e" opacity="0.55"/>
<rect x="759.5" y="377.6" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<text x="24" y="371.6" fill="#555">volum</text>
<text x="269.0" y="364.0" fill="#c00" text-anchor="middle" style="font-weight:bold">bottom 1 82.40</text>
<text x="389.0" y="365.6" fill="#c00" text-anchor="middle" style="font-weight:bold">bottom 2 81.45</text>
<text x="509.0" y="365.6" fill="#c00" text-anchor="middle" style="font-weight:bold">bottom 3 81.45</text>
<text x="539.0" y="302.8" fill="#b06000" text-anchor="middle" style="font-weight:bold">doji</text>
<text x="554.0" y="260.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">confirmare (intrare)</text>
<text x="776.0" y="46.0" fill="#188a3e" text-anchor="end" style="font-weight:bold">higher high — TP atins</text>
<text x="24" y="469.6" fill="#c00">bara 33 = doji: o 85.00, c 84.90, h 86.30, l 84.20 — corp mic exact pe pivotul monthly 86.00 (indecizie la suport)</text>
<text x="24" y="495" fill="#555">Procentele (stop 9 %, +30 %) sunt ale cursului; nivelurile de preț sunt construite de sumarizator (18_2025-09-23.md:713).</text>
</svg>
1. **Context:** downtrend → consolidare → triple bottom → doji.
2. **Doji la pivotul monthly 86.00** — al doilea test al nivelului, fără low

View File

@@ -48,7 +48,138 @@ puternică decât un pattern vizual izolat (`04_MODUL_3/04_strategia_2_mp_patrat
### Diagrama de ansamblu
<!-- DIAGRAMA: mp2_ansamblu -->
<svg viewBox="0 0 720 603" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<polyline points="44.0,119.2 59.0,119.2 74.0,119.2 89.0,119.2 104.0,119.2 119.0,119.2 134.0,119.2 149.0,119.2 164.0,119.2 179.0,119.2 194.0,119.2 194.0,289.2 209.0,289.2 224.0,289.2 239.0,289.2 254.0,289.2 269.0,289.2 284.0,289.2 299.0,289.2 314.0,289.2 329.0,289.2 344.0,289.2 344.0,415.8 359.0,415.8 374.0,415.8 389.0,415.8 404.0,415.8 419.0,415.8 434.0,415.8 449.0,415.8 464.0,415.8 464.0,421.8 479.0,421.8 494.0,421.8 509.0,421.8 524.0,421.8 539.0,421.8 554.0,421.8 569.0,421.8 584.0,421.8 599.0,421.8" fill="none" stroke="#777" stroke-width="1.6"/>
<polyline points="44.0,127.7 59.0,127.7 74.0,127.7 89.0,127.7 104.0,127.7 119.0,127.7 119.0,153.2 134.0,153.2 149.0,153.2 164.0,153.2 179.0,153.2 194.0,153.2 194.0,306.2 209.0,306.2 224.0,306.2 239.0,306.2 254.0,306.2 254.0,357.2 269.0,357.2 284.0,357.2 299.0,357.2 314.0,357.2 314.0,432.0 329.0,432.0 344.0,432.0 359.0,432.0 359.0,426.0 374.0,426.0 389.0,426.0 389.0,421.8 404.0,421.8 419.0,421.8 419.0,413.3 434.0,413.3 449.0,413.3 464.0,413.3 464.0,404.8 479.0,404.8 494.0,404.8 509.0,404.8 524.0,404.8 524.0,398.0 539.0,398.0 554.0,398.0 569.0,398.0 584.0,398.0 599.0,398.0" fill="none" stroke="#1a5fb4" stroke-width="1.6"/>
<text x="712" y="392.0" fill="#1a5fb4" text-anchor="end">pivot weekly (mic)</text>
<text x="712" y="435.8" fill="#777" text-anchor="end">pivot monthly (mare)</text>
<text x="24" y="78" fill="#333" style="font-weight:bold">NVDA — weekly (pre-split 1:10)</text>
<line x1="24" y1="411.6" x2="706" y2="411.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="405.6" fill="#188a3e">entry ~13.80 (după M+A)</text>
<line x1="24" y1="465.4" x2="706" y2="465.4" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="459.4" fill="#c00">SL swing low absolut 10.63, −23%</text>
<line x1="24" y1="352.9" x2="706" y2="352.9" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="346.9" fill="#1a5fb4">TP ~+25% (17.25), ~9 săpt.</text>
<line x1="44.0" y1="86.0" x2="44.0" y2="108.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="92.0" width="9" height="10.2" fill="#c00"/>
<line x1="59.0" y1="96.2" x2="59.0" y2="128.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="102.2" width="9" height="20.4" fill="#c00"/>
<line x1="74.0" y1="116.6" x2="74.0" y2="148.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="122.6" width="9" height="20.4" fill="#c00"/>
<line x1="89.0" y1="137.0" x2="89.0" y2="164.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="143.0" width="9" height="15.3" fill="#c00"/>
<line x1="104.0" y1="152.3" x2="104.0" y2="186.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="158.3" width="9" height="22.1" fill="#c00"/>
<line x1="119.0" y1="174.4" x2="119.0" y2="201.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="180.4" width="9" height="15.3" fill="#c00"/>
<line x1="134.0" y1="189.7" x2="134.0" y2="222.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="195.7" width="9" height="20.4" fill="#c00"/>
<line x1="149.0" y1="210.1" x2="149.0" y2="240.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="216.1" width="9" height="18.7" fill="#c00"/>
<line x1="164.0" y1="228.8" x2="164.0" y2="250.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="234.8" width="9" height="10.2" fill="#c00"/>
<line x1="179.0" y1="239.0" x2="179.0" y2="273.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="245.0" width="9" height="22.1" fill="#c00"/>
<line x1="194.0" y1="261.1" x2="194.0" y2="293.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="267.1" width="9" height="20.4" fill="#c00"/>
<line x1="209.0" y1="281.5" x2="209.0" y2="313.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="287.5" width="9" height="20.4" fill="#c00"/>
<line x1="224.0" y1="301.9" x2="224.0" y2="337.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="307.9" width="9" height="23.8" fill="#c00"/>
<line x1="239.0" y1="325.7" x2="239.0" y2="364.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="331.7" width="9" height="27.2" fill="#c00"/>
<line x1="254.0" y1="353.8" x2="254.0" y2="392.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="358.9" width="9" height="28.9" fill="#c00"/>
<line x1="269.0" y1="384.4" x2="269.0" y2="465.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="387.8" width="9" height="64.6" fill="#c00"/>
<line x1="284.0" y1="440.5" x2="284.0" y2="457.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="445.6" width="9" height="6.8" fill="#188a3e"/>
<line x1="299.0" y1="435.4" x2="299.0" y2="450.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="440.5" width="9" height="5.1" fill="#188a3e"/>
<line x1="314.0" y1="431.1" x2="314.0" y2="445.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="436.2" width="9" height="4.2" fill="#188a3e"/>
<line x1="329.0" y1="431.1" x2="329.0" y2="443.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="436.2" width="9" height="2.6" fill="#c00"/>
<line x1="344.0" y1="427.7" x2="344.0" y2="443.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="432.8" width="9" height="6.0" fill="#188a3e"/>
<line x1="359.0" y1="422.6" x2="359.0" y2="437.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="427.7" width="9" height="5.1" fill="#188a3e"/>
<line x1="374.0" y1="419.2" x2="374.0" y2="432.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="424.3" width="9" height="3.4" fill="#188a3e"/>
<line x1="389.0" y1="414.1" x2="389.0" y2="429.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="419.2" width="9" height="5.1" fill="#188a3e"/>
<line x1="404.0" y1="410.7" x2="404.0" y2="424.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="415.8" width="9" height="3.4" fill="#188a3e"/>
<line x1="419.0" y1="407.3" x2="419.0" y2="419.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="411.6" width="9" height="4.2" fill="#188a3e"/>
<line x1="434.0" y1="401.4" x2="434.0" y2="416.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="406.5" width="9" height="5.1" fill="#188a3e"/>
<line x1="449.0" y1="395.4" x2="449.0" y2="411.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="400.5" width="9" height="5.9" fill="#188a3e"/>
<line x1="464.0" y1="389.5" x2="464.0" y2="405.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="394.6" width="9" height="6.0" fill="#188a3e"/>
<line x1="479.0" y1="384.4" x2="479.0" y2="399.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="389.5" width="9" height="5.1" fill="#188a3e"/>
<line x1="494.0" y1="378.4" x2="494.0" y2="394.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="383.5" width="9" height="5.9" fill="#188a3e"/>
<line x1="509.0" y1="372.5" x2="509.0" y2="388.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="504.5" y="377.6" width="9" height="6.0" fill="#188a3e"/>
<line x1="524.0" y1="367.4" x2="524.0" y2="382.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="519.5" y="372.5" width="9" height="5.1" fill="#188a3e"/>
<line x1="539.0" y1="367.4" x2="539.0" y2="381.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="534.5" y="372.5" width="9" height="3.4" fill="#c00"/>
<line x1="554.0" y1="364.0" x2="554.0" y2="381.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="549.5" y="369.1" width="9" height="6.8" fill="#188a3e"/>
<line x1="569.0" y1="358.9" x2="569.0" y2="374.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="564.5" y="364.0" width="9" height="5.1" fill="#188a3e"/>
<line x1="584.0" y1="352.9" x2="584.0" y2="369.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="579.5" y="358.0" width="9" height="5.9" fill="#188a3e"/>
<line x1="599.0" y1="347.8" x2="599.0" y2="363.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="594.5" y="352.9" width="9" height="5.1" fill="#188a3e"/>
<line x1="24" y1="561.4" x2="706" y2="561.4" stroke="#888"/>
<rect x="39.5" y="531.1" width="9" height="30.3" fill="#c00" opacity="0.55"/>
<rect x="54.5" y="529.4" width="9" height="32.1" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="532.3" width="9" height="29.2" fill="#c00" opacity="0.55"/>
<rect x="84.5" y="527.6" width="9" height="33.8" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="529.9" width="9" height="31.5" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="532.9" width="9" height="28.6" fill="#c00" opacity="0.55"/>
<rect x="129.5" y="528.8" width="9" height="32.7" fill="#c00" opacity="0.55"/>
<rect x="144.5" y="531.1" width="9" height="30.3" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="526.4" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="174.5" y="528.2" width="9" height="33.2" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="524.7" width="9" height="36.8" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="521.8" width="9" height="39.7" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="519.4" width="9" height="42.0" fill="#c00" opacity="0.55"/>
<rect x="234.5" y="514.8" width="9" height="46.7" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="508.9" width="9" height="52.5" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="491.4" width="9" height="70.0" fill="#c00" opacity="0.55"/>
<rect x="279.5" y="503.1" width="9" height="58.3" fill="#188a3e" opacity="0.55"/>
<rect x="294.5" y="519.4" width="9" height="42.0" fill="#188a3e" opacity="0.55"/>
<rect x="309.5" y="526.4" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="529.4" width="9" height="32.1" fill="#c00" opacity="0.55"/>
<rect x="339.5" y="527.6" width="9" height="33.8" fill="#188a3e" opacity="0.55"/>
<rect x="354.5" y="525.3" width="9" height="36.2" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="522.9" width="9" height="38.5" fill="#188a3e" opacity="0.55"/>
<rect x="384.5" y="520.6" width="9" height="40.8" fill="#188a3e" opacity="0.55"/>
<rect x="399.5" y="515.9" width="9" height="45.5" fill="#188a3e" opacity="0.55"/>
<rect x="414.5" y="506.0" width="9" height="55.4" fill="#188a3e" opacity="0.55"/>
<rect x="429.5" y="510.1" width="9" height="51.3" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="514.8" width="9" height="46.7" fill="#188a3e" opacity="0.55"/>
<rect x="459.5" y="518.3" width="9" height="43.2" fill="#188a3e" opacity="0.55"/>
<rect x="474.5" y="520.6" width="9" height="40.8" fill="#188a3e" opacity="0.55"/>
<rect x="489.5" y="521.8" width="9" height="39.7" fill="#188a3e" opacity="0.55"/>
<rect x="504.5" y="519.4" width="9" height="42.0" fill="#188a3e" opacity="0.55"/>
<rect x="519.5" y="517.1" width="9" height="44.3" fill="#188a3e" opacity="0.55"/>
<rect x="534.5" y="520.6" width="9" height="40.8" fill="#c00" opacity="0.55"/>
<rect x="549.5" y="518.3" width="9" height="43.2" fill="#188a3e" opacity="0.55"/>
<rect x="564.5" y="515.9" width="9" height="45.5" fill="#188a3e" opacity="0.55"/>
<rect x="579.5" y="512.4" width="9" height="49.0" fill="#188a3e" opacity="0.55"/>
<rect x="594.5" y="507.8" width="9" height="53.7" fill="#188a3e" opacity="0.55"/>
<text x="24" y="485.4" fill="#555">volum</text>
<text x="269.0" y="479.4" fill="#c00" text-anchor="middle" style="font-weight:bold">minim absolut 10.63</text>
<text x="419.0" y="397.3" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">M+A</text>
<text x="24" y="591" fill="#555">Bottom oct. 2022: entry ~13.80, −23%, ~+25% în ~9 săpt. Traseu și pivoți construiți (cursul nu dă valorile lor).</text>
</svg>
*Exemplul din curs: NVDA, bottom octombrie 2022, combinația weekly/monthly (cifre
pre-split 1:10) — downtrend masiv → crossing → intrare, SL și țintă pe același grafic.*
@@ -93,7 +224,120 @@ pre-split 1:10) — downtrend masiv → crossing → intrare, SL și țintă pe
### 1.2 Setup — ce trebuie să vezi pe grafic
<!-- DIAGRAMA: mp2_crossing -->
<svg viewBox="0 0 480 688" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<g transform="translate(0,0)">
<polyline points="44.0,182.3 59.0,182.3 74.0,182.3 89.0,182.3 104.0,182.3 119.0,182.3 134.0,182.3 149.0,182.3 164.0,182.3 179.0,182.3 194.0,182.3 194.0,134.8 209.0,134.8 224.0,134.8 239.0,134.8 254.0,134.8 269.0,134.8 284.0,134.8 299.0,134.8 314.0,134.8 329.0,134.8 344.0,134.8 359.0,134.8" fill="none" stroke="#b06000" stroke-width="1.8"/>
<text x="470" y="128.8" fill="#b06000" text-anchor="end" style="font-weight:bold">pivot daily (cel MIC)</text>
<text x="24" y="48" fill="#333" style="font-weight:bold">DA — crossing (+2)</text>
<line x1="24" y1="153.9" x2="466" y2="153.9" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray=""/>
<text x="452" y="147.9" fill="#1a5fb4" text-anchor="end">pivot weekly (cel MARE) 62.00</text>
<circle cx="194.0" cy="158.6" r="13" fill="none" stroke="#188a3e" stroke-width="2"/>
<text x="210.0" y="200.3" fill="#188a3e" style="font-weight:bold">crossing: 61.70 → 62.20</text>
<text x="213.0" y="85.0" fill="#188a3e" text-anchor="end" style="font-weight:bold">intrare: trigger</text>
<line x1="44.0" y1="201.4" x2="44.0" y2="229.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="209.0" width="9" height="11.4" fill="#c00"/>
<line x1="59.0" y1="212.8" x2="59.0" y2="244.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="220.4" width="9" height="14.2" fill="#c00"/>
<line x1="74.0" y1="208.0" x2="74.0" y2="244.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="215.6" width="9" height="19.0" fill="#188a3e"/>
<line x1="89.0" y1="208.0" x2="89.0" y2="239.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="215.6" width="9" height="14.2" fill="#c00"/>
<line x1="104.0" y1="198.5" x2="104.0" y2="239.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="206.1" width="9" height="23.8" fill="#188a3e"/>
<line x1="119.0" y1="198.5" x2="119.0" y2="229.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="206.1" width="9" height="14.3" fill="#c00"/>
<line x1="134.0" y1="189.0" x2="134.0" y2="229.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="196.6" width="9" height="23.8" fill="#188a3e"/>
<line x1="149.0" y1="189.0" x2="149.0" y2="220.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="196.6" width="9" height="14.2" fill="#c00"/>
<line x1="164.0" y1="184.3" x2="164.0" y2="220.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="191.8" width="9" height="19.0" fill="#188a3e"/>
<line x1="179.0" y1="170.0" x2="179.0" y2="201.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="177.6" width="9" height="14.2" fill="#188a3e"/>
<line x1="194.0" y1="133.9" x2="194.0" y2="187.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="149.1" width="9" height="28.5" fill="#188a3e"/>
<line x1="209.0" y1="95.0" x2="209.0" y2="158.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="115.9" width="9" height="33.3" fill="#188a3e"/>
<line x1="224.0" y1="94.0" x2="224.0" y2="125.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="101.6" width="9" height="14.2" fill="#188a3e"/>
<line x1="239.0" y1="94.0" x2="239.0" y2="115.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="101.6" width="9" height="4.7" fill="#c00"/>
<line x1="254.0" y1="84.5" x2="254.0" y2="115.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="92.1" width="9" height="14.2" fill="#188a3e"/>
<line x1="269.0" y1="84.5" x2="269.0" y2="106.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="92.1" width="9" height="4.7" fill="#c00"/>
<line x1="284.0" y1="75.0" x2="284.0" y2="106.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="82.6" width="9" height="14.2" fill="#188a3e"/>
<line x1="299.0" y1="75.0" x2="299.0" y2="96.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="82.6" width="9" height="4.7" fill="#c00"/>
<line x1="314.0" y1="65.5" x2="314.0" y2="96.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="73.1" width="9" height="14.2" fill="#188a3e"/>
<line x1="329.0" y1="65.5" x2="329.0" y2="87.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="73.1" width="9" height="4.8" fill="#c00"/>
<line x1="344.0" y1="60.8" x2="344.0" y2="87.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="68.4" width="9" height="9.5" fill="#188a3e"/>
<line x1="359.0" y1="56.0" x2="359.0" y2="77.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="63.6" width="9" height="4.8" fill="#188a3e"/>
</g>
<g transform="translate(0,314)">
<polyline points="44.0,139.6 59.0,139.6 74.0,139.6 89.0,139.6 104.0,139.6 119.0,139.6 134.0,139.6 149.0,139.6 164.0,139.6 179.0,139.6 179.0,149.1 194.0,149.1 209.0,149.1 224.0,149.1 239.0,149.1 254.0,149.1 269.0,149.1 284.0,149.1 299.0,149.1 314.0,149.1 329.0,149.1 344.0,149.1 359.0,149.1" fill="none" stroke="#b06000" stroke-width="1.8"/>
<text x="470" y="143.1" fill="#b06000" text-anchor="end" style="font-weight:bold">pivot daily (cel MIC)</text>
<text x="24" y="48" fill="#333" style="font-weight:bold">NU — continuare/buy the dip (+1)</text>
<line x1="24" y1="168.1" x2="466" y2="168.1" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray=""/>
<text x="452" y="162.1" fill="#1a5fb4" text-anchor="end">pivot weekly (cel MARE) 62.00</text>
<line x1="44.0" y1="191.9" x2="44.0" y2="220.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="199.5" width="9" height="11.4" fill="#c00"/>
<line x1="59.0" y1="189.0" x2="59.0" y2="220.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="196.6" width="9" height="14.3" fill="#188a3e"/>
<line x1="74.0" y1="170.0" x2="74.0" y2="206.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="177.6" width="9" height="19.0" fill="#188a3e"/>
<line x1="89.0" y1="170.0" x2="89.0" y2="196.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="177.6" width="9" height="9.5" fill="#c00"/>
<line x1="104.0" y1="155.8" x2="104.0" y2="196.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="163.4" width="9" height="23.8" fill="#188a3e"/>
<line x1="119.0" y1="127.2" x2="119.0" y2="172.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="134.8" width="9" height="28.5" fill="#188a3e"/>
<line x1="134.0" y1="127.2" x2="134.0" y2="153.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="134.8" width="9" height="9.5" fill="#c00"/>
<line x1="149.0" y1="117.7" x2="149.0" y2="153.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="125.3" width="9" height="19.0" fill="#188a3e"/>
<line x1="164.0" y1="108.3" x2="164.0" y2="134.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="115.9" width="9" height="9.5" fill="#188a3e"/>
<line x1="179.0" y1="108.3" x2="179.0" y2="139.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="115.9" width="9" height="14.2" fill="#c00"/>
<line x1="194.0" y1="103.5" x2="194.0" y2="139.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="111.1" width="9" height="19.0" fill="#188a3e"/>
<line x1="209.0" y1="103.5" x2="209.0" y2="130.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="111.1" width="9" height="9.5" fill="#c00"/>
<line x1="224.0" y1="94.0" x2="224.0" y2="130.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="101.6" width="9" height="19.0" fill="#188a3e"/>
<line x1="239.0" y1="94.0" x2="239.0" y2="115.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="101.6" width="9" height="4.8" fill="#c00"/>
<line x1="254.0" y1="84.5" x2="254.0" y2="115.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="92.1" width="9" height="14.2" fill="#188a3e"/>
<line x1="269.0" y1="84.5" x2="269.0" y2="106.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="92.1" width="9" height="4.7" fill="#c00"/>
<line x1="284.0" y1="75.0" x2="284.0" y2="106.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="82.6" width="9" height="14.2" fill="#188a3e"/>
<line x1="299.0" y1="75.0" x2="299.0" y2="96.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="82.6" width="9" height="4.7" fill="#c00"/>
<line x1="314.0" y1="65.5" x2="314.0" y2="96.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="73.1" width="9" height="14.2" fill="#188a3e"/>
<line x1="329.0" y1="65.5" x2="329.0" y2="87.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="73.1" width="9" height="4.7" fill="#c00"/>
<line x1="344.0" y1="56.0" x2="344.0" y2="87.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="63.6" width="9" height="14.2" fill="#188a3e"/>
<line x1="359.0" y1="56.0" x2="359.0" y2="77.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="63.6" width="9" height="4.8" fill="#c00"/>
<text x="24" y="68.0" fill="#777">fără crossing nou; nu a mai căzut sub pivotul mare</text>
<text x="239.0" y="234.0" fill="#777" text-anchor="middle" style="font-weight:bold">semnale ulterioare = BUY THE DIP, nu crossing</text></g>
<text x="24" y="576" fill="#555">Pivot weekly 62.00 = linia orizontală (pivotul MARE).</text>
<text x="24" y="593" fill="#555">Pivot daily (cel MIC) se recalculează zilnic și sare pe nivel nou.</text>
<text x="24" y="610" fill="#555">Trigger = prima candelă verde după crossing,</text>
<text x="24" y="627" fill="#555">care închide peste pivotul daily.</text>
<text x="24" y="644" fill="#555">Crossing = pivotul mic traversează 62.00 în sus; fără re-încrucișare,</text>
<text x="24" y="661" fill="#555">semnalele ulterioare sunt buy the dip, nu crossing.</text>
</svg>
1. **Alege perechea.** Pentru MP²-1 (swing, 1-3 zile): pivot **daily** = mic, pivot
**weekly** = mare, execuție pe 60 min (`04_MODUL_3/04_strategia_2_mp_patrat.md:24-28`;
@@ -217,7 +461,227 @@ probabil să apară tranzacția care recuperează, nu momentul să te retragi
### 2.2 Setup A+ vs. setup mediocru
<!-- DIAGRAMA: mp2_aplus -->
<svg viewBox="0 0 1160 694" width="1160" height="694" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"><text x="580" y="20" fill="#333" text-anchor="middle" style="font-weight:bold">MP² crossing long — setup A+ vs. setup mediocru (aceeași strategie)</text><g transform="translate(8,38)">
<text x="24" y="48" fill="#333" style="font-weight:bold">A+ — crossing la confluență (SPY, aprilie)</text>
<line x1="24" y1="454.0" x2="546" y2="454.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="448.0" fill="#777">suport quarterly 554.00</text>
<line x1="24" y1="451.0" x2="546" y2="451.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="532" y="445.0" fill="#c00" text-anchor="end">SL 554.40 (peste suport)</text>
<line x1="24" y1="281.5" x2="546" y2="281.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="275.5" fill="#188a3e">intrare 577.00</text>
<line x1="24" y1="274.0" x2="546" y2="274.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="532" y="268.0" fill="#b06000" text-anchor="end">neckline 578.00</text>
<line x1="24" y1="112.0" x2="546" y2="112.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="532" y="106.0" fill="#1a5fb4" text-anchor="end">TP1 599.60 = 1:1</text>
<polyline points="24,75.8 36,121.8" fill="none" stroke="#999" stroke-width="2"/>
<text x="24" y="63.8" fill="#999">downtrend anterior</text>
<line x1="44.0" y1="121.8" x2="44.0" y2="141.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="124.0" width="9" height="15.0" fill="#c00"/>
<line x1="59.0" y1="136.8" x2="59.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="139.0" width="9" height="26.2" fill="#c00"/>
<line x1="74.0" y1="163.0" x2="74.0" y2="193.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="165.3" width="9" height="26.2" fill="#c00"/>
<line x1="89.0" y1="189.3" x2="89.0" y2="220.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="191.5" width="9" height="26.2" fill="#c00"/>
<line x1="104.0" y1="215.5" x2="104.0" y2="242.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="217.8" width="9" height="22.5" fill="#c00"/>
<line x1="119.0" y1="238.0" x2="119.0" y2="265.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="240.3" width="9" height="22.5" fill="#c00"/>
<line x1="134.0" y1="260.5" x2="134.0" y2="287.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="262.8" width="9" height="22.5" fill="#c00"/>
<line x1="149.0" y1="283.0" x2="149.0" y2="310.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="285.3" width="9" height="22.5" fill="#c00"/>
<line x1="164.0" y1="305.5" x2="164.0" y2="328.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="307.8" width="9" height="18.8" fill="#c00"/>
<line x1="179.0" y1="324.3" x2="179.0" y2="347.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="326.5" width="9" height="18.8" fill="#c00"/>
<line x1="194.0" y1="343.0" x2="194.0" y2="362.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="345.3" width="9" height="15.0" fill="#c00"/>
<line x1="209.0" y1="358.0" x2="209.0" y2="381.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="360.3" width="9" height="18.8" fill="#c00"/>
<line x1="224.0" y1="376.8" x2="224.0" y2="403.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="379.0" width="9" height="22.5" fill="#c00"/>
<line x1="239.0" y1="399.3" x2="239.0" y2="415.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="401.5" width="9" height="11.2" fill="#c00"/>
<line x1="254.0" y1="364.0" x2="254.0" y2="415.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="364.0" width="9" height="48.8" fill="#188a3e"/>
<line x1="269.0" y1="361.8" x2="269.0" y2="400.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="364.0" width="9" height="33.8" fill="#c00"/>
<line x1="284.0" y1="395.5" x2="284.0" y2="449.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="397.8" width="9" height="42.8" fill="#c00"/>
<line x1="299.0" y1="438.3" x2="299.0" y2="450.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="440.5" width="9" height="6.0" fill="#c00"/>
<line x1="314.0" y1="418.0" x2="314.0" y2="448.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="420.3" width="9" height="26.2" fill="#188a3e"/>
<line x1="329.0" y1="384.3" x2="329.0" y2="422.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="386.5" width="9" height="33.8" fill="#188a3e"/>
<line x1="344.0" y1="349.0" x2="344.0" y2="388.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="349.0" width="9" height="37.5" fill="#188a3e"/>
<line x1="359.0" y1="346.8" x2="359.0" y2="362.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="349.0" width="9" height="11.2" fill="#c00"/>
<line x1="374.0" y1="279.6" x2="374.0" y2="362.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="281.5" width="9" height="78.8" fill="#188a3e"/>
<line x1="389.0" y1="253.0" x2="389.0" y2="283.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="255.3" width="9" height="26.2" fill="#188a3e"/>
<line x1="404.0" y1="230.5" x2="404.0" y2="257.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="232.8" width="9" height="22.5" fill="#188a3e"/>
<line x1="419.0" y1="219.3" x2="419.0" y2="235.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="221.5" width="9" height="11.2" fill="#188a3e"/>
<line x1="434.0" y1="219.3" x2="434.0" y2="235.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="221.5" width="9" height="11.2" fill="#c00"/>
<line x1="449.0" y1="204.3" x2="449.0" y2="235.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="206.5" width="9" height="26.2" fill="#188a3e"/>
<line x1="464.0" y1="181.8" x2="464.0" y2="208.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="184.0" width="9" height="22.5" fill="#188a3e"/>
<line x1="479.0" y1="166.8" x2="479.0" y2="186.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="169.0" width="9" height="15.0" fill="#188a3e"/>
<line x1="494.0" y1="151.8" x2="494.0" y2="171.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="154.0" width="9" height="15.0" fill="#188a3e"/>
<line x1="509.0" y1="136.8" x2="509.0" y2="156.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="504.5" y="139.0" width="9" height="15.0" fill="#188a3e"/>
<line x1="524.0" y1="125.5" x2="524.0" y2="141.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="519.5" y="127.8" width="9" height="11.2" fill="#188a3e"/>
<line x1="24" y1="544.0" x2="546" y2="544.0" stroke="#888"/>
<rect x="39.5" y="501.8" width="9" height="42.2" fill="#c00" opacity="0.55"/>
<rect x="54.5" y="503.3" width="9" height="40.7" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="504.7" width="9" height="39.3" fill="#c00" opacity="0.55"/>
<rect x="84.5" y="506.2" width="9" height="37.8" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="507.6" width="9" height="36.4" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="509.1" width="9" height="34.9" fill="#c00" opacity="0.55"/>
<rect x="129.5" y="509.8" width="9" height="34.2" fill="#c00" opacity="0.55"/>
<rect x="144.5" y="511.3" width="9" height="32.7" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="512.0" width="9" height="32.0" fill="#c00" opacity="0.55"/>
<rect x="174.5" y="513.5" width="9" height="30.5" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="514.2" width="9" height="29.8" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="514.9" width="9" height="29.1" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="516.4" width="9" height="27.6" fill="#c00" opacity="0.55"/>
<rect x="234.5" y="512.0" width="9" height="32.0" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="506.2" width="9" height="37.8" fill="#188a3e" opacity="0.55"/>
<rect x="264.5" y="510.5" width="9" height="33.5" fill="#c00" opacity="0.55"/>
<rect x="279.5" y="499.6" width="9" height="44.4" fill="#c00" opacity="0.55"/>
<rect x="294.5" y="496.0" width="9" height="48.0" fill="#c00" opacity="0.55"/>
<rect x="309.5" y="501.8" width="9" height="42.2" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="504.7" width="9" height="39.3" fill="#188a3e" opacity="0.55"/>
<rect x="339.5" y="498.9" width="9" height="45.1" fill="#188a3e" opacity="0.55"/>
<rect x="354.5" y="507.6" width="9" height="36.4" fill="#c00" opacity="0.55"/>
<rect x="369.5" y="480.0" width="9" height="64.0" fill="#188a3e" opacity="0.55"/>
<rect x="384.5" y="490.2" width="9" height="53.8" fill="#188a3e" opacity="0.55"/>
<rect x="399.5" y="493.1" width="9" height="50.9" fill="#188a3e" opacity="0.55"/>
<rect x="414.5" y="496.0" width="9" height="48.0" fill="#188a3e" opacity="0.55"/>
<rect x="429.5" y="499.6" width="9" height="44.4" fill="#c00" opacity="0.55"/>
<rect x="444.5" y="494.5" width="9" height="49.5" fill="#188a3e" opacity="0.55"/>
<rect x="459.5" y="498.2" width="9" height="45.8" fill="#188a3e" opacity="0.55"/>
<rect x="474.5" y="501.1" width="9" height="42.9" fill="#188a3e" opacity="0.55"/>
<rect x="489.5" y="502.5" width="9" height="41.5" fill="#188a3e" opacity="0.55"/>
<rect x="504.5" y="504.0" width="9" height="40.0" fill="#188a3e" opacity="0.55"/>
<rect x="519.5" y="500.4" width="9" height="43.6" fill="#188a3e" opacity="0.55"/>
<text x="24" y="474.0" fill="#555">volum</text>
<text x="254.0" y="350.0" fill="#777" text-anchor="middle" style="font-weight:bold">umăr stâng 566</text>
<text x="299.0" y="468.0" fill="#c00" text-anchor="middle" style="font-weight:bold">head 555 / double bottom</text>
<text x="344.0" y="335.0" fill="#777" text-anchor="middle" style="font-weight:bold">umăr drept 568</text>
<text x="374.0" y="263.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">crossing</text>
<text x="24" y="574" fill="#555">Confluență: 554.00 + double bottom + neckline 578.00 · 1R 22.60</text>
</g><g transform="translate(592,38)">
<text x="24" y="48" fill="#333" style="font-weight:bold">Mediocru — crossing în mijlocul range-ului (construit)</text>
<line x1="24" y1="56.0" x2="546" y2="56.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="532" y="50.0" fill="#777" text-anchor="end">range 110.00</text>
<line x1="24" y1="396.0" x2="546" y2="396.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="390.0" fill="#777">range 100.00</text>
<line x1="24" y1="294.0" x2="546" y2="294.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="532" y="288.0" fill="#c00" text-anchor="end">SL 103.00</text>
<line x1="24" y1="226.0" x2="546" y2="226.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="532" y="220.0" fill="#188a3e" text-anchor="end">intrare 105.00</text>
<line x1="24" y1="158.0" x2="546" y2="158.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="532" y="152.0" fill="#1a5fb4" text-anchor="end">TP1 107.00</text>
<line x1="44.0" y1="368.8" x2="44.0" y2="389.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="379.0" width="9" height="1.6" fill="#188a3e"/>
<line x1="59.0" y1="348.4" x2="59.0" y2="389.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="358.6" width="9" height="20.4" fill="#188a3e"/>
<line x1="74.0" y1="324.6" x2="74.0" y2="368.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="334.8" width="9" height="23.8" fill="#188a3e"/>
<line x1="89.0" y1="300.8" x2="89.0" y2="345.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="311.0" width="9" height="23.8" fill="#188a3e"/>
<line x1="104.0" y1="277.0" x2="104.0" y2="321.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="287.2" width="9" height="23.8" fill="#188a3e"/>
<line x1="119.0" y1="253.2" x2="119.0" y2="297.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="263.4" width="9" height="23.8" fill="#188a3e"/>
<line x1="134.0" y1="229.4" x2="134.0" y2="273.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="239.6" width="9" height="23.8" fill="#188a3e"/>
<line x1="149.0" y1="215.8" x2="149.0" y2="246.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="226.0" width="9" height="13.6" fill="#188a3e"/>
<line x1="164.0" y1="188.6" x2="164.0" y2="236.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="198.8" width="9" height="27.2" fill="#188a3e"/>
<line x1="179.0" y1="164.8" x2="179.0" y2="209.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="175.0" width="9" height="23.8" fill="#188a3e"/>
<line x1="194.0" y1="147.8" x2="194.0" y2="185.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="158.0" width="9" height="17.0" fill="#188a3e"/>
<line x1="209.0" y1="147.8" x2="209.0" y2="195.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="158.0" width="9" height="27.2" fill="#c00"/>
<line x1="224.0" y1="175.0" x2="224.0" y2="243.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="185.2" width="9" height="47.6" fill="#c00"/>
<line x1="239.0" y1="222.6" x2="239.0" y2="290.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="232.8" width="9" height="47.6" fill="#c00"/>
<line x1="254.0" y1="270.2" x2="254.0" y2="338.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="280.4" width="9" height="47.6" fill="#c00"/>
<line x1="269.0" y1="283.8" x2="269.0" y2="338.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="294.0" width="9" height="34.0" fill="#188a3e"/>
<line x1="284.0" y1="232.8" x2="284.0" y2="304.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="243.0" width="9" height="51.0" fill="#188a3e"/>
<line x1="299.0" y1="181.8" x2="299.0" y2="253.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="192.0" width="9" height="51.0" fill="#188a3e"/>
<line x1="314.0" y1="130.8" x2="314.0" y2="202.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="141.0" width="9" height="51.0" fill="#188a3e"/>
<line x1="329.0" y1="86.6" x2="329.0" y2="151.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="96.8" width="9" height="44.2" fill="#188a3e"/>
<line x1="344.0" y1="62.8" x2="344.0" y2="107.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="73.0" width="9" height="23.8" fill="#188a3e"/>
<line x1="359.0" y1="62.8" x2="359.0" y2="113.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="73.0" width="9" height="30.6" fill="#c00"/>
<line x1="374.0" y1="93.4" x2="374.0" y2="161.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="103.6" width="9" height="47.6" fill="#c00"/>
<line x1="389.0" y1="141.0" x2="389.0" y2="209.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="151.2" width="9" height="47.6" fill="#c00"/>
<line x1="404.0" y1="188.6" x2="404.0" y2="256.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="198.8" width="9" height="47.6" fill="#c00"/>
<line x1="419.0" y1="236.2" x2="419.0" y2="297.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="246.4" width="9" height="40.8" fill="#c00"/>
<line x1="434.0" y1="232.8" x2="434.0" y2="297.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="243.0" width="9" height="44.2" fill="#188a3e"/>
<line x1="449.0" y1="181.8" x2="449.0" y2="253.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="192.0" width="9" height="51.0" fill="#188a3e"/>
<line x1="24" y1="486.0" x2="546" y2="486.0" stroke="#888"/>
<rect x="39.5" y="448.7" width="9" height="37.3" fill="#188a3e" opacity="0.55"/>
<rect x="54.5" y="446.9" width="9" height="39.1" fill="#188a3e" opacity="0.55"/>
<rect x="69.5" y="445.1" width="9" height="40.9" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="443.3" width="9" height="42.7" fill="#188a3e" opacity="0.55"/>
<rect x="99.5" y="441.6" width="9" height="44.4" fill="#188a3e" opacity="0.55"/>
<rect x="114.5" y="439.8" width="9" height="46.2" fill="#188a3e" opacity="0.55"/>
<rect x="129.5" y="437.1" width="9" height="48.9" fill="#188a3e" opacity="0.55"/>
<rect x="144.5" y="422.0" width="9" height="64.0" fill="#188a3e" opacity="0.55"/>
<rect x="159.5" y="429.1" width="9" height="56.9" fill="#188a3e" opacity="0.55"/>
<rect x="174.5" y="432.7" width="9" height="53.3" fill="#188a3e" opacity="0.55"/>
<rect x="189.5" y="434.4" width="9" height="51.6" fill="#188a3e" opacity="0.55"/>
<rect x="204.5" y="436.2" width="9" height="49.8" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="432.7" width="9" height="53.3" fill="#c00" opacity="0.55"/>
<rect x="234.5" y="438.0" width="9" height="48.0" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="439.8" width="9" height="46.2" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="441.6" width="9" height="44.4" fill="#188a3e" opacity="0.55"/>
<rect x="279.5" y="438.9" width="9" height="47.1" fill="#188a3e" opacity="0.55"/>
<rect x="294.5" y="436.2" width="9" height="49.8" fill="#188a3e" opacity="0.55"/>
<rect x="309.5" y="434.4" width="9" height="51.6" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="430.9" width="9" height="55.1" fill="#188a3e" opacity="0.55"/>
<rect x="339.5" y="432.7" width="9" height="53.3" fill="#188a3e" opacity="0.55"/>
<rect x="354.5" y="434.4" width="9" height="51.6" fill="#c00" opacity="0.55"/>
<rect x="369.5" y="437.1" width="9" height="48.9" fill="#c00" opacity="0.55"/>
<rect x="384.5" y="439.8" width="9" height="46.2" fill="#c00" opacity="0.55"/>
<rect x="399.5" y="441.6" width="9" height="44.4" fill="#c00" opacity="0.55"/>
<rect x="414.5" y="443.3" width="9" height="42.7" fill="#c00" opacity="0.55"/>
<rect x="429.5" y="440.7" width="9" height="45.3" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="438.0" width="9" height="48.0" fill="#188a3e" opacity="0.55"/>
<text x="24" y="416.0" fill="#555">volum</text>
<text x="149.0" y="201.8" fill="#188a3e" text-anchor="middle" style="font-weight:bold">crossing (mijloc)</text>
<text x="24" y="516" fill="#555">exemplu construit, nu date reale — SL nu stă pe niciun pivot</text>
</g><text x="580" y="650" fill="#555" text-anchor="middle">Legendă: ce separă cele două sunt nivelurile independente dedesubte (suport quarterly + double bottom + neckline),</text><text x="580" y="668" fill="#555" text-anchor="middle">nu un filtru pus în scaner. Panoul din dreapta e exemplu construit, nu date reale.</text><text x="580" y="686" fill="#555" text-anchor="middle">Surse A+: 09_QA/01_2026-08-25.md:389-394, 485-490, 501-507.</text></svg>
**A+ (SPY, bottom aprilie):** crossing-ul cade fix pe un **suport quarterly 554.00**, cu
**double bottom** și **Inverted Head & Shoulders** (umăr stâng 566 / head 555 / umăr
@@ -297,7 +761,144 @@ pentru că transcrierea scrie în ambele feluri (`08_ANALIZA_ZILNICA/02_mbt10.md
### 2.5 Exemplul complet, pas cu pas
<!-- DIAGRAMA: mp2_exemplu -->
<svg viewBox="0 0 720 623" 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">SPY — daily</text>
<line x1="24" y1="56.0" x2="706" y2="56.0" stroke="#555" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="692" y="50.0" fill="#555" text-anchor="end">ținta 4R era 667.00 (+16%)</text>
<line x1="24" y1="135.8" x2="706" y2="135.8" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="129.8" fill="#188a3e">646.00 — +12% efectiv (~3R)</text>
<line x1="24" y1="312.1" x2="706" y2="312.1" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="692" y="306.1" fill="#1a5fb4" text-anchor="end">TP1 599.60</text>
<line x1="24" y1="394.2" x2="706" y2="394.2" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="692" y="388.2" fill="#1a5fb4" text-anchor="end">neckline 578.00</text>
<line x1="24" y1="483.9" x2="706" y2="483.9" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="692" y="477.9" fill="#c00" text-anchor="end">SL 554.40</text>
<line x1="24" y1="485.4" x2="706" y2="485.4" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="479.4" fill="#777">suport quarterly 554.00</text>
<polyline points="329.0,389.7 344.0,397.1 359.0,402.6 374.0,405.6 389.0,410.1 404.0,414.4 419.0,416.4 434.0,418.1 449.0,417.9 464.0,416.1 479.0,415.6 494.0,412.8 509.0,408.1 524.0,401.4 539.0,393.2 554.0,384.6 569.0,375.9 584.0,363.9 599.0,348.9" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="605" y="343" fill="#b06000">SMA-20</text>
<line x1="44.0" y1="301.5" x2="44.0" y2="312.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="303.0" width="9" height="7.6" fill="#c00"/>
<line x1="59.0" y1="309.1" x2="59.0" y2="323.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="310.6" width="9" height="11.4" fill="#c00"/>
<line x1="74.0" y1="320.5" x2="74.0" y2="334.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="322.0" width="9" height="11.4" fill="#c00"/>
<line x1="89.0" y1="322.4" x2="89.0" y2="334.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="323.9" width="9" height="9.5" fill="#188a3e"/>
<line x1="104.0" y1="322.4" x2="104.0" y2="346.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="323.9" width="9" height="20.9" fill="#c00"/>
<line x1="119.0" y1="343.3" x2="119.0" y2="359.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="344.8" width="9" height="13.3" fill="#c00"/>
<line x1="134.0" y1="347.1" x2="134.0" y2="359.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="348.6" width="9" height="9.5" fill="#188a3e"/>
<line x1="149.0" y1="347.1" x2="149.0" y2="372.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="348.6" width="9" height="22.8" fill="#c00"/>
<line x1="164.0" y1="369.9" x2="164.0" y2="390.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="371.4" width="9" height="17.1" fill="#c00"/>
<line x1="179.0" y1="379.4" x2="179.0" y2="390.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="380.9" width="9" height="7.6" fill="#188a3e"/>
<line x1="194.0" y1="379.4" x2="194.0" y2="403.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="380.9" width="9" height="20.9" fill="#c00"/>
<line x1="209.0" y1="400.3" x2="209.0" y2="422.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="401.8" width="9" height="19.0" fill="#c00"/>
<line x1="224.0" y1="419.3" x2="224.0" y2="437.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="420.8" width="9" height="15.2" fill="#c00"/>
<line x1="239.0" y1="434.5" x2="239.0" y2="441.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="436.0" width="9" height="3.8" fill="#c00"/>
<line x1="254.0" y1="421.2" x2="254.0" y2="441.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="422.7" width="9" height="17.1" fill="#188a3e"/>
<line x1="269.0" y1="392.7" x2="269.0" y2="424.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="394.2" width="9" height="28.5" fill="#188a3e"/>
<line x1="284.0" y1="392.7" x2="284.0" y2="418.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="394.2" width="9" height="22.8" fill="#c00"/>
<line x1="299.0" y1="415.5" x2="299.0" y2="437.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="417.0" width="9" height="19.0" fill="#c00"/>
<line x1="314.0" y1="434.5" x2="314.0" y2="464.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="436.0" width="9" height="26.6" fill="#c00"/>
<line x1="329.0" y1="461.1" x2="329.0" y2="483.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="462.6" width="9" height="19.0" fill="#c00"/>
<line x1="344.0" y1="455.4" x2="344.0" y2="483.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="456.9" width="9" height="24.7" fill="#188a3e"/>
<line x1="359.0" y1="430.7" x2="359.0" y2="458.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="432.2" width="9" height="24.7" fill="#188a3e"/>
<line x1="374.0" y1="392.7" x2="374.0" y2="433.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="394.2" width="9" height="38.0" fill="#188a3e"/>
<line x1="389.0" y1="392.7" x2="389.0" y2="414.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="394.2" width="9" height="19.0" fill="#c00"/>
<line x1="404.0" y1="411.7" x2="404.0" y2="434.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="413.2" width="9" height="19.0" fill="#c00"/>
<line x1="419.0" y1="395.3" x2="419.0" y2="433.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="398.0" width="9" height="34.2" fill="#188a3e"/>
<line x1="434.0" y1="381.3" x2="434.0" y2="399.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="382.8" width="9" height="15.2" fill="#188a3e"/>
<line x1="449.0" y1="364.2" x2="449.0" y2="384.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="365.7" width="9" height="17.1" fill="#188a3e"/>
<line x1="464.0" y1="350.9" x2="464.0" y2="367.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="352.4" width="9" height="13.3" fill="#188a3e"/>
<line x1="479.0" y1="350.9" x2="479.0" y2="372.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="352.4" width="9" height="19.0" fill="#c00"/>
<line x1="494.0" y1="345.2" x2="494.0" y2="372.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="346.7" width="9" height="24.7" fill="#188a3e"/>
<line x1="509.0" y1="324.3" x2="509.0" y2="348.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="504.5" y="325.8" width="9" height="20.9" fill="#188a3e"/>
<line x1="524.0" y1="301.5" x2="524.0" y2="327.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="519.5" y="303.0" width="9" height="22.8" fill="#188a3e"/>
<line x1="539.0" y1="274.9" x2="539.0" y2="304.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="534.5" y="276.4" width="9" height="26.6" fill="#188a3e"/>
<line x1="554.0" y1="248.3" x2="554.0" y2="277.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="549.5" y="249.8" width="9" height="26.6" fill="#188a3e"/>
<line x1="569.0" y1="217.9" x2="569.0" y2="251.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="564.5" y="219.4" width="9" height="30.4" fill="#188a3e"/>
<line x1="584.0" y1="176.1" x2="584.0" y2="220.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="579.5" y="177.6" width="9" height="41.8" fill="#188a3e"/>
<line x1="599.0" y1="135.8" x2="599.0" y2="178.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="594.5" y="135.8" width="9" height="41.8" fill="#188a3e"/>
<line x1="24" y1="581.4" x2="706" y2="581.4" stroke="#888"/>
<rect x="39.5" y="546.0" width="9" height="35.4" fill="#c00" opacity="0.55"/>
<rect x="54.5" y="547.5" width="9" height="33.9" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="544.6" width="9" height="36.8" fill="#c00" opacity="0.55"/>
<rect x="84.5" y="549.0" width="9" height="32.4" fill="#188a3e" opacity="0.55"/>
<rect x="99.5" y="543.1" width="9" height="38.3" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="545.3" width="9" height="36.1" fill="#c00" opacity="0.55"/>
<rect x="129.5" y="548.2" width="9" height="33.2" fill="#188a3e" opacity="0.55"/>
<rect x="144.5" y="542.3" width="9" height="39.1" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="540.9" width="9" height="40.5" fill="#c00" opacity="0.55"/>
<rect x="174.5" y="546.8" width="9" height="34.6" fill="#188a3e" opacity="0.55"/>
<rect x="189.5" y="544.6" width="9" height="36.8" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="541.6" width="9" height="39.8" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="538.7" width="9" height="42.7" fill="#c00" opacity="0.55"/>
<rect x="234.5" y="535.7" width="9" height="45.7" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="537.2" width="9" height="44.2" fill="#188a3e" opacity="0.55"/>
<rect x="264.5" y="528.3" width="9" height="53.1" fill="#188a3e" opacity="0.55"/>
<rect x="279.5" y="533.5" width="9" height="47.9" fill="#c00" opacity="0.55"/>
<rect x="294.5" y="538.7" width="9" height="42.7" fill="#c00" opacity="0.55"/>
<rect x="309.5" y="532.8" width="9" height="48.6" fill="#c00" opacity="0.55"/>
<rect x="324.5" y="516.6" width="9" height="64.8" fill="#c00" opacity="0.55"/>
<rect x="339.5" y="529.8" width="9" height="51.6" fill="#188a3e" opacity="0.55"/>
<rect x="354.5" y="534.2" width="9" height="47.2" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="526.9" width="9" height="54.5" fill="#188a3e" opacity="0.55"/>
<rect x="384.5" y="537.2" width="9" height="44.2" fill="#c00" opacity="0.55"/>
<rect x="399.5" y="540.1" width="9" height="41.3" fill="#c00" opacity="0.55"/>
<rect x="414.5" y="513.6" width="9" height="67.8" fill="#188a3e" opacity="0.55"/>
<rect x="429.5" y="523.9" width="9" height="57.5" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="528.3" width="9" height="53.1" fill="#188a3e" opacity="0.55"/>
<rect x="459.5" y="531.3" width="9" height="50.1" fill="#188a3e" opacity="0.55"/>
<rect x="474.5" y="537.2" width="9" height="44.2" fill="#c00" opacity="0.55"/>
<rect x="489.5" y="532.8" width="9" height="48.6" fill="#188a3e" opacity="0.55"/>
<rect x="504.5" y="526.9" width="9" height="54.5" fill="#188a3e" opacity="0.55"/>
<rect x="519.5" y="521.0" width="9" height="60.4" fill="#188a3e" opacity="0.55"/>
<rect x="534.5" y="516.6" width="9" height="64.8" fill="#188a3e" opacity="0.55"/>
<rect x="549.5" y="522.5" width="9" height="58.9" fill="#188a3e" opacity="0.55"/>
<rect x="564.5" y="519.5" width="9" height="61.9" fill="#188a3e" opacity="0.55"/>
<rect x="579.5" y="515.1" width="9" height="66.3" fill="#188a3e" opacity="0.55"/>
<rect x="594.5" y="511.4" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<text x="24" y="505.4" fill="#555">volum</text>
<text x="239.0" y="461.7" fill="#1a1a1a" text-anchor="middle" style="font-weight:bold">umăr stâng 566</text>
<text x="329.0" y="499.4" fill="#1a1a1a" text-anchor="middle" style="font-weight:bold">head 555</text>
<text x="404.0" y="454.1" fill="#1a1a1a" text-anchor="middle" style="font-weight:bold">umăr drept 568</text>
<text x="419.0" y="375.3" fill="#188a3e" text-anchor="middle" style="font-weight:bold">intrare 577.00</text>
<text x="24" y="611" fill="#555">Intrare 577.00 = prima verde după umărul drept (MP² long). 1R = 22.60; 646.00 ~3R, într-o lună.</text>
</svg>
**SPY — LONG la bottom-ul de aprilie, combinația daily/weekly** (curs + Q&A).
- **Context:** suport quarterly la **554.00**; double bottom și **Inverted Head &
@@ -391,7 +992,87 @@ Autorul a confirmat că pivoții clasici se calculează în Excel din OHLC, „s
MP² e doar comparația a doi pivoți (`09_QA/09_2025-12-09.md:1177-1180`). Formula e cea
standard, predată în Modul 2 (`03_MODUL_2/02_zone_cerere_oferta_support_resistance.md:42-54`):
<!-- DIAGRAMA: mp2_pivoti_excel -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 444" width="700" height="444" role="img" aria-label="Tabel Excel: pivotii clasici calculati din OHLC, PP saptamanal vs PP zilnic, crossing bull">
<g font-family="system-ui, sans-serif">
<rect x="0" y="0" width="700" height="444" fill="#ffffff"/>
<text x="350.0" y="38.0" font-size="20" font-weight="700" fill="#000000" text-anchor="middle">Pivoții clasici în Excel — formula, pas cu pas</text>
<rect x="8.0" y="72.0" width="20.0" height="180.0" fill="#eef1f5" stroke="#333333" stroke-width="1.0"/>
<rect x="28.0" y="72.0" width="664.0" height="44.0" fill="#eef1f5" stroke="#333333" stroke-width="1.0"/>
<rect x="28.0" y="116.0" width="664.0" height="68.0" fill="#ffffff" stroke="#333333" stroke-width="1.0"/>
<rect x="28.0" y="184.0" width="664.0" height="68.0" fill="#fafbfc" stroke="#333333" stroke-width="1.0"/>
<line x1="116.0" y1="72.0" x2="116.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="164.0" y1="72.0" x2="164.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="212.0" y1="72.0" x2="212.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="260.0" y1="72.0" x2="260.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="372.0" y1="72.0" x2="372.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="440.0" y1="72.0" x2="440.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="508.0" y1="72.0" x2="508.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="600.0" y1="72.0" x2="600.0" y2="252.0" stroke="#c9d2dc" stroke-width="1.0"/>
<line x1="28.0" y1="72.0" x2="28.0" y2="252.0" stroke="#333333" stroke-width="1.0"/>
<line x1="8.0" y1="116.0" x2="692.0" y2="116.0" stroke="#333333" stroke-width="1.0"/>
<line x1="8.0" y1="184.0" x2="692.0" y2="184.0" stroke="#333333" stroke-width="1.0"/>
<rect x="8.0" y="72.0" width="684.0" height="180.0" fill="none" stroke="#333333" stroke-width="1.4"/>
<text x="18.0" y="99.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">1</text>
<text x="18.0" y="155.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">2</text>
<text x="18.0" y="223.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">3</text>
<text x="72.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">A</text>
<text x="140.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">B</text>
<text x="188.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">C</text>
<text x="236.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">D</text>
<text x="316.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">E</text>
<text x="406.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">F</text>
<text x="474.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">G</text>
<text x="554.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">H</text>
<text x="646.0" y="90.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">I</text>
<text x="72.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">Perioada</text>
<text x="140.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">High</text>
<text x="188.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">Low</text>
<text x="236.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">Close</text>
<text x="316.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">PP</text>
<text x="406.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">R1</text>
<text x="474.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">S1</text>
<text x="554.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">R2</text>
<text x="646.0" y="110.0" font-size="13" font-weight="700" fill="#000000" text-anchor="middle">S2</text>
<text x="72.0" y="138.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">Săptămâna</text>
<text x="72.0" y="156.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">încheiată</text>
<text x="72.0" y="174.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">(PPW)</text>
<text x="140.0" y="158.0" font-size="14" font-weight="400" fill="#000000" text-anchor="middle">22.00</text>
<text x="188.0" y="158.0" font-size="14" font-weight="400" fill="#000000" text-anchor="middle">20.50</text>
<text x="236.0" y="158.0" font-size="14" font-weight="400" fill="#000000" text-anchor="middle">21.60</text>
<text x="316.0" y="142.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=(B2+C2+D2)/3</text>
<text x="316.0" y="169.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">21.37</text>
<text x="406.0" y="142.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=2*E2-C2</text>
<text x="406.0" y="169.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">22.23</text>
<text x="474.0" y="142.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=2*E2-B2</text>
<text x="474.0" y="169.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">20.73</text>
<text x="554.0" y="142.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=E2+(B2-C2)</text>
<text x="554.0" y="169.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">22.87</text>
<text x="646.0" y="142.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=E2-(B2-C2)</text>
<text x="646.0" y="169.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">19.87</text>
<text x="72.0" y="200.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">Ziua</text>
<text x="72.0" y="218.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">încheiată</text>
<text x="72.0" y="236.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">(PPD)</text>
<text x="140.0" y="226.0" font-size="14" font-weight="400" fill="#000000" text-anchor="middle">21.90</text>
<text x="188.0" y="226.0" font-size="14" font-weight="400" fill="#000000" text-anchor="middle">21.00</text>
<text x="236.0" y="226.0" font-size="14" font-weight="400" fill="#000000" text-anchor="middle">21.80</text>
<text x="316.0" y="210.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=(B3+C3+D3)/3</text>
<text x="316.0" y="237.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">21.57</text>
<text x="406.0" y="210.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=2*E3-C3</text>
<text x="406.0" y="237.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">22.13</text>
<text x="474.0" y="210.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=2*E3-B3</text>
<text x="474.0" y="237.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">21.23</text>
<text x="554.0" y="210.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=E3+(B3-C3)</text>
<text x="554.0" y="237.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">22.47</text>
<text x="646.0" y="210.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">=E3-(B3-C3)</text>
<text x="646.0" y="237.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="middle">20.67</text>
<rect x="8.0" y="268.0" width="684.0" height="44.0" rx="6" fill="#eaf7ee" stroke="#188a3e" stroke-width="1.6"/>
<text x="350.0" y="296.0" font-size="16" font-weight="700" fill="#000000" text-anchor="middle">PPD 21.57 &gt; PPW 21.37 → CROSSING BULL (long)</text>
<text x="350.0" y="340.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">Cifrele sunt un exemplu construit, cu valori rotunde, pe TLV —</text>
<text x="350.0" y="358.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">nu sunt date reale de piață.</text>
<text x="350.0" y="386.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">crossing = PPD trece deasupra PPW; dacă rămâne deasupra — continuare (09_QA/16:35-43).</text>
<text x="350.0" y="408.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">Surse formule: 03_MODUL_2/02_zone_cerere_oferta_support_resistance.md:42-50</text>
<text x="350.0" y="426.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">Calcul Excel 1-la-1, MP² = comparația a doi pivoți: 09_QA/09_2025-12-09.md:1176-1180.</text>
</g></svg>
1. **Adună OHLC perioadei încheiate.** Pentru MP²-1 ai nevoie de două foi: una pentru
ziua încheiată (pivotul daily, PPD) și una pentru săptămâna încheiată (pivotul weekly,

View File

@@ -14,7 +14,123 @@ Piața se mișcă simultan pe două scări: trendul de pe time frame-ul mare și
### Diagrama de ansamblu
<!-- DIAGRAMA: ansamblu -->
<svg viewBox="0 0 720 568" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<line x1="24" y1="87.2" x2="706" y2="87.2" stroke="#b06000" stroke-width="1.5" stroke-dasharray="2 3"/><text x="692" y="81.2" fill="#b06000" text-anchor="end">bull trail 102.90</text>
<text x="24" y="48" fill="#333" style="font-weight:bold">Simbol construit — 3 min (TF mare 15 min în Buy)</text>
<line x1="24" y1="248.4" x2="706" y2="248.4" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="242.4" fill="#188a3e">intrare 99.80</text>
<line x1="24" y1="300.4" x2="706" y2="300.4" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="692" y="294.4" fill="#c00" text-anchor="end">SL 98.80 (4 candele)</text>
<line x1="24" y1="196.4" x2="706" y2="196.4" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="692" y="190.4" fill="#1a5fb4" text-anchor="end">TP1 100.80 = 1:1</text>
<polyline points="348.0,276.3 364.0,262.8 380.0,249.3 396.0,236.3 412.0,223.6 428.0,211.3 444.0,200.9 460.0,192.4 476.0,185.3 492.0,177.3 508.0,169.2 524.0,160.9 540.0,153.6" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="546" y="148" fill="#b06000">SMA-20</text>
<line x1="44.0" y1="396.6" x2="44.0" y2="430.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="404.4" width="9" height="20.8" fill="#188a3e"/>
<line x1="60.0" y1="375.8" x2="60.0" y2="409.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="55.5" y="383.6" width="9" height="20.8" fill="#188a3e"/>
<line x1="76.0" y1="349.8" x2="76.0" y2="388.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="71.5" y="357.6" width="9" height="26.0" fill="#188a3e"/>
<line x1="92.0" y1="329.0" x2="92.0" y2="362.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="87.5" y="336.8" width="9" height="20.8" fill="#188a3e"/>
<line x1="108.0" y1="303.0" x2="108.0" y2="342.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="103.5" y="310.8" width="9" height="26.0" fill="#188a3e"/>
<line x1="124.0" y1="277.0" x2="124.0" y2="316.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="119.5" y="284.8" width="9" height="26.0" fill="#188a3e"/>
<line x1="140.0" y1="256.2" x2="140.0" y2="290.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="135.5" y="264.0" width="9" height="20.8" fill="#188a3e"/>
<line x1="156.0" y1="230.2" x2="156.0" y2="269.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="151.5" y="238.0" width="9" height="26.0" fill="#188a3e"/>
<line x1="172.0" y1="232.8" x2="172.0" y2="256.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="167.5" y="238.0" width="9" height="10.4" fill="#c00"/>
<line x1="188.0" y1="243.2" x2="188.0" y2="279.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="183.5" y="248.4" width="9" height="20.8" fill="#c00"/>
<line x1="204.0" y1="264.0" x2="204.0" y2="297.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="199.5" y="269.2" width="9" height="20.8" fill="#c00"/>
<line x1="220.0" y1="274.4" x2="220.0" y2="297.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="215.5" y="279.6" width="9" height="10.4" fill="#188a3e"/>
<line x1="236.0" y1="274.4" x2="236.0" y2="300.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="231.5" y="279.6" width="9" height="15.6" fill="#c00"/>
<line x1="252.0" y1="277.0" x2="252.0" y2="297.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="247.5" y="282.2" width="9" height="13.0" fill="#188a3e"/>
<line x1="268.0" y1="269.2" x2="268.0" y2="287.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="263.5" y="274.4" width="9" height="7.8" fill="#188a3e"/>
<line x1="284.0" y1="240.6" x2="284.0" y2="279.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="248.4" width="9" height="26.0" fill="#188a3e"/>
<line x1="300.0" y1="219.8" x2="300.0" y2="253.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="295.5" y="227.6" width="9" height="20.8" fill="#188a3e"/>
<line x1="316.0" y1="193.8" x2="316.0" y2="232.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="311.5" y="201.6" width="9" height="26.0" fill="#188a3e"/>
<line x1="332.0" y1="167.8" x2="332.0" y2="206.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="327.5" y="175.6" width="9" height="26.0" fill="#188a3e"/>
<line x1="348.0" y1="147.0" x2="348.0" y2="180.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="343.5" y="154.8" width="9" height="20.8" fill="#188a3e"/>
<line x1="364.0" y1="126.2" x2="364.0" y2="160.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="359.5" y="134.0" width="9" height="20.8" fill="#188a3e"/>
<line x1="380.0" y1="105.4" x2="380.0" y2="139.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="375.5" y="113.2" width="9" height="20.8" fill="#188a3e"/>
<line x1="396.0" y1="89.8" x2="396.0" y2="118.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="391.5" y="97.6" width="9" height="15.6" fill="#188a3e"/>
<line x1="412.0" y1="74.2" x2="412.0" y2="102.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="407.5" y="82.0" width="9" height="15.6" fill="#188a3e"/>
<line x1="428.0" y1="56.0" x2="428.0" y2="87.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="423.5" y="66.4" width="9" height="15.6" fill="#188a3e"/>
<line x1="444.0" y1="61.2" x2="444.0" y2="84.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="439.5" y="66.4" width="9" height="10.4" fill="#c00"/>
<line x1="460.0" y1="71.6" x2="460.0" y2="100.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="455.5" y="76.8" width="9" height="15.6" fill="#c00"/>
<line x1="476.0" y1="86.2" x2="476.0" y2="105.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="471.5" y="92.4" width="9" height="5.2" fill="#c00"/>
<line x1="492.0" y1="82.0" x2="492.0" y2="105.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="487.5" y="87.2" width="9" height="10.4" fill="#188a3e"/>
<line x1="508.0" y1="82.0" x2="508.0" y2="115.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="503.5" y="87.2" width="9" height="20.8" fill="#c00"/>
<line x1="524.0" y1="102.8" x2="524.0" y2="131.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="519.5" y="108.0" width="9" height="15.6" fill="#c00"/>
<line x1="540.0" y1="118.4" x2="540.0" y2="144.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="535.5" y="123.6" width="9" height="10.4" fill="#c00"/>
<line x1="24" y1="526.4" x2="706" y2="526.4" stroke="#888"/>
<rect x="39.5" y="477.1" width="9" height="49.3" fill="#188a3e" opacity="0.55"/>
<rect x="55.5" y="473.9" width="9" height="52.5" fill="#188a3e" opacity="0.55"/>
<rect x="71.5" y="478.7" width="9" height="47.7" fill="#188a3e" opacity="0.55"/>
<rect x="87.5" y="472.3" width="9" height="54.1" fill="#188a3e" opacity="0.55"/>
<rect x="103.5" y="475.5" width="9" height="50.9" fill="#188a3e" opacity="0.55"/>
<rect x="119.5" y="470.7" width="9" height="55.7" fill="#188a3e" opacity="0.55"/>
<rect x="135.5" y="473.9" width="9" height="52.5" fill="#188a3e" opacity="0.55"/>
<rect x="151.5" y="467.5" width="9" height="58.9" fill="#188a3e" opacity="0.55"/>
<rect x="167.5" y="491.4" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="183.5" y="494.6" width="9" height="31.8" fill="#c00" opacity="0.55"/>
<rect x="199.5" y="496.2" width="9" height="30.2" fill="#c00" opacity="0.55"/>
<rect x="215.5" y="497.8" width="9" height="28.6" fill="#188a3e" opacity="0.55"/>
<rect x="231.5" y="499.4" width="9" height="27.0" fill="#c00" opacity="0.55"/>
<rect x="247.5" y="500.1" width="9" height="26.2" fill="#188a3e" opacity="0.55"/>
<rect x="263.5" y="498.6" width="9" height="27.8" fill="#188a3e" opacity="0.55"/>
<rect x="279.5" y="461.2" width="9" height="65.2" fill="#188a3e" opacity="0.55"/>
<rect x="295.5" y="456.4" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="311.5" y="469.1" width="9" height="57.3" fill="#188a3e" opacity="0.55"/>
<rect x="327.5" y="470.7" width="9" height="55.7" fill="#188a3e" opacity="0.55"/>
<rect x="343.5" y="467.5" width="9" height="58.9" fill="#188a3e" opacity="0.55"/>
<rect x="359.5" y="472.3" width="9" height="54.1" fill="#188a3e" opacity="0.55"/>
<rect x="375.5" y="469.1" width="9" height="57.3" fill="#188a3e" opacity="0.55"/>
<rect x="391.5" y="473.9" width="9" height="52.5" fill="#188a3e" opacity="0.55"/>
<rect x="407.5" y="470.7" width="9" height="55.7" fill="#188a3e" opacity="0.55"/>
<rect x="423.5" y="465.9" width="9" height="60.5" fill="#188a3e" opacity="0.55"/>
<rect x="439.5" y="475.5" width="9" height="50.9" fill="#c00" opacity="0.55"/>
<rect x="455.5" y="478.7" width="9" height="47.7" fill="#c00" opacity="0.55"/>
<rect x="471.5" y="480.3" width="9" height="46.1" fill="#c00" opacity="0.55"/>
<rect x="487.5" y="477.1" width="9" height="49.3" fill="#188a3e" opacity="0.55"/>
<rect x="503.5" y="481.9" width="9" height="44.5" fill="#c00" opacity="0.55"/>
<rect x="519.5" y="483.4" width="9" height="43.0" fill="#c00" opacity="0.55"/>
<rect x="535.5" y="473.9" width="9" height="52.5" fill="#c00" opacity="0.55"/>
<text x="24" y="450.4" fill="#555">volum</text>
<text x="32.0" y="159.6" fill="#1a5fb4" text-anchor="start" style="font-weight:bold">TF mare (15 min) în Buy</text>
<text x="220.0" y="317.8" fill="#c00" text-anchor="middle" style="font-weight:bold">M: Sell Momentum (pullback)</text>
<text x="284.0" y="108.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">A: primul Buy = trigger</text>
<text x="428.0" y="132.2" fill="#777" text-anchor="middle" style="font-weight:bold">vârf 103.30</text>
<text x="540.0" y="219.4" fill="#c00" text-anchor="middle" style="font-weight:bold">close sub bull trail = ieși</text>
<text x="540.0" y="237.4" fill="#c00" text-anchor="middle" style="font-weight:bold">ieșire 102.00 pe bull trail (2.2R)</text>
<text x="24" y="556" fill="#555">Serie construită (32 bare, 3 min). R = (102.00 − 99.80) / 1.00 = 2.2R.</text>
</svg>
*(graficul întreg al trade-ului: TF mare în Buy, pullback-ul Sell pe TF mic, triggerul Buy, intrarea, SL-ul de 4 candele, TP1 la 1:1 și ieșirea pe bull trail — spec `gen/strategii/m2d_ansamblu.spec.txt`)*
@@ -53,7 +169,48 @@ Piața se mișcă simultan pe două scări: trendul de pe time frame-ul mare și
5. **Verifici că TF mare a rămas în Buy** în acel moment. Dacă s-a răsucit între timp, setup-ul a expirat (`09_QA/08_2026-01-20.md:52-63`).
6. **Short: totul oglindit** — mare Sell → mic Buy (pullback) → mic Sell (`14_strategia_1_m2d.md:172-180`).
<!-- DIAGRAMA: secventa -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 780" width="700" height="780" role="img" aria-label="Secventa M apoi A a strategiei M2D, pe doua time frame-uri, pentru long si short: time frame-ul mare ramane in directie cat timp time frame-ul mic face pullback (M) si apoi da trigger-ul in directia mare (A)">
<g font-family="system-ui, sans-serif">
<rect x="0" y="0" width="700" height="780" fill="#ffffff"/>
<text x="350.0" y="30.0" font-size="19" font-weight="700" fill="#000000" text-anchor="middle">Secvența M → A: nu e o stare, e o secvență</text>
<text x="350.0" y="52.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">M2D — același moment, două time frame-uri: TF mare dă direcția, TF mic dă trigger-ul</text>
<text x="350.0" y="72.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">sus = LONG; jos = SHORT — aceleași momente, în oglindă</text>
<rect x="14" y="92" width="672" height="250" rx="8" fill="#fafafa" stroke="#ddd" stroke-width="1.2"/>
<rect x="14" y="362" width="672" height="270" rx="8" fill="#fafafa" stroke="#ddd" stroke-width="1.2"/>
<text x="30.0" y="116.0" font-size="15" font-weight="700" fill="#188a3e" text-anchor="start">LONG</text>
<text x="30.0" y="140.0" font-size="13" font-weight="400" fill="#777777" text-anchor="start">TF mare (ex. 15 min)</text>
<text x="660.0" y="114.0" font-size="13" font-weight="400" fill="#188a3e" text-anchor="end">rămâne în Buy pe tot parcursul</text>
<line x1="250.0" y1="138.0" x2="250.0" y2="282.0" stroke="#999999" stroke-width="1.2" stroke-dasharray="4 4"/>
<line x1="430.0" y1="128.0" x2="430.0" y2="210.0" stroke="#999999" stroke-width="1.2" stroke-dasharray="4 4"/>
<polyline points="40.0,162.0 150.0,148.0 250.0,138.0 430.0,128.0 660.0,118.0" fill="none" stroke="#188a3e" stroke-width="2.0"/>
<circle cx="150.0" cy="148.0" r="5.0" fill="#00b8c4"/>
<text x="185.0" y="126.0" font-size="13" font-weight="400" fill="#00b8c4" text-anchor="start">Buy Momentum</text>
<text x="30.0" y="202.0" font-size="13" font-weight="400" fill="#777777" text-anchor="start">TF mic (ex. 3 min)</text>
<polyline points="40.0,255.0 180.0,225.0 250.0,282.0 430.0,210.0 660.0,198.0" fill="none" stroke="#333333" stroke-width="2.0"/>
<circle cx="250.0" cy="282.0" r="5.0" fill="#c00"/>
<text x="262.0" y="296.0" font-size="13" font-weight="400" fill="#c00" text-anchor="start">M: Sell Momentum (pullback)</text>
<circle cx="430.0" cy="210.0" r="6.0" fill="#188a3e"/>
<text x="660.0" y="240.0" font-size="13" font-weight="400" fill="#188a3e" text-anchor="end">A: Buy Momentum — TRIGGER, intri long</text>
<text x="30.0" y="386.0" font-size="15" font-weight="700" fill="#c00" text-anchor="start">SHORT</text>
<text x="30.0" y="410.0" font-size="13" font-weight="400" fill="#777777" text-anchor="start">TF mare (ex. 15 min)</text>
<text x="660.0" y="494.0" font-size="13" font-weight="400" fill="#c00" text-anchor="end">rămâne în Sell pe tot parcursul</text>
<line x1="250.0" y1="454.0" x2="250.0" y2="500.0" stroke="#999999" stroke-width="1.2" stroke-dasharray="4 4"/>
<line x1="430.0" y1="464.0" x2="430.0" y2="574.0" stroke="#999999" stroke-width="1.2" stroke-dasharray="4 4"/>
<polyline points="40.0,430.0 150.0,444.0 250.0,454.0 430.0,464.0 660.0,474.0" fill="none" stroke="#c00" stroke-width="2.0"/>
<circle cx="150.0" cy="444.0" r="5.0" fill="#c00"/>
<text x="168.0" y="432.0" font-size="13" font-weight="400" fill="#c00" text-anchor="start">Sell Momentum</text>
<text x="30.0" y="470.0" font-size="13" font-weight="400" fill="#777777" text-anchor="start">TF mic (ex. 3 min)</text>
<polyline points="40.0,527.0 180.0,562.0 250.0,500.0 430.0,574.0 660.0,588.0" fill="none" stroke="#333333" stroke-width="2.0"/>
<circle cx="250.0" cy="500.0" r="5.0" fill="#00b8c4"/>
<text x="238.0" y="494.0" font-size="13" font-weight="400" fill="#00b8c4" text-anchor="end">M: Buy Momentum (pullback)</text>
<circle cx="430.0" cy="574.0" r="6.0" fill="#c00"/>
<text x="660.0" y="610.0" font-size="13" font-weight="400" fill="#c00" text-anchor="end">A: Sell Momentum — TRIGGER, intri short</text>
<rect x="40" y="648" width="620" height="116" rx="8" fill="#ffffff" stroke="#777777" stroke-width="1.2"/>
<text x="350.0" y="676.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">Secvența contează, nu starea: mare în Buy → mic în Sell → mic în Buy</text>
<text x="350.0" y="696.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">(cu mare încă în Buy). Un Buy direct pe TF mic, fără Sell între ele,</text>
<text x="350.0" y="716.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">NU e trigger (vezi 1.3).</text>
<text x="350.0" y="746.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">Sursă: 14_strategia_1_m2d.md:30-38, 172-180; 09_QA/08_2026-01-20.md:65-67</text>
</g></svg>
*(secvența M → A pe cele două time frame-uri — spec `gen/strategii/m2d_secventa.spec.txt`)*
@@ -165,7 +322,115 @@ Piața se mișcă simultan pe două scări: trendul de pe time frame-ul mare și
| Execuție | În loc de ieșire la TP1 s-a continuat cu **bear trail**, actualizat la fiecare candelă cu high mai mic; wick-urile au atins linia, dar nicio candelă nu s-a închis peste ea (`14_strategia_1_m2d.md:232-235`) |
| Rezultat | Ieșire pe violarea reală a trail-ului la **+4.55%** → risc/recompensă efectiv **≈ 1:5.3** (`14_strategia_1_m2d.md:235-236,326-328`) |
<!-- DIAGRAMA: exemplu -->
<svg viewBox="0 0 700 440" 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">RIOT — 3 min (TF mare 15 min în Sell)</text>
<line x1="24" y1="56.0" x2="686" y2="56.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="50.0" fill="#c00" text-anchor="end">SL 100.85 = +0.85%</text>
<line x1="24" y1="91.7" x2="686" y2="91.7" stroke="#333" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="85.7" fill="#333" text-anchor="end">intrare 100.00 (trigger Sell)</text>
<line x1="24" y1="127.4" x2="686" y2="127.4" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="121.4" fill="#1a5fb4" text-anchor="end">TP1 99.15 = 1:1</text>
<line x1="24" y1="282.8" x2="686" y2="282.8" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="276.8" fill="#188a3e" text-anchor="end">ieșire 95.45 = +4.55% ≈ 1:5.3</text>
<line x1="44.0" y1="169.4" x2="44.0" y2="200.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.0" y="175.7" width="10" height="16.8" fill="#c00"/>
<line x1="59.0" y1="187.5" x2="59.0" y2="221.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.0" y="192.5" width="10" height="21.0" fill="#c00"/>
<line x1="74.0" y1="207.2" x2="74.0" y2="236.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.0" y="213.5" width="10" height="16.8" fill="#c00"/>
<line x1="89.0" y1="226.1" x2="89.0" y2="255.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.0" y="230.3" width="10" height="16.8" fill="#c00"/>
<line x1="104.0" y1="242.1" x2="104.0" y2="274.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.0" y="247.1" width="10" height="16.8" fill="#c00"/>
<line x1="119.0" y1="259.7" x2="119.0" y2="289.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.0" y="263.9" width="10" height="12.6" fill="#c00"/>
<line x1="134.0" y1="253.4" x2="134.0" y2="282.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.0" y="263.9" width="10" height="12.6" fill="#188a3e"/>
<line x1="149.0" y1="234.5" x2="149.0" y2="270.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.0" y="242.9" width="10" height="21.0" fill="#188a3e"/>
<line x1="164.0" y1="215.6" x2="164.0" y2="251.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.0" y="221.9" width="10" height="21.0" fill="#188a3e"/>
<line x1="179.0" y1="188.3" x2="179.0" y2="228.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.0" y="196.7" width="10" height="25.2" fill="#188a3e"/>
<line x1="194.0" y1="158.9" x2="194.0" y2="205.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.0" y="167.3" width="10" height="29.4" fill="#188a3e"/>
<line x1="209.0" y1="125.3" x2="209.0" y2="174.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.0" y="133.7" width="10" height="33.6" fill="#188a3e"/>
<line x1="224.0" y1="93.8" x2="224.0" y2="140.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.0" y="104.3" width="10" height="29.4" fill="#188a3e"/>
<line x1="239.0" y1="56.0" x2="239.0" y2="110.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.0" y="79.1" width="10" height="25.2" fill="#188a3e"/>
<line x1="254.0" y1="72.8" x2="254.0" y2="102.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.0" y="79.1" width="10" height="12.6" fill="#c00"/>
<line x1="269.0" y1="85.4" x2="269.0" y2="121.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.0" y="91.7" width="10" height="21.0" fill="#c00"/>
<line x1="284.0" y1="106.4" x2="284.0" y2="141.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.0" y="112.7" width="10" height="21.0" fill="#c00"/>
<line x1="299.0" y1="128.7" x2="299.0" y2="163.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.0" y="133.7" width="10" height="21.0" fill="#c00"/>
<line x1="314.0" y1="148.4" x2="314.0" y2="183.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.0" y="154.7" width="10" height="21.0" fill="#c00"/>
<line x1="329.0" y1="169.4" x2="329.0" y2="200.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.0" y="175.7" width="10" height="16.8" fill="#c00"/>
<line x1="344.0" y1="187.5" x2="344.0" y2="216.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.0" y="192.5" width="10" height="16.8" fill="#c00"/>
<line x1="359.0" y1="203.0" x2="359.0" y2="230.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.0" y="209.3" width="10" height="12.6" fill="#c00"/>
<line x1="374.0" y1="216.9" x2="374.0" y2="242.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.0" y="221.9" width="10" height="12.6" fill="#c00"/>
<line x1="389.0" y1="228.2" x2="389.0" y2="255.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.0" y="234.5" width="10" height="12.6" fill="#c00"/>
<line x1="404.0" y1="242.1" x2="404.0" y2="263.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.0" y="247.1" width="10" height="8.4" fill="#c00"/>
<line x1="419.0" y1="249.2" x2="419.0" y2="276.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.0" y="255.5" width="10" height="12.6" fill="#c00"/>
<line x1="434.0" y1="263.1" x2="434.0" y2="288.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.0" y="268.1" width="10" height="12.6" fill="#c00"/>
<line x1="449.0" y1="274.4" x2="449.0" y2="301.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.0" y="280.7" width="10" height="12.6" fill="#c00"/>
<line x1="464.0" y1="278.6" x2="464.0" y2="299.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.0" y="287.0" width="10" height="6.3" fill="#188a3e"/>
<line x1="479.0" y1="270.2" x2="479.0" y2="291.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.0" y="282.8" width="10" height="4.2" fill="#188a3e"/>
<line x1="24" y1="397.7" x2="686" y2="397.7" stroke="#888"/>
<rect x="39.0" y="358.2" width="10" height="39.5" fill="#c00" opacity="0.55"/>
<rect x="54.0" y="360.6" width="10" height="37.1" fill="#c00" opacity="0.55"/>
<rect x="69.0" y="363.1" width="10" height="34.6" fill="#c00" opacity="0.55"/>
<rect x="84.0" y="364.8" width="10" height="32.9" fill="#c00" opacity="0.55"/>
<rect x="99.0" y="361.5" width="10" height="36.2" fill="#c00" opacity="0.55"/>
<rect x="114.0" y="356.5" width="10" height="41.2" fill="#c00" opacity="0.55"/>
<rect x="129.0" y="359.8" width="10" height="37.9" fill="#188a3e" opacity="0.55"/>
<rect x="144.0" y="363.1" width="10" height="34.6" fill="#188a3e" opacity="0.55"/>
<rect x="159.0" y="361.5" width="10" height="36.2" fill="#188a3e" opacity="0.55"/>
<rect x="174.0" y="364.8" width="10" height="32.9" fill="#188a3e" opacity="0.55"/>
<rect x="189.0" y="362.3" width="10" height="35.4" fill="#188a3e" opacity="0.55"/>
<rect x="204.0" y="359.0" width="10" height="38.7" fill="#188a3e" opacity="0.55"/>
<rect x="219.0" y="354.9" width="10" height="42.8" fill="#188a3e" opacity="0.55"/>
<rect x="234.0" y="341.7" width="10" height="56.0" fill="#188a3e" opacity="0.55"/>
<rect x="249.0" y="327.7" width="10" height="70.0" fill="#c00" opacity="0.55"/>
<rect x="264.0" y="348.3" width="10" height="49.4" fill="#c00" opacity="0.55"/>
<rect x="279.0" y="352.4" width="10" height="45.3" fill="#c00" opacity="0.55"/>
<rect x="294.0" y="354.9" width="10" height="42.8" fill="#c00" opacity="0.55"/>
<rect x="309.0" y="358.2" width="10" height="39.5" fill="#c00" opacity="0.55"/>
<rect x="324.0" y="359.8" width="10" height="37.9" fill="#c00" opacity="0.55"/>
<rect x="339.0" y="361.5" width="10" height="36.2" fill="#c00" opacity="0.55"/>
<rect x="354.0" y="363.1" width="10" height="34.6" fill="#c00" opacity="0.55"/>
<rect x="369.0" y="364.8" width="10" height="32.9" fill="#c00" opacity="0.55"/>
<rect x="384.0" y="362.3" width="10" height="35.4" fill="#c00" opacity="0.55"/>
<rect x="399.0" y="363.9" width="10" height="33.8" fill="#c00" opacity="0.55"/>
<rect x="414.0" y="361.5" width="10" height="36.2" fill="#c00" opacity="0.55"/>
<rect x="429.0" y="363.1" width="10" height="34.6" fill="#c00" opacity="0.55"/>
<rect x="444.0" y="364.8" width="10" height="32.9" fill="#c00" opacity="0.55"/>
<rect x="459.0" y="360.6" width="10" height="37.1" fill="#188a3e" opacity="0.55"/>
<rect x="474.0" y="338.4" width="10" height="59.3" fill="#188a3e" opacity="0.55"/>
<text x="24" y="321.7" fill="#555">volum</text>
<text x="32.0" y="123.0" fill="#c00" text-anchor="start" style="font-weight:bold">TF mare (15 min) în Sell</text>
<text x="149.0" y="307.0" fill="#0891b2" text-anchor="middle" style="font-weight:bold">M: Buy Momentum (pullback)</text>
<text x="254.0" y="294.0" fill="#c00" text-anchor="middle" style="font-weight:bold">A: primul Sell = trigger, intri short</text>
<text x="299.0" y="264.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">deja peste TP1 (1.42% din curs)</text>
<text x="479.0" y="312.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">close peste bear trail = ieși</text>
<text x="24" y="428" fill="#555">Axa de preț e construită (intrarea = 100.00); procentele sunt reale din curs.</text>
</svg>
*(trade-ul întreg, cu entry/SL/TP1 și ieșirea pe trail — spec `gen/strategii/m2d_exemplu.spec.txt`)*

View File

@@ -68,7 +68,127 @@ timp să le citească.
### Diagrama de ansamblu
<!-- DIAGRAMA: ansamblu -->
<svg viewBox="0 0 640 653" 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">ULTA — daily (pivoți monthly)</text>
<line x1="24" y1="481.4" x2="626" y2="481.4" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="475.4" fill="#c00">SL 352.00</text>
<line x1="24" y1="451.8" x2="626" y2="451.8" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="445.8" fill="#1a5fb4">suport monthly 355.48</text>
<line x1="24" y1="287.6" x2="626" y2="287.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="281.6" fill="#188a3e" text-anchor="end">intrare 374.80</text>
<line x1="24" y1="211.6" x2="626" y2="211.6" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="205.6" fill="#1a5fb4" text-anchor="end">pivot / TP1 383.74</text>
<line x1="24" y1="56.4" x2="626" y2="56.4" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="50.4" fill="#1a5fb4" text-anchor="end">TP2 402.00</text>
<polyline points="329.0,311.7 344.0,320.9 359.0,327.8 374.0,332.8 389.0,335.6 404.0,336.3 419.0,335.0 434.0,331.2 449.0,325.4 464.0,317.1 479.0,306.0 494.0,291.9 509.0,275.0" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="515" y="257" fill="#b06000">SMA-20</text>
<line x1="44.0" y1="99.8" x2="44.0" y2="120.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="103.2" width="9" height="12.8" fill="#c00"/>
<line x1="59.0" y1="112.9" x2="59.0" y2="146.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="115.9" width="9" height="27.2" fill="#c00"/>
<line x1="74.0" y1="140.1" x2="74.0" y2="173.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="143.1" width="9" height="27.2" fill="#c00"/>
<line x1="89.0" y1="167.3" x2="89.0" y2="202.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="170.3" width="9" height="28.9" fill="#c00"/>
<line x1="104.0" y1="196.2" x2="104.0" y2="229.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="199.2" width="9" height="27.2" fill="#c00"/>
<line x1="119.0" y1="223.4" x2="119.0" y2="256.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="226.4" width="9" height="26.4" fill="#c00"/>
<line x1="134.0" y1="249.8" x2="134.0" y2="283.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="252.8" width="9" height="27.2" fill="#c00"/>
<line x1="149.0" y1="277.0" x2="149.0" y2="308.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="280.0" width="9" height="24.6" fill="#c00"/>
<line x1="164.0" y1="301.6" x2="164.0" y2="332.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="304.6" width="9" height="24.7" fill="#c00"/>
<line x1="179.0" y1="326.3" x2="179.0" y2="357.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="329.3" width="9" height="24.6" fill="#c00"/>
<line x1="194.0" y1="350.9" x2="194.0" y2="381.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="353.9" width="9" height="23.8" fill="#c00"/>
<line x1="209.0" y1="374.8" x2="209.0" y2="401.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="377.7" width="9" height="20.4" fill="#c00"/>
<line x1="224.0" y1="383.2" x2="224.0" y2="401.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="386.2" width="9" height="11.9" fill="#188a3e"/>
<line x1="239.0" y1="383.2" x2="239.0" y2="408.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="386.2" width="9" height="18.7" fill="#c00"/>
<line x1="254.0" y1="401.9" x2="254.0" y2="429.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="404.9" width="9" height="21.2" fill="#c00"/>
<line x1="269.0" y1="423.6" x2="269.0" y2="451.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="426.2" width="9" height="19.6" fill="#c00"/>
<line x1="284.0" y1="410.0" x2="284.0" y2="448.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="413.4" width="9" height="32.3" fill="#188a3e"/>
<line x1="299.0" y1="367.9" x2="299.0" y2="416.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="370.9" width="9" height="42.5" fill="#188a3e"/>
<line x1="314.0" y1="329.7" x2="314.0" y2="374.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="332.7" width="9" height="38.2" fill="#188a3e"/>
<line x1="329.0" y1="299.9" x2="329.0" y2="336.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="302.9" width="9" height="29.8" fill="#188a3e"/>
<line x1="344.0" y1="293.6" x2="344.0" y2="305.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="300.4" width="9" height="2.6" fill="#188a3e"/>
<line x1="359.0" y1="277.8" x2="359.0" y2="303.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="280.8" width="9" height="19.6" fill="#188a3e"/>
<line x1="374.0" y1="265.9" x2="374.0" y2="284.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="268.9" width="9" height="11.9" fill="#188a3e"/>
<line x1="389.0" y1="253.2" x2="389.0" y2="272.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="256.2" width="9" height="12.8" fill="#188a3e"/>
<line x1="404.0" y1="237.1" x2="404.0" y2="259.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="240.0" width="9" height="16.1" fill="#188a3e"/>
<line x1="419.0" y1="223.4" x2="419.0" y2="243.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="226.4" width="9" height="13.6" fill="#188a3e"/>
<line x1="434.0" y1="202.2" x2="434.0" y2="229.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="205.2" width="9" height="21.2" fill="#188a3e"/>
<line x1="449.0" y1="185.2" x2="449.0" y2="208.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="188.2" width="9" height="17.0" fill="#188a3e"/>
<line x1="464.0" y1="159.7" x2="464.0" y2="191.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="162.7" width="9" height="25.5" fill="#188a3e"/>
<line x1="479.0" y1="129.9" x2="479.0" y2="166.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="132.9" width="9" height="29.8" fill="#188a3e"/>
<line x1="494.0" y1="91.7" x2="494.0" y2="136.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="94.7" width="9" height="38.2" fill="#188a3e"/>
<line x1="509.0" y1="56.0" x2="509.0" y2="98.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="504.5" y="60.7" width="9" height="34.0" fill="#188a3e"/>
<line x1="24" y1="577.4" x2="626" y2="577.4" stroke="#888"/>
<rect x="39.5" y="541.6" width="9" height="35.9" fill="#c00" opacity="0.55"/>
<rect x="54.5" y="539.9" width="9" height="37.6" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="542.4" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="84.5" y="538.2" width="9" height="39.3" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="540.7" width="9" height="36.7" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="539.0" width="9" height="38.4" fill="#c00" opacity="0.55"/>
<rect x="129.5" y="543.3" width="9" height="34.1" fill="#c00" opacity="0.55"/>
<rect x="144.5" y="539.9" width="9" height="37.6" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="537.3" width="9" height="40.1" fill="#c00" opacity="0.55"/>
<rect x="174.5" y="540.7" width="9" height="36.7" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="543.3" width="9" height="34.1" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="541.6" width="9" height="35.9" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="545.0" width="9" height="32.4" fill="#188a3e" opacity="0.55"/>
<rect x="234.5" y="542.4" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="533.0" width="9" height="44.4" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="529.6" width="9" height="47.8" fill="#c00" opacity="0.55"/>
<rect x="279.5" y="534.7" width="9" height="42.7" fill="#188a3e" opacity="0.55"/>
<rect x="294.5" y="539.0" width="9" height="38.4" fill="#188a3e" opacity="0.55"/>
<rect x="309.5" y="541.6" width="9" height="35.9" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="544.1" width="9" height="33.3" fill="#188a3e" opacity="0.55"/>
<rect x="339.5" y="551.8" width="9" height="25.6" fill="#188a3e" opacity="0.55"/>
<rect x="354.5" y="538.2" width="9" height="39.3" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="536.4" width="9" height="41.0" fill="#188a3e" opacity="0.55"/>
<rect x="384.5" y="534.7" width="9" height="42.7" fill="#188a3e" opacity="0.55"/>
<rect x="399.5" y="533.0" width="9" height="44.4" fill="#188a3e" opacity="0.55"/>
<rect x="414.5" y="531.3" width="9" height="46.1" fill="#188a3e" opacity="0.55"/>
<rect x="429.5" y="527.9" width="9" height="49.5" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="524.5" width="9" height="52.9" fill="#188a3e" opacity="0.55"/>
<rect x="459.5" y="521.1" width="9" height="56.3" fill="#188a3e" opacity="0.55"/>
<rect x="474.5" y="517.7" width="9" height="59.8" fill="#188a3e" opacity="0.55"/>
<rect x="489.5" y="512.5" width="9" height="64.9" fill="#188a3e" opacity="0.55"/>
<rect x="504.5" y="507.4" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<text x="24" y="501.4" fill="#555">volum</text>
<text x="32.0" y="78.2" fill="#777" text-anchor="start" style="font-weight:bold">downtrend weekly</text>
<text x="344.0" y="325.5" fill="#00a0aa" text-anchor="middle" style="font-weight:bold">buy doji close 373.30 (RVOL 0.61)</text>
<text x="359.0" y="267.8" fill="#188a3e" text-anchor="middle" style="font-weight:bold">intrare 374.80</text>
<text x="434.0" y="184.2" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP1 383.74 = pivot</text>
<text x="509.0" y="24.0" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP2 402.00</text>
<text x="24" y="607" fill="#555">Ale cursului: close 373.30, suport 355.48, pivot 383.74, RVOL 0.61. Intrarea 374.80, SL</text>
<text x="24" y="624" fill="#555">352.00 si TP2 402.00 sunt estimari din 04_MODUL_3/01; structura barelor dintre niveluri e</text>
<text x="24" y="641" fill="#555">construita, la scara.</text>
</svg>
### Fraza de decizie
@@ -120,7 +240,58 @@ filtrul de relative strength cade (vezi Nivel 0). Pe ETF-uri scorul nu există.
Diagrama fluxului:
<!-- DIAGRAMA: funnel -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 1024" width="700" height="1024" font-family="system-ui, sans-serif" role="img" aria-label="Palnia de selectie: 8 trepte de filtrare de la scanner la lista scurta, fiecare cu pragul si sursa ei, plus note laterale despre suporturi si Radarscreen">
<rect x="0" y="0" width="700" height="1024" fill="#ffffff"/>
<path d="M 45.0 100.0 L 655.0 100.0 L 643.0 176.0 L 57.0 176.0 Z" fill="#eef3fb" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 57.0 176.0 L 643.0 176.0 L 631.0 252.0 L 69.0 252.0 Z" fill="#e4edf9" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 69.0 252.0 L 631.0 252.0 L 619.0 328.0 L 81.0 328.0 Z" fill="#eef3fb" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 81.0 328.0 L 619.0 328.0 L 607.0 404.0 L 93.0 404.0 Z" fill="#e4edf9" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 93.0 404.0 L 607.0 404.0 L 595.0 480.0 L 105.0 480.0 Z" fill="#eef3fb" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 105.0 480.0 L 595.0 480.0 L 583.0 556.0 L 117.0 556.0 Z" fill="#e4edf9" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 117.0 556.0 L 583.0 556.0 L 571.0 632.0 L 129.0 632.0 Z" fill="#eef3fb" stroke="#1a5fb4" stroke-width="1.2"/>
<path d="M 129.0 632.0 L 571.0 632.0 L 559.0 708.0 L 141.0 708.0 Z" fill="#e4edf9" stroke="#1a5fb4" stroke-width="1.2"/>
<rect x="145.0" y="722.0" width="410.0" height="62.0" fill="#eef7f0" stroke="#188a3e" stroke-width="1.8" rx="8"/>
<rect x="40.0" y="802.0" width="620.0" height="200.0" fill="#fdf0e0" stroke="#b06000" stroke-width="1.6" rx="8"/>
<text x="350.0" y="34.0" font-size="20" font-weight="bold" fill="#000000" text-anchor="middle">Fluxul de selecție — de la scanner la lista scurtă</text>
<text x="350.0" y="57.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">selecția se face înainte de semnalul tehnic; ea nu spune CÂND intri</text>
<text x="350.0" y="79.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Palnia se îngustează de sus în jos: 8 filtre, apoi lista scurtă.</text>
<text x="350.0" y="125.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">1. Scanner — multe semnale</text>
<text x="350.0" y="145.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">zeci sau sute de semnale</text>
<text x="350.0" y="159.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:631-637</text>
<text x="350.0" y="201.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">2. Filtre de bază</text>
<text x="350.0" y="221.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">close &gt; 30-40 $; volum mediu 3 luni &gt; 1M (min 500k)</text>
<text x="350.0" y="235.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">09_QA/28_2025-05-27.md:372-380;</text>
<text x="350.0" y="249.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">03_MODUL_2/11_construire_scanere_sf_byd_sld.md:70-73</text>
<text x="350.0" y="277.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">3. Fundamental</text>
<text x="350.0" y="297.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">ATM score peste 7-8; 12-13 = spuma; F-score 6-9</text>
<text x="350.0" y="311.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:199-221</text>
<text x="350.0" y="353.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">4. Sectorul care domină</text>
<text x="350.0" y="373.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">cele 11 sectoare S&amp;P, sortate cadran 1 + valoarea RS, săptămânal</text>
<text x="350.0" y="387.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:639-717</text>
<text x="350.0" y="429.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">5. Doar suport / pivot, după downtrend</text>
<text x="350.0" y="449.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">suport monthly, quarterly, anual sau pivot; proximitate ≤ 3%</text>
<text x="350.0" y="463.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:719-728, 787-803</text>
<text x="350.0" y="505.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">6. Relative strength: cadran 1-2</text>
<text x="350.0" y="525.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">doar cadranele 1 și 2, RS pozitiv</text>
<text x="350.0" y="539.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:730-739</text>
<text x="350.0" y="581.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">7. Relative volume peste 100%</text>
<text x="350.0" y="601.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">candela de volum / media ultimelor 10 candele</text>
<text x="350.0" y="615.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:741-747</text>
<text x="350.0" y="657.0" font-size="14.5" font-weight="bold" fill="#000000" text-anchor="middle">8. Stele (Trinity)</text>
<text x="350.0" y="677.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">RS + Power + volum, cadran 1</text>
<text x="350.0" y="691.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:776-785</text>
<text x="350.0" y="746.0" font-size="16" font-weight="bold" fill="#188a3e" text-anchor="middle">Listă scurtă</text>
<text x="350.0" y="765.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">câteva idei pe care le urmărești</text>
<text x="350.0" y="779.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:42-50</text>
<text x="60.0" y="830.0" font-size="15" font-weight="bold" fill="#b06000" text-anchor="start">Note laterale</text>
<text x="60.0" y="858.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">După corecție masivă: doji / hammer la suporturi mari</text>
<text x="60.0" y="877.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">(monthly, quarterly, anual); scanner de apropiere de suport</text>
<text x="60.0" y="896.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">până la 3% (4% e cam departe).</text>
<text x="60.0" y="917.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:787-803</text>
<text x="60.0" y="952.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">Radarscreen (max ~300 simboluri): repetă fluxul — sectoare top 10,</text>
<text x="60.0" y="971.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">RS, apoi 3 stele.</text>
<text x="60.0" y="992.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:815-825</text>
</svg>
**F0. Filtrele de bază.** Close > 30-40 $, volum mediu 3 luni > 1M (minim
500k), volum mediu scanner ≥ 500k
@@ -136,7 +307,83 @@ downtrend pe weekly (`08_ANALIZA_ZILNICA/11_selectia_simbolului.md:199-221,
Scala de scor:
<!-- DIAGRAMA: scor -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 610" width="700" height="610" font-family="system-ui, sans-serif" role="img" aria-label="Scala ATM score 0-14: F-score 0-9 la care se adauga value-score 0-5; pragurile 7 (galben), 7-8 intrare in analiza, 12-13 spuma, 14 maxim">
<rect x="0" y="0" width="700" height="610" fill="#ffffff"/>
<rect x="60.0" y="150.0" width="372.9" height="48.0" fill="#eef2fb" stroke="#1a5fb4" stroke-width="1.8"/>
<rect x="432.9" y="150.0" width="207.1" height="48.0" fill="#fdf0e0" stroke="#b06000" stroke-width="1.8"/>
<line x1="432.9" y1="150.0" x2="432.9" y2="198.0" stroke="#000000" stroke-width="1.2" stroke-dasharray="3 3"/>
<rect x="557.1" y="144.0" width="41.4" height="60.0" fill="none" stroke="#c00" stroke-width="1.4" stroke-dasharray="5 3"/>
<line x1="350.0" y1="140.0" x2="350.0" y2="204.0" stroke="#e0a800" stroke-width="2.4" stroke-dasharray="4 3"/>
<line x1="60.0" y1="198.0" x2="60.0" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="101.4" y1="198.0" x2="101.4" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="142.9" y1="198.0" x2="142.9" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="184.3" y1="198.0" x2="184.3" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="225.7" y1="198.0" x2="225.7" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="267.1" y1="198.0" x2="267.1" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="308.6" y1="198.0" x2="308.6" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="350.0" y1="198.0" x2="350.0" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="391.4" y1="198.0" x2="391.4" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="432.9" y1="198.0" x2="432.9" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="474.3" y1="198.0" x2="474.3" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="515.7" y1="198.0" x2="515.7" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="557.1" y1="198.0" x2="557.1" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="598.6" y1="198.0" x2="598.6" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="640.0" y1="198.0" x2="640.0" y2="205.0" stroke="#777777" stroke-width="1.0"/>
<line x1="350.0" y1="234.0" x2="350.0" y2="242.0" stroke="#777777" stroke-width="1.2"/>
<line x1="391.4" y1="234.0" x2="391.4" y2="242.0" stroke="#777777" stroke-width="1.2"/>
<line x1="350.0" y1="242.0" x2="391.4" y2="242.0" stroke="#777777" stroke-width="1.2"/>
<rect x="60.0" y="314.0" width="124.3" height="64.0" fill="#fdeeee" stroke="#c00" stroke-width="1.6"/>
<rect x="184.3" y="314.0" width="82.9" height="64.0" fill="#f4f4f4" stroke="#b06000" stroke-width="1.6"/>
<rect x="267.1" y="314.0" width="82.9" height="64.0" fill="#eef2fb" stroke="#1a5fb4" stroke-width="1.6"/>
<rect x="350.0" y="314.0" width="82.9" height="64.0" fill="#eef7f0" stroke="#188a3e" stroke-width="1.6"/>
<rect x="40.0" y="402.0" width="620.0" height="122.0" fill="#f7f7f7" stroke="#777777" stroke-width="1.2"/>
<text x="350.0" y="34.0" font-size="21" font-weight="bold" fill="#000000" text-anchor="middle">ATM score: scala 0-14</text>
<text x="350.0" y="58.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">ATM score = F-score (max 9) + value-score (max 5) = max 14</text>
<text x="246.4" y="112.0" font-size="15" font-weight="bold" fill="#1a5fb4" text-anchor="middle">F-score 0-9</text>
<text x="246.4" y="131.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">9/14 din bară</text>
<text x="536.4" y="112.0" font-size="15" font-weight="bold" fill="#b06000" text-anchor="middle">value-score 0-5</text>
<text x="536.4" y="131.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">5/14 din bară</text>
<text x="246.4" y="179.0" font-size="15" font-weight="bold" fill="#1a5fb4" text-anchor="middle">F-score</text>
<text x="536.4" y="179.0" font-size="15" font-weight="bold" fill="#b06000" text-anchor="middle">value-score</text>
<text x="60.0" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">0</text>
<text x="101.4" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">1</text>
<text x="142.9" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">2</text>
<text x="184.3" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">3</text>
<text x="225.7" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">4</text>
<text x="267.1" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">5</text>
<text x="308.6" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">6</text>
<text x="350.0" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">7</text>
<text x="391.4" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">8</text>
<text x="432.9" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">9</text>
<text x="474.3" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">10</text>
<text x="515.7" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">11</text>
<text x="557.1" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">12</text>
<text x="598.6" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">13</text>
<text x="640.0" y="224.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">14</text>
<text x="342.0" y="244.0" font-size="13" font-weight="bold" fill="#8a6d00" text-anchor="end">7/14 = galben</text>
<text x="640.0" y="244.0" font-size="13" font-weight="bold" fill="#c00" text-anchor="end">12-13: spuma</text>
<text x="640.0" y="264.0" font-size="13" font-weight="bold" fill="#000000" text-anchor="end">14 = maxim</text>
<text x="370.7" y="264.0" font-size="13" font-weight="bold" fill="#000000" text-anchor="middle">peste 7-8: intră în analiză</text>
<text x="60.0" y="300.0" font-size="14" font-weight="bold" fill="#000000" text-anchor="start">Benzi F-score (partea albastră, 0-9)</text>
<text x="122.1" y="336.0" font-size="15" font-weight="bold" fill="#c00" text-anchor="middle">0-3</text>
<text x="122.1" y="358.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">slab</text>
<text x="122.1" y="376.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">fundamental</text>
<text x="225.7" y="336.0" font-size="15" font-weight="bold" fill="#b06000" text-anchor="middle">4-5</text>
<text x="225.7" y="358.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">mixt</text>
<text x="308.6" y="336.0" font-size="15" font-weight="bold" fill="#1a5fb4" text-anchor="middle">6-7</text>
<text x="308.6" y="358.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">solid</text>
<text x="391.4" y="336.0" font-size="15" font-weight="bold" fill="#188a3e" text-anchor="middle">8-9</text>
<text x="391.4" y="358.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">foarte</text>
<text x="391.4" y="376.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">puternic</text>
<text x="60.0" y="430.0" font-size="14" font-weight="bold" fill="#000000" text-anchor="start">Scor -1 = date indisponibile în platformă, NU scor 0.</text>
<text x="60.0" y="450.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">Scorul -1 nu se citește ca 0.</text>
<text x="60.0" y="470.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">16_ANALIZA_FUNDAMENTALA/09_implementare_f_score_tradestation.md:45-46, 268-269.</text>
<text x="60.0" y="498.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">„peste 7-8” e formularea exactă a cursului; sub 7 se deduce ca excludere,</text>
<text x="60.0" y="518.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">nu e declarat ca prag separat (11_selectia_simbolului.md:199-204).</text>
<text x="350.0" y="556.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Surse: 08_ANALIZA_ZILNICA/11_selectia_simbolului.md:158-164, :199-204;</text>
<text x="350.0" y="574.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">16_ANALIZA_FUNDAMENTALA/08_piotrowski_f_score.md:70-72;</text>
<text x="350.0" y="592.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">16_ANALIZA_FUNDAMENTALA/09_implementare_f_score_tradestation.md:45-46, 268-269.</text>
</svg>
**F2. Sectorul care domină.** Numără din ce sector vin cele mai multe
semnale; acolo intră bani (rotație). La nivel de sectoare, cele 11 sectoare
@@ -155,7 +402,53 @@ Strand [sic] și vedeți cine este în cadranul 1 și cadranul 2"
Cele patru cadrane:
<!-- DIAGRAMA: cadrane -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 720" width="700" height="720" font-family="system-ui, sans-serif" role="img" aria-label="Matricea 2x2 a relative strength: cadranele 1 si 2 sunt pentru long, cadranele 3 si 4 pentru short; cadranul 4 nu se tranzactioneaza pe orb">
<rect x="0" y="0" width="700" height="720" fill="#ffffff"/>
<rect x="130.0" y="134.0" width="440.0" height="280.0" fill="#ffffff" stroke="#777777" stroke-width="1.0"/>
<line x1="130.0" y1="274.0" x2="570.0" y2="274.0" stroke="#777777" stroke-width="1.0" stroke-dasharray="4 4"/>
<line x1="350.0" y1="134.0" x2="350.0" y2="414.0" stroke="#777777" stroke-width="1.0" stroke-dasharray="4 4"/>
<rect x="130.0" y="134.0" width="218.0" height="138.0" fill="#fdeeee" stroke="#c00" stroke-width="1.6"/>
<rect x="352.0" y="134.0" width="218.0" height="138.0" fill="#eef7f0" stroke="#188a3e" stroke-width="1.6"/>
<rect x="130.0" y="276.0" width="218.0" height="138.0" fill="#fdeeee" stroke="#c00" stroke-width="1.6" stroke-dasharray="6 4"/>
<rect x="352.0" y="276.0" width="218.0" height="138.0" fill="#eef7f0" stroke="#188a3e" stroke-width="1.6"/>
<rect x="40.0" y="460.0" width="620.0" height="196.0" fill="#fdf0e0" stroke="#b06000" stroke-width="1.6"/>
<text x="350.0" y="34.0" font-size="20" font-weight="bold" fill="#000000" text-anchor="middle">Relative strength — cele 4 cadrane</text>
<text x="350.0" y="58.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">RS = cât de bine se mișcă simbolul față de benchmark (ex. SPY)</text>
<text x="350.0" y="80.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Axa verticală: histograma RS față de 0 (peste / sub 0)</text>
<text x="350.0" y="98.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Axa orizontală: histograma RS față de MA (peste / sub MA)</text>
<text x="241.0" y="122.0" font-size="14" font-weight="bold" fill="#b06000" text-anchor="middle">sub MA</text>
<text x="461.0" y="122.0" font-size="14" font-weight="bold" fill="#1a5fb4" text-anchor="middle">peste MA</text>
<text x="122.0" y="203.0" font-size="14" font-weight="bold" fill="#188a3e" text-anchor="end">peste 0</text>
<text x="122.0" y="345.0" font-size="14" font-weight="bold" fill="#c00" text-anchor="end">sub 0</text>
<text x="239.0" y="164.0" font-size="16" font-weight="bold" fill="#000000" text-anchor="middle">Cadran 3</text>
<text x="239.0" y="186.0" font-size="14" font-weight="bold" fill="#c00" text-anchor="middle">înrăutățire</text>
<text x="239.0" y="214.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">peste 0, dar sub MA</text>
<text x="239.0" y="246.0" font-size="16" font-weight="bold" fill="#c00" text-anchor="middle">SHORT</text>
<text x="461.0" y="164.0" font-size="16" font-weight="bold" fill="#000000" text-anchor="middle">Cadran 1</text>
<text x="461.0" y="186.0" font-size="14" font-weight="bold" fill="#188a3e" text-anchor="middle">supraperformanță</text>
<text x="461.0" y="214.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">peste 0 și peste MA</text>
<text x="461.0" y="246.0" font-size="16" font-weight="bold" fill="#188a3e" text-anchor="middle">LONG</text>
<text x="239.0" y="302.0" font-size="16" font-weight="bold" fill="#000000" text-anchor="middle">Cadran 4</text>
<text x="239.0" y="324.0" font-size="14" font-weight="bold" fill="#c00" text-anchor="middle">subperformanță</text>
<text x="239.0" y="350.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">sub 0 și sub MA</text>
<text x="239.0" y="376.0" font-size="15" font-weight="bold" fill="#c00" text-anchor="middle">SHORT</text>
<text x="239.0" y="398.0" font-size="13" font-weight="normal" fill="#c00" text-anchor="middle">stai pe margine</text>
<text x="461.0" y="302.0" font-size="16" font-weight="bold" fill="#000000" text-anchor="middle">Cadran 2</text>
<text x="461.0" y="324.0" font-size="14" font-weight="bold" fill="#188a3e" text-anchor="middle">îmbunătățire</text>
<text x="461.0" y="350.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">sub 0, dar peste MA</text>
<text x="461.0" y="376.0" font-size="15" font-weight="bold" fill="#188a3e" text-anchor="middle">LONG</text>
<text x="461.0" y="398.0" font-size="13" font-weight="normal" fill="#188a3e" text-anchor="middle">zona de cumpărat</text>
<text x="350.0" y="442.0" font-size="14" font-weight="bold" fill="#000000" text-anchor="middle">Long = cadranele 1-2 · Short = cadranele 3-4</text>
<text x="60.0" y="488.0" font-size="15" font-weight="bold" fill="#c00" text-anchor="start">Avertisment — cadranul 4 nu se tranzacționează pe orb</text>
<text x="60.0" y="516.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">„Cadranul 4 nu se tranzacționează pe orb: aștepți trecerea în 2 sau 1,</text>
<text x="60.0" y="536.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="start">ori un MP4-1 / MBT-10 long ca semn de schimbare.”</text>
<text x="60.0" y="566.0" font-size="13" font-weight="bold" fill="#000000" text-anchor="start">„Un setup de bottom cu RS fără îmbunătățire are șanse mai mici.”</text>
<text x="60.0" y="596.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">Notă: transcrierea descrierii cadranului 4 are o eroare (îl descrie ca pe</text>
<text x="60.0" y="616.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">cadranul 3); definiția de mai sus e completarea sumarului —</text>
<text x="60.0" y="636.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="start">03_MODUL_2/06_indicatorul_de_performanta.md:41-48.</text>
<text x="350.0" y="686.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Surse: 08_ANALIZA_ZILNICA/11_selectia_simbolului.md:486-499, :501-508;</text>
<text x="350.0" y="704.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">03_MODUL_2/06_indicatorul_de_performanta.md:31-39.</text>
</svg>
**F5. Relative volume peste 100%.** Candela de volum împărțită la media
ultimelor **10** candele de volum
@@ -371,7 +664,119 @@ avertisment de participare.
**HIG — exemplul oglindă (short):**
<!-- DIAGRAMA: exemplu -->
<svg viewBox="0 0 640 433" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="16" fill="#333" style="font-weight:bold">HIG — daily (Sell Doji + Bear Reversal, RVOL 200%)</text>
<line x1="24" y1="34.0" x2="626" y2="34.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="28.0" fill="#777">rezistenta 84.50</text>
<line x1="24" y1="74.0" x2="626" y2="74.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="68.0" fill="#c00" text-anchor="end">SL 82.00</text>
<line x1="24" y1="136.4" x2="626" y2="136.4" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="130.4" fill="#1a5fb4">intrare short 78.10</text>
<line x1="24" y1="234.0" x2="626" y2="234.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="228.0" fill="#188a3e">TP 72.00</text>
<polyline points="329.0,107.0 344.0,110.5 359.0,114.3 374.0,119.0 389.0,124.7 404.0,129.8 419.0,136.1 434.0,143.4 449.0,151.7 464.0,160.8 479.0,170.7" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="485" y="165" fill="#b06000">SMA-20</text>
<line x1="44.0" y1="98.8" x2="44.0" y2="115.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="106.0" width="9" height="3.2" fill="#188a3e"/>
<line x1="59.0" y1="90.0" x2="59.0" y2="113.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="96.4" width="9" height="9.6" fill="#188a3e"/>
<line x1="74.0" y1="78.8" x2="74.0" y2="102.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="86.8" width="9" height="9.6" fill="#188a3e"/>
<line x1="89.0" y1="66.8" x2="89.0" y2="94.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="75.6" width="9" height="11.2" fill="#188a3e"/>
<line x1="104.0" y1="68.4" x2="104.0" y2="90.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="75.6" width="9" height="6.4" fill="#c00"/>
<line x1="119.0" y1="61.2" x2="119.0" y2="88.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="69.2" width="9" height="12.8" fill="#188a3e"/>
<line x1="134.0" y1="52.4" x2="134.0" y2="77.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="59.6" width="9" height="9.6" fill="#188a3e"/>
<line x1="149.0" y1="42.0" x2="149.0" y2="66.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="48.4" width="9" height="11.2" fill="#188a3e"/>
<line x1="164.0" y1="36.4" x2="164.0" y2="54.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="42.0" width="9" height="6.4" fill="#188a3e"/>
<line x1="179.0" y1="34.0" x2="179.0" y2="49.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="38.8" width="9" height="3.2" fill="#188a3e"/>
<line x1="194.0" y1="112.4" x2="194.0" y2="130.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="118.8" width="9" height="4.0" fill="#c00"/>
<line x1="209.0" y1="115.6" x2="209.0" y2="132.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="122.8" width="9" height="3.2" fill="#c00"/>
<line x1="224.0" y1="120.4" x2="224.0" y2="134.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="126.0" width="9" height="2.4" fill="#c00"/>
<line x1="239.0" y1="122.0" x2="239.0" y2="143.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="128.4" width="9" height="8.8" fill="#c00"/>
<line x1="254.0" y1="130.0" x2="254.0" y2="152.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="137.2" width="9" height="8.8" fill="#c00"/>
<line x1="269.0" y1="134.0" x2="269.0" y2="152.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="141.2" width="9" height="4.8" fill="#188a3e"/>
<line x1="284.0" y1="134.0" x2="284.0" y2="157.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="141.2" width="9" height="9.6" fill="#c00"/>
<line x1="299.0" y1="143.6" x2="299.0" y2="166.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="150.8" width="9" height="9.6" fill="#c00"/>
<line x1="314.0" y1="148.4" x2="314.0" y2="166.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="155.6" width="9" height="4.8" fill="#188a3e"/>
<line x1="329.0" y1="148.4" x2="329.0" y2="173.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="155.6" width="9" height="11.2" fill="#c00"/>
<line x1="344.0" y1="159.6" x2="344.0" y2="182.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="166.8" width="9" height="9.6" fill="#c00"/>
<line x1="359.0" y1="164.4" x2="359.0" y2="182.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="171.6" width="9" height="4.8" fill="#188a3e"/>
<line x1="374.0" y1="164.4" x2="374.0" y2="187.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="171.6" width="9" height="9.6" fill="#c00"/>
<line x1="389.0" y1="174.0" x2="389.0" y2="195.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="181.2" width="9" height="8.0" fill="#c00"/>
<line x1="404.0" y1="177.2" x2="404.0" y2="195.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="184.4" width="9" height="4.8" fill="#188a3e"/>
<line x1="419.0" y1="177.2" x2="419.0" y2="202.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="184.4" width="9" height="11.2" fill="#c00"/>
<line x1="434.0" y1="188.4" x2="434.0" y2="211.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="195.6" width="9" height="9.6" fill="#c00"/>
<line x1="449.0" y1="198.0" x2="449.0" y2="221.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="205.2" width="9" height="9.6" fill="#c00"/>
<line x1="464.0" y1="207.6" x2="464.0" y2="230.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="214.8" width="9" height="9.6" fill="#c00"/>
<line x1="479.0" y1="216.4" x2="479.0" y2="244.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="224.4" width="9" height="11.2" fill="#c00"/>
<line x1="24" y1="340.4" x2="626" y2="340.4" stroke="#888"/>
<rect x="39.5" y="309.6" width="9" height="30.8" fill="#188a3e" opacity="0.55"/>
<rect x="54.5" y="311.7" width="9" height="28.7" fill="#188a3e" opacity="0.55"/>
<rect x="69.5" y="308.9" width="9" height="31.5" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="305.4" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="99.5" y="310.3" width="9" height="30.1" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="302.6" width="9" height="37.8" fill="#188a3e" opacity="0.55"/>
<rect x="129.5" y="304.0" width="9" height="36.4" fill="#188a3e" opacity="0.55"/>
<rect x="144.5" y="298.4" width="9" height="42.0" fill="#188a3e" opacity="0.55"/>
<rect x="159.5" y="306.8" width="9" height="33.6" fill="#188a3e" opacity="0.55"/>
<rect x="174.5" y="305.4" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="189.5" y="270.4" width="9" height="70.0" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="294.9" width="9" height="45.5" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="305.4" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="234.5" y="287.9" width="9" height="52.5" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="304.7" width="9" height="35.7" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="309.6" width="9" height="30.8" fill="#188a3e" opacity="0.55"/>
<rect x="279.5" y="302.6" width="9" height="37.8" fill="#c00" opacity="0.55"/>
<rect x="294.5" y="306.8" width="9" height="33.6" fill="#c00" opacity="0.55"/>
<rect x="309.5" y="311.0" width="9" height="29.4" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="305.4" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="339.5" y="308.9" width="9" height="31.5" fill="#c00" opacity="0.55"/>
<rect x="354.5" y="313.1" width="9" height="27.3" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="306.1" width="9" height="34.3" fill="#c00" opacity="0.55"/>
<rect x="384.5" y="310.3" width="9" height="30.1" fill="#c00" opacity="0.55"/>
<rect x="399.5" y="314.5" width="9" height="25.9" fill="#188a3e" opacity="0.55"/>
<rect x="414.5" y="308.2" width="9" height="32.2" fill="#c00" opacity="0.55"/>
<rect x="429.5" y="311.7" width="9" height="28.7" fill="#c00" opacity="0.55"/>
<rect x="444.5" y="304.0" width="9" height="36.4" fill="#c00" opacity="0.55"/>
<rect x="459.5" y="313.8" width="9" height="26.6" fill="#c00" opacity="0.55"/>
<rect x="474.5" y="309.6" width="9" height="30.8" fill="#c00" opacity="0.55"/>
<text x="24" y="264.4" fill="#555">volum</text>
<text x="194.0" y="86.4" fill="#333" text-anchor="middle" style="font-weight:bold">gap down, open 79.20</text>
<text x="224.0" y="106.4" fill="#c00" text-anchor="middle" style="font-weight:bold">sell doji close 78.60</text>
<text x="239.0" y="189.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">intrare short 78.10</text>
<text x="194.0" y="162.8" fill="#c00" text-anchor="middle" style="font-weight:bold">RVOL 200%</text>
<text x="24" y="370" fill="#555">RVOL 200% si simbolul sunt reale (04_MODUL_3/01:196-199). Toate</text>
<text x="24" y="387" fill="#555">nivelurile de preț (79.20 / 78.60 / 78.10 / 82.00 / 72.00) sunt</text>
<text x="24" y="404" fill="#555">construite in sumarul 04_MODUL_3/01:293-296, nu date de curs;</text>
<text x="24" y="421" fill="#555">structura barelor e construita, la scara.</text>
</svg>
| Pas | Valoarea | Sursă |
|---|---|---|

View File

@@ -56,7 +56,125 @@ nicăieri în material** — NEACOPERIT ÎN MATERIAL.
### Diagrama de ansamblu
<!-- DIAGRAMA: ansamblu -->
<svg viewBox="0 0 720 530" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<rect x="24" y="236.5" width="682" height="12.6" fill="#188a3e" opacity="0.10"/><text x="28" y="232.5" fill="#188a3e">SQ — zonă quarterly</text>
<rect x="24" y="207.7" width="682" height="12.6" fill="#7b2fbf" opacity="0.10"/><text x="28" y="203.7" fill="#7b2fbf">PPQ — zonă quarterly</text>
<text x="396" y="305.8" fill="#c00" text-anchor="middle">fără stop-loss standard</text><text x="396" y="318.8" fill="#777" text-anchor="middle">(03_strategia_2_atmi.md:164-169)</text>
<text x="24" y="26" fill="#333" style="font-weight:bold">SPY — daily: corecție ≥4 % → SQ/PPQ → BIM + verde → intrare → TP +10 %</text>
<line x1="24" y1="170.8" x2="706" y2="170.8" stroke="#333" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="164.8" fill="#333">100.00 — swing high recent</text>
<line x1="24" y1="242.8" x2="706" y2="242.8" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="692" y="236.8" fill="#188a3e" text-anchor="end">intrare 96.00</text>
<line x1="24" y1="70.0" x2="706" y2="70.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="692" y="64.0" fill="#1a5fb4" text-anchor="end">TP +10 % = 105.60</text>
<polyline points="348.0,266.9 364.0,259.6 380.0,253.1 396.0,247.3 412.0,241.4 428.0,235.7 444.0,230.0 460.0,224.5 476.0,219.0 492.0,213.5 508.0,207.9 524.0,201.9 540.0,195.5 556.0,188.5" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="562" y="182" fill="#b06000">SMA-20 (ilustrativ)</text>
<line x1="44.0" y1="377.8" x2="44.0" y2="392.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="383.2" width="9" height="3.6" fill="#188a3e"/>
<line x1="60.0" y1="367.0" x2="60.0" y2="388.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="55.5" y="372.4" width="9" height="10.8" fill="#188a3e"/>
<line x1="76.0" y1="354.4" x2="76.0" y2="377.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="71.5" y="359.8" width="9" height="12.6" fill="#188a3e"/>
<line x1="92.0" y1="343.6" x2="92.0" y2="365.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="87.5" y="349.0" width="9" height="10.8" fill="#188a3e"/>
<line x1="108.0" y1="331.0" x2="108.0" y2="354.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="103.5" y="336.4" width="9" height="12.6" fill="#188a3e"/>
<line x1="124.0" y1="316.6" x2="124.0" y2="341.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="119.5" y="322.0" width="9" height="14.4" fill="#188a3e"/>
<line x1="140.0" y1="300.4" x2="140.0" y2="327.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="135.5" y="305.8" width="9" height="16.2" fill="#188a3e"/>
<line x1="156.0" y1="286.0" x2="156.0" y2="311.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="151.5" y="291.4" width="9" height="14.4" fill="#188a3e"/>
<line x1="172.0" y1="269.8" x2="172.0" y2="296.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="167.5" y="275.2" width="9" height="16.2" fill="#188a3e"/>
<line x1="188.0" y1="253.6" x2="188.0" y2="280.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="183.5" y="259.0" width="9" height="16.2" fill="#188a3e"/>
<line x1="204.0" y1="237.4" x2="204.0" y2="264.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="199.5" y="242.8" width="9" height="16.2" fill="#188a3e"/>
<line x1="220.0" y1="221.2" x2="220.0" y2="248.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="215.5" y="226.6" width="9" height="16.2" fill="#188a3e"/>
<line x1="236.0" y1="205.0" x2="236.0" y2="232.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="231.5" y="210.4" width="9" height="16.2" fill="#188a3e"/>
<line x1="252.0" y1="185.2" x2="252.0" y2="215.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="247.5" y="190.6" width="9" height="19.8" fill="#188a3e"/>
<line x1="268.0" y1="170.8" x2="268.0" y2="196.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="263.5" y="170.8" width="9" height="19.8" fill="#188a3e"/>
<line x1="284.0" y1="170.8" x2="284.0" y2="183.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="170.8" width="9" height="12.6" fill="#c00"/>
<line x1="300.0" y1="182.5" x2="300.0" y2="199.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="295.5" y="183.4" width="9" height="14.4" fill="#c00"/>
<line x1="316.0" y1="196.9" x2="316.0" y2="212.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="311.5" y="197.8" width="9" height="12.6" fill="#c00"/>
<line x1="332.0" y1="209.5" x2="332.0" y2="223.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="327.5" y="210.4" width="9" height="10.8" fill="#c00"/>
<line x1="348.0" y1="220.3" x2="348.0" y2="232.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="343.5" y="221.2" width="9" height="9.0" fill="#c00"/>
<line x1="364.0" y1="229.3" x2="364.0" y2="241.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="359.5" y="230.2" width="9" height="7.2" fill="#c00"/>
<line x1="380.0" y1="236.5" x2="380.0" y2="242.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="375.5" y="237.4" width="9" height="5.4" fill="#c00"/>
<line x1="396.0" y1="240.6" x2="396.0" y2="242.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="391.5" y="242.8" width="9" height="1.6" fill="#188a3e"/>
<line x1="412.0" y1="227.5" x2="412.0" y2="247.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="407.5" y="232.0" width="9" height="10.8" fill="#188a3e"/>
<line x1="428.0" y1="216.7" x2="428.0" y2="236.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="423.5" y="221.2" width="9" height="10.8" fill="#188a3e"/>
<line x1="444.0" y1="204.1" x2="444.0" y2="225.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="439.5" y="208.6" width="9" height="12.6" fill="#188a3e"/>
<line x1="460.0" y1="191.5" x2="460.0" y2="213.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="455.5" y="196.0" width="9" height="12.6" fill="#188a3e"/>
<line x1="476.0" y1="177.1" x2="476.0" y2="200.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="471.5" y="181.6" width="9" height="14.4" fill="#188a3e"/>
<line x1="492.0" y1="160.9" x2="492.0" y2="186.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="487.5" y="165.4" width="9" height="16.2" fill="#188a3e"/>
<line x1="508.0" y1="141.1" x2="508.0" y2="169.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="503.5" y="145.6" width="9" height="19.8" fill="#188a3e"/>
<line x1="524.0" y1="119.5" x2="524.0" y2="150.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="519.5" y="124.0" width="9" height="21.6" fill="#188a3e"/>
<line x1="540.0" y1="94.3" x2="540.0" y2="128.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="535.5" y="98.8" width="9" height="25.2" fill="#188a3e"/>
<line x1="556.0" y1="70.0" x2="556.0" y2="102.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="551.5" y="70.0" width="9" height="28.8" fill="#188a3e"/>
<line x1="24" y1="488.2" x2="706" y2="488.2" stroke="#888"/>
<rect x="39.5" y="456.1" width="9" height="32.1" fill="#188a3e" opacity="0.55"/>
<rect x="55.5" y="453.9" width="9" height="34.3" fill="#188a3e" opacity="0.55"/>
<rect x="71.5" y="457.6" width="9" height="30.6" fill="#188a3e" opacity="0.55"/>
<rect x="87.5" y="451.7" width="9" height="36.5" fill="#188a3e" opacity="0.55"/>
<rect x="103.5" y="455.4" width="9" height="32.8" fill="#188a3e" opacity="0.55"/>
<rect x="119.5" y="458.3" width="9" height="29.9" fill="#188a3e" opacity="0.55"/>
<rect x="135.5" y="453.2" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="151.5" y="456.8" width="9" height="31.4" fill="#188a3e" opacity="0.55"/>
<rect x="167.5" y="454.7" width="9" height="33.5" fill="#188a3e" opacity="0.55"/>
<rect x="183.5" y="451.0" width="9" height="37.2" fill="#188a3e" opacity="0.55"/>
<rect x="199.5" y="456.1" width="9" height="32.1" fill="#188a3e" opacity="0.55"/>
<rect x="215.5" y="452.5" width="9" height="35.7" fill="#188a3e" opacity="0.55"/>
<rect x="231.5" y="454.7" width="9" height="33.5" fill="#188a3e" opacity="0.55"/>
<rect x="247.5" y="450.3" width="9" height="37.9" fill="#188a3e" opacity="0.55"/>
<rect x="263.5" y="445.9" width="9" height="42.3" fill="#188a3e" opacity="0.55"/>
<rect x="279.5" y="441.5" width="9" height="46.7" fill="#c00" opacity="0.55"/>
<rect x="295.5" y="437.2" width="9" height="51.0" fill="#c00" opacity="0.55"/>
<rect x="311.5" y="440.1" width="9" height="48.1" fill="#c00" opacity="0.55"/>
<rect x="327.5" y="443.7" width="9" height="44.5" fill="#c00" opacity="0.55"/>
<rect x="343.5" y="445.9" width="9" height="42.3" fill="#c00" opacity="0.55"/>
<rect x="359.5" y="434.2" width="9" height="54.0" fill="#c00" opacity="0.55"/>
<rect x="375.5" y="418.2" width="9" height="70.0" fill="#c00" opacity="0.55"/>
<rect x="391.5" y="424.0" width="9" height="64.2" fill="#188a3e" opacity="0.55"/>
<rect x="407.5" y="448.1" width="9" height="40.1" fill="#188a3e" opacity="0.55"/>
<rect x="423.5" y="445.9" width="9" height="42.3" fill="#188a3e" opacity="0.55"/>
<rect x="439.5" y="450.3" width="9" height="37.9" fill="#188a3e" opacity="0.55"/>
<rect x="455.5" y="444.4" width="9" height="43.8" fill="#188a3e" opacity="0.55"/>
<rect x="471.5" y="446.6" width="9" height="41.6" fill="#188a3e" opacity="0.55"/>
<rect x="487.5" y="442.3" width="9" height="45.9" fill="#188a3e" opacity="0.55"/>
<rect x="503.5" y="445.2" width="9" height="43.0" fill="#188a3e" opacity="0.55"/>
<rect x="519.5" y="440.1" width="9" height="48.1" fill="#188a3e" opacity="0.55"/>
<rect x="535.5" y="435.7" width="9" height="52.5" fill="#188a3e" opacity="0.55"/>
<rect x="551.5" y="426.9" width="9" height="61.2" fill="#188a3e" opacity="0.55"/>
<text x="24" y="412.2" fill="#555">volum</text>
<text x="284.0" y="160.8" fill="#b06000" text-anchor="middle" style="font-weight:bold">corecție 4.0 %</text>
<text x="380.0" y="226.5" fill="#b06000" text-anchor="middle" style="font-weight:bold">BIM</text>
<text x="396.0" y="282.8" fill="#188a3e" text-anchor="middle" style="font-weight:bold">BIM + candelă verde → intrare</text>
<text x="24" y="518" fill="#555">Niveluri (100.00 / 96.00 / 105.60) din curs; PPQ/SQ schematice, fără cifre în material.</text>
</svg>
Graficul întreg al trade-ului, pe structura din exemplul „DA" al cursului:
swing high 100.00 → corecție de exact 4.0 % → 96.00, adică în zona quarterly;
@@ -247,7 +365,125 @@ formulă de tip „risc % din cont"** în material pentru ATMI.
Aceeași corecție, două deznodăminte. Diagrama le pune alături.
<!-- DIAGRAMA: aplus -->
<svg viewBox="0 0 680 508" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<rect x="24" y="221.6" width="642" height="18.0" fill="#777" opacity="0.10"/>
<text x="24" y="48" fill="#333" style="font-weight:bold">SPY — daily: aceeași corecție, 4.0 % (DA) vs. 3.9 % (NU)</text>
<line x1="24" y1="156.8" x2="666" y2="156.8" stroke="#333" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="652" y="150.8" fill="#333" text-anchor="end">100.00 — swing high</text>
<line x1="24" y1="228.8" x2="666" y2="228.8" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="652" y="222.8" fill="#188a3e" text-anchor="end">96.00 = 4.0 % — DA, intri</text>
<line x1="24" y1="56.0" x2="666" y2="56.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="652" y="50.0" fill="#1a5fb4" text-anchor="end">TP +10 % = 105.60</text>
<line x1="44.0" y1="332.3" x2="44.0" y2="353.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="336.8" width="9" height="10.8" fill="#188a3e"/>
<line x1="60.0" y1="316.1" x2="60.0" y2="342.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="55.5" y="320.6" width="9" height="16.2" fill="#188a3e"/>
<line x1="76.0" y1="301.7" x2="76.0" y2="326.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="71.5" y="306.2" width="9" height="14.4" fill="#188a3e"/>
<line x1="92.0" y1="289.1" x2="92.0" y2="311.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="87.5" y="293.6" width="9" height="12.6" fill="#188a3e"/>
<line x1="108.0" y1="274.7" x2="108.0" y2="299.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="103.5" y="279.2" width="9" height="14.4" fill="#188a3e"/>
<line x1="124.0" y1="260.3" x2="124.0" y2="284.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="119.5" y="264.8" width="9" height="14.4" fill="#188a3e"/>
<line x1="140.0" y1="247.7" x2="140.0" y2="270.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="135.5" y="252.2" width="9" height="12.6" fill="#188a3e"/>
<line x1="156.0" y1="235.1" x2="156.0" y2="257.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="151.5" y="239.6" width="9" height="12.6" fill="#188a3e"/>
<line x1="172.0" y1="222.5" x2="172.0" y2="245.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="167.5" y="227.0" width="9" height="12.6" fill="#188a3e"/>
<line x1="188.0" y1="206.3" x2="188.0" y2="232.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="183.5" y="210.8" width="9" height="16.2" fill="#188a3e"/>
<line x1="204.0" y1="182.9" x2="204.0" y2="216.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="199.5" y="187.4" width="9" height="23.4" fill="#188a3e"/>
<line x1="220.0" y1="156.8" x2="220.0" y2="192.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="215.5" y="156.8" width="9" height="30.6" fill="#188a3e"/>
<line x1="236.0" y1="152.3" x2="236.0" y2="174.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="231.5" y="156.8" width="9" height="12.6" fill="#c00"/>
<line x1="252.0" y1="164.9" x2="252.0" y2="189.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="247.5" y="169.4" width="9" height="14.4" fill="#c00"/>
<line x1="268.0" y1="179.3" x2="268.0" y2="203.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="263.5" y="183.8" width="9" height="14.4" fill="#c00"/>
<line x1="284.0" y1="193.7" x2="284.0" y2="214.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="198.2" width="9" height="10.8" fill="#c00"/>
<line x1="300.0" y1="204.5" x2="300.0" y2="223.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="295.5" y="209.0" width="9" height="9.0" fill="#c00"/>
<line x1="316.0" y1="213.5" x2="316.0" y2="230.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="311.5" y="218.0" width="9" height="7.2" fill="#c00"/>
<line x1="332.0" y1="221.6" x2="332.0" y2="237.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="327.5" y="225.2" width="9" height="4.0" fill="#c00"/>
<line x1="348.0" y1="225.2" x2="348.0" y2="231.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="343.5" y="228.8" width="9" height="1.6" fill="#188a3e"/>
<line x1="364.0" y1="206.3" x2="364.0" y2="234.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="359.5" y="210.8" width="9" height="18.0" fill="#188a3e"/>
<line x1="380.0" y1="190.1" x2="380.0" y2="216.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="375.5" y="194.6" width="9" height="16.2" fill="#188a3e"/>
<line x1="396.0" y1="173.9" x2="396.0" y2="200.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="391.5" y="178.4" width="9" height="16.2" fill="#188a3e"/>
<line x1="412.0" y1="157.7" x2="412.0" y2="183.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="407.5" y="162.2" width="9" height="16.2" fill="#188a3e"/>
<line x1="428.0" y1="143.3" x2="428.0" y2="167.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="423.5" y="147.8" width="9" height="14.4" fill="#188a3e"/>
<line x1="444.0" y1="128.9" x2="444.0" y2="153.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="439.5" y="133.4" width="9" height="14.4" fill="#188a3e"/>
<line x1="460.0" y1="114.5" x2="460.0" y2="138.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="455.5" y="119.0" width="9" height="14.4" fill="#188a3e"/>
<line x1="476.0" y1="100.1" x2="476.0" y2="124.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="471.5" y="104.6" width="9" height="14.4" fill="#188a3e"/>
<line x1="492.0" y1="85.7" x2="492.0" y2="110.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="487.5" y="90.2" width="9" height="14.4" fill="#188a3e"/>
<line x1="508.0" y1="71.3" x2="508.0" y2="95.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="503.5" y="75.8" width="9" height="14.4" fill="#188a3e"/>
<line x1="524.0" y1="60.5" x2="524.0" y2="81.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="519.5" y="65.0" width="9" height="10.8" fill="#188a3e"/>
<line x1="540.0" y1="56.0" x2="540.0" y2="70.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="535.5" y="56.0" width="9" height="9.0" fill="#188a3e"/>
<line x1="24" y1="449.0" x2="666" y2="449.0" stroke="#888"/>
<rect x="39.5" y="410.8" width="9" height="38.2" fill="#188a3e" opacity="0.55"/>
<rect x="55.5" y="409.2" width="9" height="39.8" fill="#188a3e" opacity="0.55"/>
<rect x="71.5" y="412.4" width="9" height="36.6" fill="#188a3e" opacity="0.55"/>
<rect x="87.5" y="407.6" width="9" height="41.4" fill="#188a3e" opacity="0.55"/>
<rect x="103.5" y="406.0" width="9" height="43.0" fill="#188a3e" opacity="0.55"/>
<rect x="119.5" y="409.2" width="9" height="39.8" fill="#188a3e" opacity="0.55"/>
<rect x="135.5" y="404.5" width="9" height="44.5" fill="#188a3e" opacity="0.55"/>
<rect x="151.5" y="407.6" width="9" height="41.4" fill="#188a3e" opacity="0.55"/>
<rect x="167.5" y="402.9" width="9" height="46.1" fill="#188a3e" opacity="0.55"/>
<rect x="183.5" y="401.3" width="9" height="47.7" fill="#188a3e" opacity="0.55"/>
<rect x="199.5" y="398.1" width="9" height="50.9" fill="#188a3e" opacity="0.55"/>
<rect x="215.5" y="391.7" width="9" height="57.3" fill="#188a3e" opacity="0.55"/>
<rect x="231.5" y="393.3" width="9" height="55.7" fill="#c00" opacity="0.55"/>
<rect x="247.5" y="390.1" width="9" height="58.9" fill="#c00" opacity="0.55"/>
<rect x="263.5" y="387.0" width="9" height="62.0" fill="#c00" opacity="0.55"/>
<rect x="279.5" y="383.8" width="9" height="65.2" fill="#c00" opacity="0.55"/>
<rect x="295.5" y="380.6" width="9" height="68.4" fill="#c00" opacity="0.55"/>
<rect x="311.5" y="385.4" width="9" height="63.6" fill="#c00" opacity="0.55"/>
<rect x="327.5" y="382.2" width="9" height="66.8" fill="#c00" opacity="0.55"/>
<rect x="343.5" y="379.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="359.5" y="391.7" width="9" height="57.3" fill="#188a3e" opacity="0.55"/>
<rect x="375.5" y="396.5" width="9" height="52.5" fill="#188a3e" opacity="0.55"/>
<rect x="391.5" y="399.7" width="9" height="49.3" fill="#188a3e" opacity="0.55"/>
<rect x="407.5" y="402.9" width="9" height="46.1" fill="#188a3e" opacity="0.55"/>
<rect x="423.5" y="406.0" width="9" height="43.0" fill="#188a3e" opacity="0.55"/>
<rect x="439.5" y="409.2" width="9" height="39.8" fill="#188a3e" opacity="0.55"/>
<rect x="455.5" y="412.4" width="9" height="36.6" fill="#188a3e" opacity="0.55"/>
<rect x="471.5" y="399.7" width="9" height="49.3" fill="#188a3e" opacity="0.55"/>
<rect x="487.5" y="394.9" width="9" height="54.1" fill="#188a3e" opacity="0.55"/>
<rect x="503.5" y="391.7" width="9" height="57.3" fill="#188a3e" opacity="0.55"/>
<rect x="519.5" y="387.0" width="9" height="62.0" fill="#188a3e" opacity="0.55"/>
<rect x="535.5" y="380.6" width="9" height="68.4" fill="#188a3e" opacity="0.55"/>
<text x="24" y="373.0" fill="#555">volum</text>
<text x="332.0" y="209.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">BIM</text>
<text x="348.0" y="271.9" fill="#188a3e" text-anchor="middle" style="font-weight:bold">candelă verde → trigger</text>
<text x="24" y="471.0" fill="#188a3e">Regula e pe procent, nu pe cât de dramatică arată linia: calea NU pare o cădere mare, dar e 3.9 %.</text>
<text x="24" y="496" fill="#555">Calea DA (candele): 4.0 % la 96.00. Calea NU (punctat): 3.9 % („3.93 %” în curs) — fără intrare.</text>
<polyline points="220.0,156.8 236.0,167.6 252.0,181.1 268.0,193.7 284.0,204.5 300.0,214.4 316.0,227.0 332.0,234.2 348.0,240.5 380.0,247.7 412.0,253.1 444.0,256.7" fill="none" stroke="#c00" stroke-width="1.8" stroke-dasharray="5 4"/>
<line x1="24" y1="227.0" x2="666" y2="227.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<circle cx="316.0" cy="227.0" r="3.5" fill="#c00"/>
<text x="652" y="239.0" fill="#c00" text-anchor="end">96.10 = 3.9 % — NU, sub prag</text>
<text x="652" y="252.6" fill="#777" text-anchor="end">zonă quarterly</text>
<text x="24" y="183.8" fill="#188a3e" style="font-weight:bold">calea DA (candelele)</text>
<text x="444.0" y="272.7" fill="#c00" style="font-weight:bold">calea NU (continuă în jos)</text>
</svg>
| | **A+** | **Mediocru / NU** |
|---|---|---|
@@ -311,7 +547,53 @@ Nu aleg eu între variante. Pentru fiecare: ce spune fiecare sursă și ce
clarificat cu autorul; nu o rezolv aici. Diagrama de mai jos pune cele
două orizonturi alături.
<!-- DIAGRAMA: orizont -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 670" width="700" height="670" role="img" aria-label="Orizontul de tinere al ATMI: fisiarul principal spune luni pana la un an, adaptarea pentru prop spune doua saptamani; cele doua descrieri raman nerezolvate">
<g font-family="system-ui, sans-serif">
<rect x="0" y="0" width="700" height="670" fill="#ffffff"/>
<text x="350.0" y="34.0" font-size="19" font-weight="700" fill="#000000" text-anchor="middle">Cât ții poziția? Două descrieri, același nume</text>
<text x="350.0" y="58.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">fișierul principal vs. sfatul din Q&amp;A pentru calificarea pe prop</text>
<text x="350.0" y="84.0" font-size="12" font-weight="400" fill="#777777" text-anchor="middle">Aceeași axă de timp pentru ambele bare (0 → 1 an); fără axe de preț.</text>
<line x1="60.0" y1="120.0" x2="60.0" y2="425.0" stroke="#ddd" stroke-width="1.0" stroke-dasharray="3 4"/>
<line x1="207.5" y1="120.0" x2="207.5" y2="425.0" stroke="#ddd" stroke-width="1.0" stroke-dasharray="3 4"/>
<line x1="355.0" y1="120.0" x2="355.0" y2="425.0" stroke="#ddd" stroke-width="1.0" stroke-dasharray="3 4"/>
<line x1="502.5" y1="120.0" x2="502.5" y2="425.0" stroke="#ddd" stroke-width="1.0" stroke-dasharray="3 4"/>
<line x1="650.0" y1="120.0" x2="650.0" y2="425.0" stroke="#ddd" stroke-width="1.0" stroke-dasharray="3 4"/>
<line x1="60.0" y1="112.0" x2="650.0" y2="112.0" stroke="#777777" stroke-width="1.2"/>
<line x1="60.0" y1="106.0" x2="60.0" y2="118.0" stroke="#777777" stroke-width="1.2"/>
<text x="60.0" y="132.0" font-size="12" font-weight="400" fill="#777777" text-anchor="middle">0</text>
<line x1="207.5" y1="106.0" x2="207.5" y2="118.0" stroke="#777777" stroke-width="1.2"/>
<text x="207.5" y="132.0" font-size="12" font-weight="400" fill="#777777" text-anchor="middle">3 luni</text>
<line x1="355.0" y1="106.0" x2="355.0" y2="118.0" stroke="#777777" stroke-width="1.2"/>
<text x="355.0" y="132.0" font-size="12" font-weight="400" fill="#777777" text-anchor="middle">6 luni</text>
<line x1="502.5" y1="106.0" x2="502.5" y2="118.0" stroke="#777777" stroke-width="1.2"/>
<text x="502.5" y="132.0" font-size="12" font-weight="400" fill="#777777" text-anchor="middle">9 luni</text>
<line x1="650.0" y1="106.0" x2="650.0" y2="118.0" stroke="#777777" stroke-width="1.2"/>
<text x="650.0" y="132.0" font-size="12" font-weight="400" fill="#777777" text-anchor="middle">~1 an</text>
<text x="60.0" y="162.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="start">ATMI clasică — fișierul principal</text>
<rect x="60.0" y="172.0" width="590" height="42" rx="6" fill="#eef4fd" stroke="#1a5fb4" stroke-width="1.5"/>
<text x="350.0" y="198.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">„fără stop-loss, poziția ținută luni/ani”</text>
<line x1="650.0" y1="164.0" x2="650.0" y2="226.0" stroke="#1a5fb4" stroke-width="1.2" stroke-dasharray="4 3"/>
<text x="650.0" y="244.0" font-size="13" font-weight="400" fill="#1a5fb4" text-anchor="end">TP1 atins — aproximativ un an mai târziu</text>
<text x="60.0" y="262.0" font-size="11" font-weight="400" fill="#777777" text-anchor="start">Sursă: 04_MODUL_3/03_strategia_2_atmi.md:26-29; :358-363</text>
<text x="60.0" y="282.0" font-size="15" font-weight="700" fill="#b06000" text-anchor="start">ATMI ca adaptare pentru prop — Q&amp;A 11.06.2025</text>
<rect x="60.0" y="298.0" width="22.7" height="42" rx="6" fill="#fdf0e0" stroke="#b06000" stroke-width="1.5"/>
<line x1="82.7" y1="290.0" x2="82.7" y2="360.0" stroke="#b06000" stroke-width="1.2" stroke-dasharray="4 3"/>
<line x1="82.7" y1="319.0" x2="160.0" y2="319.0" stroke="#b06000" stroke-width="1.0" stroke-dasharray="3 3"/>
<text x="90.0" y="312.0" font-size="11" font-weight="700" fill="#b06000" text-anchor="start">2 săptămâni</text>
<rect x="160.0" y="292.0" width="500.0" height="112.0" rx="8" fill="#ffffff" stroke="#b06000" stroke-width="1.5"/>
<text x="410.0" y="316.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">„aștepți o corecție și intri pe ATMI la suport quarterly,</text>
<text x="410.0" y="334.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">swing, 2 săptămâni în poziție”</text>
<text x="410.0" y="358.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">„Ai nevoie de 3 transacții să califici propul.”</text>
<text x="410.0" y="382.0" font-size="11" font-weight="400" fill="#777777" text-anchor="middle">Sursă: 09_QA/26_2025-06-11.md:225-227</text>
<rect x="40.0" y="440.0" width="620.0" height="150.0" rx="8" fill="#fafafa" stroke="#777777" stroke-width="1.2"/>
<text x="60.0" y="466.0" font-size="14" font-weight="700" fill="#000000" text-anchor="start">Anotare separată — mecanismul care face diferența</text>
<text x="60.0" y="492.0" font-size="13" font-weight="400" fill="#000000" text-anchor="start">Pe prop, limita zilnică se calculează și pe pozițiile deschise,</text>
<text x="60.0" y="510.0" font-size="13" font-weight="400" fill="#000000" text-anchor="start">iar la atingere firma închide automat poziția.</text>
<text x="60.0" y="530.0" font-size="11" font-weight="400" fill="#777777" text-anchor="start">Sursă: 09_QA/26_2025-06-11.md:216-222</text>
<text x="60.0" y="560.0" font-size="13" font-weight="700" fill="#000000" text-anchor="start">Notă: cele două descrieri nu se rezolvă aici — de clarificat cu autorul.</text>
<text x="350.0" y="626.0" font-size="12" font-weight="400" fill="#777777" text-anchor="middle">Fără axe de preț și fără să alegem una dintre variante.</text>
<text x="350.0" y="646.0" font-size="12" font-weight="400" fill="#777777" text-anchor="middle">Bara de 2 săptămâni e scurtă exact pentru că atât ține, pe aceeași scară.</text>
</g></svg>
2. **Aritmetica contribuției vs. backtest.** Fișierul principal recomandă „1
unitate SPY per trimestru (~600 $) ... ~1.200 $/an", ajustabil 0.2-0.5
@@ -353,7 +635,137 @@ aproximativ un an mai târziu** (`04_MODUL_3/03_strategia_2_atmi.md:358-363`).
> PPQ/SQ intermediate nu sunt date de curs. Structura barelor dintre nivele
> e construită de mine; cifrele de intrare/țintă sunt ale materialului.
<!-- DIAGRAMA: exemplu -->
<svg viewBox="0 0 660 363" 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">SPY — weekly: intrare 117.43 (27.01.2005) → TP +10 % = 129.17</text>
<line x1="24" y1="167.5" x2="646" y2="167.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="161.5" fill="#188a3e">intrare 117.43</text>
<line x1="24" y1="56.0" x2="646" y2="56.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="632" y="50.0" fill="#1a5fb4" text-anchor="end">TP1 129.17 (+10 %)</text>
<polyline points="325.0,152.1 340.0,150.6 355.0,149.2 370.0,147.9 385.0,146.7 400.0,145.1 415.0,143.7 430.0,142.5 445.0,141.3 460.0,140.3 475.0,139.4 490.0,138.6 505.0,138.1 520.0,137.0 535.0,135.1 550.0,132.3 565.0,128.5 580.0,123.1 595.0,117.5" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<line x1="40.0" y1="179.7" x2="40.0" y2="191.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="35.5" y="183.0" width="9" height="4.8" fill="#188a3e"/>
<line x1="55.0" y1="174.0" x2="55.0" y2="185.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="50.5" y="176.4" width="9" height="6.7" fill="#188a3e"/>
<line x1="70.0" y1="167.3" x2="70.0" y2="179.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="65.5" y="169.7" width="9" height="6.7" fill="#188a3e"/>
<line x1="85.0" y1="160.7" x2="85.0" y2="172.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="80.5" y="163.1" width="9" height="6.7" fill="#188a3e"/>
<line x1="100.0" y1="160.7" x2="100.0" y2="168.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="95.5" y="163.1" width="9" height="2.9" fill="#c00"/>
<line x1="115.0" y1="156.9" x2="115.0" y2="168.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="110.5" y="159.3" width="9" height="6.7" fill="#188a3e"/>
<line x1="130.0" y1="150.2" x2="130.0" y2="162.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="125.5" y="152.6" width="9" height="6.7" fill="#188a3e"/>
<line x1="145.0" y1="143.6" x2="145.0" y2="155.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="140.5" y="146.0" width="9" height="6.7" fill="#188a3e"/>
<line x1="160.0" y1="136.9" x2="160.0" y2="148.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="155.5" y="139.3" width="9" height="6.7" fill="#188a3e"/>
<line x1="175.0" y1="131.2" x2="175.0" y2="142.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="170.5" y="133.6" width="9" height="5.7" fill="#188a3e"/>
<line x1="190.0" y1="124.6" x2="190.0" y2="136.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="185.5" y="127.0" width="9" height="6.7" fill="#188a3e"/>
<line x1="205.0" y1="114.6" x2="205.0" y2="129.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="200.5" y="117.5" width="9" height="9.5" fill="#188a3e"/>
<line x1="220.0" y1="115.1" x2="220.0" y2="127.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="215.5" y="117.5" width="9" height="6.7" fill="#c00"/>
<line x1="235.0" y1="121.7" x2="235.0" y2="135.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="230.5" y="124.1" width="9" height="8.6" fill="#c00"/>
<line x1="250.0" y1="130.3" x2="250.0" y2="145.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="245.5" y="132.7" width="9" height="9.5" fill="#c00"/>
<line x1="265.0" y1="139.8" x2="265.0" y2="155.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="260.5" y="142.2" width="9" height="10.4" fill="#c00"/>
<line x1="280.0" y1="151.2" x2="280.0" y2="175.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="275.5" y="152.6" width="9" height="19.0" fill="#c00"/>
<line x1="295.0" y1="165.6" x2="295.0" y2="175.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="290.5" y="167.5" width="9" height="4.1" fill="#188a3e"/>
<line x1="310.0" y1="159.7" x2="310.0" y2="170.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="305.5" y="162.1" width="9" height="5.4" fill="#188a3e"/>
<line x1="325.0" y1="154.5" x2="325.0" y2="165.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="320.5" y="156.9" width="9" height="5.2" fill="#188a3e"/>
<line x1="340.0" y1="149.8" x2="340.0" y2="159.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="335.5" y="152.1" width="9" height="4.8" fill="#188a3e"/>
<line x1="355.0" y1="145.5" x2="355.0" y2="155.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="350.5" y="147.9" width="9" height="4.3" fill="#188a3e"/>
<line x1="370.0" y1="141.2" x2="370.0" y2="150.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="365.5" y="143.6" width="9" height="4.3" fill="#188a3e"/>
<line x1="385.0" y1="136.9" x2="385.0" y2="146.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="380.5" y="139.3" width="9" height="4.3" fill="#188a3e"/>
<line x1="400.0" y1="132.7" x2="400.0" y2="142.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="395.5" y="135.0" width="9" height="4.3" fill="#188a3e"/>
<line x1="415.0" y1="128.9" x2="415.0" y2="137.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="410.5" y="131.2" width="9" height="3.8" fill="#188a3e"/>
<line x1="430.0" y1="125.1" x2="430.0" y2="134.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="425.5" y="127.4" width="9" height="3.8" fill="#188a3e"/>
<line x1="445.0" y1="120.8" x2="445.0" y2="130.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="440.5" y="123.2" width="9" height="4.3" fill="#188a3e"/>
<line x1="460.0" y1="117.0" x2="460.0" y2="126.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="455.5" y="119.4" width="9" height="3.8" fill="#188a3e"/>
<line x1="475.0" y1="112.7" x2="475.0" y2="122.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="470.5" y="115.1" width="9" height="4.3" fill="#188a3e"/>
<line x1="490.0" y1="108.4" x2="490.0" y2="117.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="485.5" y="110.8" width="9" height="4.3" fill="#188a3e"/>
<line x1="505.0" y1="104.2" x2="505.0" y2="113.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="500.5" y="106.5" width="9" height="4.3" fill="#188a3e"/>
<line x1="520.0" y1="99.9" x2="520.0" y2="109.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="515.5" y="102.3" width="9" height="4.3" fill="#188a3e"/>
<line x1="535.0" y1="93.2" x2="535.0" y2="105.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="530.5" y="95.6" width="9" height="6.7" fill="#188a3e"/>
<line x1="550.0" y1="83.7" x2="550.0" y2="98.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="545.5" y="86.1" width="9" height="9.5" fill="#188a3e"/>
<line x1="565.0" y1="73.3" x2="565.0" y2="89.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="560.5" y="75.7" width="9" height="10.4" fill="#188a3e"/>
<line x1="580.0" y1="60.9" x2="580.0" y2="78.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="575.5" y="63.3" width="9" height="12.4" fill="#188a3e"/>
<line x1="595.0" y1="56.0" x2="595.0" y2="66.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="590.5" y="56.0" width="9" height="7.3" fill="#188a3e"/>
<line x1="24" y1="287.1" x2="646" y2="287.1" stroke="#888"/>
<rect x="35.5" y="253.7" width="9" height="33.4" fill="#188a3e" opacity="0.55"/>
<rect x="50.5" y="255.3" width="9" height="31.8" fill="#188a3e" opacity="0.55"/>
<rect x="65.5" y="252.1" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="80.5" y="249.7" width="9" height="37.4" fill="#188a3e" opacity="0.55"/>
<rect x="95.5" y="256.1" width="9" height="31.0" fill="#c00" opacity="0.55"/>
<rect x="110.5" y="251.3" width="9" height="35.8" fill="#188a3e" opacity="0.55"/>
<rect x="125.5" y="248.9" width="9" height="38.2" fill="#188a3e" opacity="0.55"/>
<rect x="140.5" y="245.7" width="9" height="41.4" fill="#188a3e" opacity="0.55"/>
<rect x="155.5" y="247.3" width="9" height="39.8" fill="#188a3e" opacity="0.55"/>
<rect x="170.5" y="243.3" width="9" height="43.8" fill="#188a3e" opacity="0.55"/>
<rect x="185.5" y="241.0" width="9" height="46.1" fill="#188a3e" opacity="0.55"/>
<rect x="200.5" y="237.8" width="9" height="49.3" fill="#188a3e" opacity="0.55"/>
<rect x="215.5" y="241.7" width="9" height="45.3" fill="#c00" opacity="0.55"/>
<rect x="230.5" y="238.6" width="9" height="48.5" fill="#c00" opacity="0.55"/>
<rect x="245.5" y="234.6" width="9" height="52.5" fill="#c00" opacity="0.55"/>
<rect x="260.5" y="229.8" width="9" height="57.3" fill="#c00" opacity="0.55"/>
<rect x="275.5" y="220.3" width="9" height="66.8" fill="#c00" opacity="0.55"/>
<rect x="290.5" y="231.4" width="9" height="55.7" fill="#188a3e" opacity="0.55"/>
<rect x="305.5" y="241.0" width="9" height="46.1" fill="#188a3e" opacity="0.55"/>
<rect x="320.5" y="243.3" width="9" height="43.8" fill="#188a3e" opacity="0.55"/>
<rect x="335.5" y="244.9" width="9" height="42.2" fill="#188a3e" opacity="0.55"/>
<rect x="350.5" y="241.7" width="9" height="45.3" fill="#188a3e" opacity="0.55"/>
<rect x="365.5" y="244.1" width="9" height="43.0" fill="#188a3e" opacity="0.55"/>
<rect x="380.5" y="242.5" width="9" height="44.5" fill="#188a3e" opacity="0.55"/>
<rect x="395.5" y="240.2" width="9" height="46.9" fill="#188a3e" opacity="0.55"/>
<rect x="410.5" y="243.3" width="9" height="43.8" fill="#188a3e" opacity="0.55"/>
<rect x="425.5" y="241.7" width="9" height="45.3" fill="#188a3e" opacity="0.55"/>
<rect x="440.5" y="239.4" width="9" height="47.7" fill="#188a3e" opacity="0.55"/>
<rect x="455.5" y="241.0" width="9" height="46.1" fill="#188a3e" opacity="0.55"/>
<rect x="470.5" y="238.6" width="9" height="48.5" fill="#188a3e" opacity="0.55"/>
<rect x="485.5" y="237.0" width="9" height="50.1" fill="#188a3e" opacity="0.55"/>
<rect x="500.5" y="239.4" width="9" height="47.7" fill="#188a3e" opacity="0.55"/>
<rect x="515.5" y="236.2" width="9" height="50.9" fill="#188a3e" opacity="0.55"/>
<rect x="530.5" y="234.6" width="9" height="52.5" fill="#188a3e" opacity="0.55"/>
<rect x="545.5" y="233.0" width="9" height="54.1" fill="#188a3e" opacity="0.55"/>
<rect x="560.5" y="229.8" width="9" height="57.3" fill="#188a3e" opacity="0.55"/>
<rect x="575.5" y="226.6" width="9" height="60.5" fill="#188a3e" opacity="0.55"/>
<rect x="590.5" y="217.1" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<text x="24" y="211.1" fill="#555">volum</text>
<text x="205.0" y="104.6" fill="#c00" text-anchor="middle" style="font-weight:bold">swing high ~123.00</text>
<text x="280.0" y="141.2" fill="#777" text-anchor="middle" style="font-weight:bold">BIM</text>
<text x="295.0" y="195.4" fill="#188a3e" text-anchor="middle" style="font-weight:bold">27.01.2005</text>
<text x="607.0" y="86.2" fill="#1a5fb4" text-anchor="end" style="font-weight:bold">TP1</text>
<text x="24" y="309.1" fill="#188a3e">după TP: capital + profit → cash până la următorul trigger valid</text>
<text x="24" y="326.1" fill="#188a3e">TP1 atins ~1 an mai târziu (data exactă neclară în transcriere — ASR)</text>
<text x="24" y="351" fill="#555">Swing high ~123.00 construit de mine; cifrele de intrare/TP sunt din material.</text>
</svg>
1. **Context:** indicele lat (SPY) corectează ≥4 % de la swing-ul recent, în
zona quarterly — condiția M (`04_MODUL_3/03_strategia_2_atmi.md:153-154`).

View File

@@ -59,7 +59,54 @@ materialul nu dă un prag scrie explicit.
> Contradicțiile din fișă sunt împărțite în cele două secțiuni 2.4: cele două
> care ating hammer-ul în Partea A, restul de patru în Partea B.
<!-- DIAGRAMA: harta -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 610" width="700" height="610" role="img" aria-label="Harta capitolului: acelasi trigger de bottom, doua naturi - buy hammer, pattern standard public, si MBT-10, cutie neagra cu indicator proprietar">
<g font-family="system-ui, sans-serif">
<rect x="0" y="0" width="700" height="610" fill="#ffffff"/>
<text x="350.0" y="34.0" font-size="19" font-weight="700" fill="#000000" text-anchor="middle">Același trigger de bottom, două naturi</text>
<text x="350.0" y="58.0" font-size="14" font-weight="400" fill="#777777" text-anchor="middle">buy hammer (public) vs. MBT-10 (cutie neagră)</text>
<rect x="40.0" y="82.0" width="620.0" height="76.0" rx="8" fill="#f2f4f7" stroke="#777777" stroke-width="1.2"/>
<text x="56.0" y="108.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="start">Trigger de bottom: unde + când</text>
<text x="56.0" y="130.0" font-size="13" font-weight="400" fill="#000000" text-anchor="start">Setup-urile de fond — suport, locul crimei, double bottom, buy doji,</text>
<text x="56.0" y="148.0" font-size="13" font-weight="400" fill="#000000" text-anchor="start">divergență de volum — spun UNDE. Trigger-ul de candelă spune CÂND.</text>
<text x="644.0" y="108.0" font-size="13" font-weight="400" fill="#777777" text-anchor="end">02_mbt10.md:9-11, 43-49</text>
<line x1="350.0" y1="158.0" x2="350.0" y2="172.0" stroke="#777777" stroke-width="1.2"/>
<line x1="191.0" y1="172.0" x2="509.0" y2="172.0" stroke="#777777" stroke-width="1.2"/>
<line x1="191.0" y1="172.0" x2="191.0" y2="190.0" stroke="#777777" stroke-width="1.2"/>
<line x1="509.0" y1="172.0" x2="509.0" y2="190.0" stroke="#777777" stroke-width="1.2"/>
<rect x="40.0" y="190.0" width="302.0" height="256.0" rx="8" fill="#eef4fd" stroke="#1a5fb4" stroke-width="1.4"/>
<text x="56.0" y="216.0" font-size="15" font-weight="700" fill="#1a5fb4" text-anchor="start">BUY HAMMER — pattern standard</text>
<line x1="56.0" y1="228.0" x2="326.0" y2="228.0" stroke="#1a5fb4" stroke-width="1.0"/>
<text x="56.0" y="260.0" font-size="13" font-weight="400" fill="#000000" text-anchor="start">„formă de candelă + downtrend”</text>
<text x="56.0" y="294.0" font-size="13" font-weight="400" fill="#777777" text-anchor="start">05_patternuri_candele.md:77-88</text>
<text x="56.0" y="312.0" font-size="13" font-weight="400" fill="#000000" text-anchor="start">„trigger: close peste</text>
<text x="56.0" y="329.0" font-size="13" font-weight="400" fill="#000000" text-anchor="start">high-ul hammer-ului”</text>
<text x="56.0" y="346.0" font-size="13" font-weight="400" fill="#777777" text-anchor="start">05_patternuri_candele.md:99-124</text>
<text x="56.0" y="364.0" font-size="13" font-weight="400" fill="#000000" text-anchor="start">„fără niciun indicator proprietar”</text>
<line x1="56.0" y1="406.0" x2="326.0" y2="406.0" stroke="#188a3e" stroke-width="1.2"/>
<text x="56.0" y="432.0" font-size="13" font-weight="700" fill="#188a3e" text-anchor="start">„pe BVB: se poate rula long-only”</text>
<rect x="358.0" y="190.0" width="302.0" height="256.0" rx="8" fill="#f5f5f5" stroke="#333333" stroke-width="1.4"/>
<text x="374.0" y="216.0" font-size="15" font-weight="700" fill="#333333" text-anchor="start">MBT-10 — cutie neagră</text>
<line x1="374.0" y1="228.0" x2="644.0" y2="228.0" stroke="#333333" stroke-width="1.0"/>
<text x="374.0" y="260.0" font-size="13" font-weight="400" fill="#000000" text-anchor="start">„formula nu e publică nicăieri”</text>
<text x="374.0" y="294.0" font-size="13" font-weight="400" fill="#777777" text-anchor="start">02_mbt10.md:21-39</text>
<text x="374.0" y="312.0" font-size="13" font-weight="400" fill="#000000" text-anchor="start">„reconstituibil doar:</text>
<text x="374.0" y="329.0" font-size="13" font-weight="400" fill="#000000" text-anchor="start">close peste pivotul daily”</text>
<text x="374.0" y="346.0" font-size="13" font-weight="400" fill="#777777" text-anchor="start">02_mbt10.md:179-188</text>
<text x="374.0" y="364.0" font-size="13" font-weight="400" fill="#000000" text-anchor="start">„scanner + indicator proprietar”</text>
<text x="374.0" y="398.0" font-size="13" font-weight="400" fill="#777777" text-anchor="start">02_mbt10.md:853-863</text>
<line x1="374.0" y1="406.0" x2="644.0" y2="406.0" stroke="#c00" stroke-width="1.2"/>
<text x="374.0" y="432.0" font-size="13" font-weight="700" fill="#c00" text-anchor="start">„pe BVB: nu, ca sistem”</text>
<line x1="191.0" y1="446.0" x2="191.0" y2="460.0" stroke="#777777" stroke-width="1.2"/>
<line x1="509.0" y1="446.0" x2="509.0" y2="460.0" stroke="#777777" stroke-width="1.2"/>
<line x1="191.0" y1="460.0" x2="509.0" y2="460.0" stroke="#777777" stroke-width="1.2"/>
<line x1="350.0" y1="460.0" x2="350.0" y2="489.0" stroke="#777777" stroke-width="1.4"/>
<polygon points="350.0,500.0 344.0,489.0 356.0,489.0" fill="#777777"/>
<rect x="110.0" y="500.0" width="480.0" height="56.0" rx="8" fill="#fdf0e0" stroke="#b06000" stroke-width="1.6"/>
<text x="350.0" y="524.0" font-size="14" font-weight="700" fill="#000000" text-anchor="middle">Ce rămâne pe BVB: hammer la un nivel major</text>
<text x="350.0" y="544.0" font-size="14" font-weight="700" fill="#000000" text-anchor="middle">+ close peste PPD</text>
<text x="350.0" y="578.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">Regulile = materialul cursului (cu trimiteri); verdictul de BVB = judecata mea</text>
<text x="350.0" y="596.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">din secțiunea Transfer.</text>
</g></svg>
---
@@ -91,7 +138,121 @@ pattern-ul nu se ia singur — se ia la un nivel major
#### Diagrama de ansamblu
<!-- DIAGRAMA: bh_ansamblu -->
<svg viewBox="0 0 720 559" 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">Buy hammer — daily (ticker ilustrativ XYZ, din lecția de pattern)</text>
<line x1="24" y1="382.4" x2="706" y2="382.4" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="376.4" fill="#c00">SL 62.05 — sub low-ul hammer-ului</text>
<line x1="24" y1="340.8" x2="706" y2="340.8" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="692" y="334.8" fill="#188a3e" text-anchor="end">intrare 63.35</text>
<line x1="24" y1="257.6" x2="706" y2="257.6" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="692" y="251.6" fill="#1a5fb4" text-anchor="end">TP 65.95 = 2R</text>
<line x1="44.0" y1="56.0" x2="44.0" y2="73.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="64.0" width="9" height="1.6" fill="#188a3e"/>
<line x1="59.0" y1="56.0" x2="59.0" y2="99.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="64.0" width="9" height="25.6" fill="#c00"/>
<line x1="74.0" y1="72.0" x2="74.0" y2="99.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="80.0" width="9" height="9.6" fill="#188a3e"/>
<line x1="89.0" y1="72.0" x2="89.0" y2="124.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="80.0" width="9" height="35.2" fill="#c00"/>
<line x1="104.0" y1="107.2" x2="104.0" y2="150.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="115.2" width="9" height="25.6" fill="#c00"/>
<line x1="119.0" y1="120.0" x2="119.0" y2="150.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="128.0" width="9" height="12.8" fill="#188a3e"/>
<line x1="134.0" y1="120.0" x2="134.0" y2="172.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="128.0" width="9" height="35.2" fill="#c00"/>
<line x1="149.0" y1="155.2" x2="149.0" y2="198.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="163.2" width="9" height="25.6" fill="#c00"/>
<line x1="164.0" y1="171.2" x2="164.0" y2="198.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="179.2" width="9" height="9.6" fill="#188a3e"/>
<line x1="179.0" y1="171.2" x2="179.0" y2="224.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="179.2" width="9" height="35.2" fill="#c00"/>
<line x1="194.0" y1="206.4" x2="194.0" y2="249.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="214.4" width="9" height="25.6" fill="#c00"/>
<line x1="209.0" y1="222.4" x2="209.0" y2="249.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="230.4" width="9" height="9.6" fill="#188a3e"/>
<line x1="224.0" y1="222.4" x2="224.0" y2="275.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="230.4" width="9" height="35.2" fill="#c00"/>
<line x1="239.0" y1="257.6" x2="239.0" y2="300.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="265.6" width="9" height="25.6" fill="#c00"/>
<line x1="254.0" y1="273.6" x2="254.0" y2="300.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="281.6" width="9" height="9.6" fill="#188a3e"/>
<line x1="269.0" y1="273.6" x2="269.0" y2="326.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="281.6" width="9" height="35.2" fill="#c00"/>
<line x1="284.0" y1="308.8" x2="284.0" y2="348.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="316.8" width="9" height="22.4" fill="#c00"/>
<line x1="299.0" y1="321.6" x2="299.0" y2="348.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="329.6" width="9" height="9.6" fill="#188a3e"/>
<line x1="314.0" y1="321.6" x2="314.0" y2="360.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="329.6" width="9" height="20.8" fill="#c00"/>
<line x1="329.0" y1="342.4" x2="329.0" y2="380.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="342.4" width="9" height="8.0" fill="#188a3e"/>
<line x1="344.0" y1="336.0" x2="344.0" y2="347.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="340.8" width="9" height="1.6" fill="#188a3e"/>
<line x1="359.0" y1="318.4" x2="359.0" y2="350.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="326.4" width="9" height="14.4" fill="#188a3e"/>
<line x1="374.0" y1="305.6" x2="374.0" y2="336.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="313.6" width="9" height="12.8" fill="#188a3e"/>
<line x1="389.0" y1="292.8" x2="389.0" y2="323.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="300.8" width="9" height="12.8" fill="#188a3e"/>
<line x1="404.0" y1="292.8" x2="404.0" y2="316.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="300.8" width="9" height="6.4" fill="#c00"/>
<line x1="419.0" y1="283.2" x2="419.0" y2="316.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="291.2" width="9" height="16.0" fill="#188a3e"/>
<line x1="434.0" y1="273.6" x2="434.0" y2="300.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="281.6" width="9" height="9.6" fill="#188a3e"/>
<line x1="449.0" y1="264.0" x2="449.0" y2="291.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="272.0" width="9" height="9.6" fill="#188a3e"/>
<line x1="464.0" y1="254.4" x2="464.0" y2="281.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="262.4" width="9" height="9.6" fill="#188a3e"/>
<line x1="479.0" y1="244.8" x2="479.0" y2="272.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="252.8" width="9" height="9.6" fill="#188a3e"/>
<line x1="494.0" y1="244.8" x2="494.0" y2="265.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="252.8" width="9" height="3.2" fill="#c00"/>
<line x1="509.0" y1="248.0" x2="509.0" y2="275.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="504.5" y="256.0" width="9" height="9.6" fill="#c00"/>
<line x1="524.0" y1="257.6" x2="524.0" y2="284.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="519.5" y="265.6" width="9" height="9.6" fill="#c00"/>
<line x1="539.0" y1="260.8" x2="539.0" y2="284.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="534.5" y="268.8" width="9" height="6.4" fill="#188a3e"/>
<line x1="24" y1="478.4" x2="706" y2="478.4" stroke="#888"/>
<rect x="39.5" y="441.6" width="9" height="36.8" fill="#188a3e" opacity="0.55"/>
<rect x="54.5" y="443.0" width="9" height="35.4" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="443.8" width="9" height="34.6" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="444.5" width="9" height="33.9" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="445.2" width="9" height="33.2" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="444.5" width="9" height="33.9" fill="#188a3e" opacity="0.55"/>
<rect x="129.5" y="446.0" width="9" height="32.4" fill="#c00" opacity="0.55"/>
<rect x="144.5" y="446.7" width="9" height="31.7" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="445.2" width="9" height="33.2" fill="#188a3e" opacity="0.55"/>
<rect x="174.5" y="447.5" width="9" height="30.9" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="448.2" width="9" height="30.2" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="446.7" width="9" height="31.7" fill="#188a3e" opacity="0.55"/>
<rect x="219.5" y="448.9" width="9" height="29.5" fill="#c00" opacity="0.55"/>
<rect x="234.5" y="449.7" width="9" height="28.7" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="448.2" width="9" height="30.2" fill="#188a3e" opacity="0.55"/>
<rect x="264.5" y="450.4" width="9" height="28.0" fill="#c00" opacity="0.55"/>
<rect x="279.5" y="451.1" width="9" height="27.3" fill="#c00" opacity="0.55"/>
<rect x="294.5" y="449.7" width="9" height="28.7" fill="#188a3e" opacity="0.55"/>
<rect x="309.5" y="437.9" width="9" height="40.5" fill="#c00" opacity="0.55"/>
<rect x="324.5" y="412.1" width="9" height="66.3" fill="#188a3e" opacity="0.55"/>
<rect x="339.5" y="408.4" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="354.5" y="435.7" width="9" height="42.7" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="437.9" width="9" height="40.5" fill="#188a3e" opacity="0.55"/>
<rect x="384.5" y="439.3" width="9" height="39.1" fill="#188a3e" opacity="0.55"/>
<rect x="399.5" y="441.6" width="9" height="36.8" fill="#c00" opacity="0.55"/>
<rect x="414.5" y="440.1" width="9" height="38.3" fill="#188a3e" opacity="0.55"/>
<rect x="429.5" y="438.6" width="9" height="39.8" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="437.1" width="9" height="41.3" fill="#188a3e" opacity="0.55"/>
<rect x="459.5" y="434.2" width="9" height="44.2" fill="#188a3e" opacity="0.55"/>
<rect x="474.5" y="431.2" width="9" height="47.2" fill="#188a3e" opacity="0.55"/>
<rect x="489.5" y="435.7" width="9" height="42.7" fill="#c00" opacity="0.55"/>
<rect x="504.5" y="437.9" width="9" height="40.5" fill="#c00" opacity="0.55"/>
<rect x="519.5" y="440.1" width="9" height="38.3" fill="#c00" opacity="0.55"/>
<rect x="534.5" y="441.6" width="9" height="36.8" fill="#188a3e" opacity="0.55"/>
<text x="24" y="402.4" fill="#555">volum</text>
<text x="329.0" y="396.4" fill="#b06000" text-anchor="middle" style="font-weight:bold">hammer 63.30 / 62.10</text>
<text x="24" y="500.4" fill="#188a3e">bara 20: confirmare — close 63.35 peste high-ul hammer-ului 63.30 (intrare)</text>
<text x="24" y="533" fill="#555">Exemplu ilustrativ (XYZ) din lecția de pattern (01_MODUL_1/05_patternuri_candele.md:210-215);</text><text x="24" y="549" fill="#555">prețurile sunt cele ale lecției, structura barelor dintre ele e construită.</text></svg>
Graficul întreg al trade-ului: downtrend → hammer la un nivel → candela de
confirmare închide peste high-ul lui (intrare) → SL sub low-ul hammer-ului →
@@ -248,7 +409,145 @@ Lecția de hammer dă exemplul complet: 2 % dintr-un cont de **10.000 $** =
Amândouă au aceeași formă de candelă; le separă contextul. Diagrama le pune
alături.
<!-- DIAGRAMA: bh_aplus -->
<svg viewBox="0 0 900 501" width="900" height="501" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"><text x="450" y="20" fill="#333" text-anchor="middle" style="font-weight:bold">Buy hammer A+ vs. mediocru (două panouri, exemple construite)</text><g transform="translate(8,38)">
<text x="24" y="48" fill="#333" style="font-weight:bold">A+ — hammer la suport monthly, volum în acumulare</text>
<line x1="24" y1="286.1" x2="416" y2="286.1" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="280.1" fill="#188a3e">suport monthly 42.00</text>
<line x1="44.0" y1="56.0" x2="44.0" y2="85.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="62.5" width="9" height="15.6" fill="#c00"/>
<line x1="59.0" y1="71.6" x2="59.0" y2="109.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="78.1" width="9" height="23.4" fill="#c00"/>
<line x1="74.0" y1="89.8" x2="74.0" y2="109.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="96.3" width="9" height="5.2" fill="#188a3e"/>
<line x1="89.0" y1="89.8" x2="89.0" y2="132.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="96.3" width="9" height="28.6" fill="#c00"/>
<line x1="104.0" y1="118.4" x2="104.0" y2="156.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="124.9" width="9" height="23.4" fill="#c00"/>
<line x1="119.0" y1="134.0" x2="119.0" y2="156.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="140.5" width="9" height="7.8" fill="#188a3e"/>
<line x1="134.0" y1="134.0" x2="134.0" y2="179.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="140.5" width="9" height="31.2" fill="#c00"/>
<line x1="149.0" y1="165.2" x2="149.0" y2="202.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="171.7" width="9" height="23.4" fill="#c00"/>
<line x1="164.0" y1="188.6" x2="164.0" y2="226.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="195.1" width="9" height="23.4" fill="#c00"/>
<line x1="179.0" y1="212.0" x2="179.0" y2="249.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="218.5" width="9" height="23.4" fill="#c00"/>
<line x1="194.0" y1="235.4" x2="194.0" y2="267.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="241.9" width="9" height="18.2" fill="#c00"/>
<line x1="209.0" y1="253.6" x2="209.0" y2="273.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="260.1" width="9" height="5.2" fill="#c00"/>
<line x1="224.0" y1="262.7" x2="224.0" y2="288.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="262.7" width="9" height="2.6" fill="#188a3e"/>
<line x1="239.0" y1="256.2" x2="239.0" y2="267.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="261.4" width="9" height="1.6" fill="#188a3e"/>
<line x1="254.0" y1="243.2" x2="254.0" y2="269.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="249.7" width="9" height="11.7" fill="#188a3e"/>
<line x1="269.0" y1="232.8" x2="269.0" y2="257.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="239.3" width="9" height="10.4" fill="#188a3e"/>
<line x1="284.0" y1="222.4" x2="284.0" y2="247.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="228.9" width="9" height="10.4" fill="#188a3e"/>
<line x1="299.0" y1="222.4" x2="299.0" y2="241.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="228.9" width="9" height="5.2" fill="#c00"/>
<line x1="314.0" y1="214.6" x2="314.0" y2="241.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="221.1" width="9" height="13.0" fill="#188a3e"/>
<line x1="329.0" y1="206.8" x2="329.0" y2="228.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="213.3" width="9" height="7.8" fill="#188a3e"/>
<line x1="24" y1="374.7" x2="416" y2="374.7" stroke="#888"/>
<rect x="39.5" y="338.7" width="9" height="36.0" fill="#c00" opacity="0.55"/>
<rect x="54.5" y="340.0" width="9" height="34.7" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="340.7" width="9" height="34.0" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="342.0" width="9" height="32.7" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="342.7" width="9" height="32.0" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="343.4" width="9" height="31.3" fill="#188a3e" opacity="0.55"/>
<rect x="129.5" y="344.0" width="9" height="30.7" fill="#c00" opacity="0.55"/>
<rect x="144.5" y="344.7" width="9" height="30.0" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="345.4" width="9" height="29.3" fill="#c00" opacity="0.55"/>
<rect x="174.5" y="346.0" width="9" height="28.7" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="346.7" width="9" height="28.0" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="344.7" width="9" height="30.0" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="332.0" width="9" height="42.7" fill="#188a3e" opacity="0.55"/>
<rect x="234.5" y="314.7" width="9" height="60.0" fill="#188a3e" opacity="0.55"/>
<rect x="249.5" y="325.4" width="9" height="49.3" fill="#188a3e" opacity="0.55"/>
<rect x="264.5" y="328.0" width="9" height="46.7" fill="#188a3e" opacity="0.55"/>
<rect x="279.5" y="330.7" width="9" height="44.0" fill="#188a3e" opacity="0.55"/>
<rect x="294.5" y="333.4" width="9" height="41.3" fill="#c00" opacity="0.55"/>
<rect x="309.5" y="334.7" width="9" height="40.0" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="336.0" width="9" height="38.7" fill="#188a3e" opacity="0.55"/>
<text x="24" y="308.7" fill="#555">volum</text>
<text x="224.0" y="302.7" fill="#b06000" text-anchor="middle" style="font-weight:bold">hammer la nivel (low 41.90)</text>
<text x="239.0" y="220.2" fill="#188a3e" text-anchor="middle" style="font-weight:bold">acumulare</text>
<text x="24" y="405" fill="#555">bara 13: 42.95 > high 42.90, pe volum peste medie.</text>
</g><g transform="translate(462,38)">
<text x="24" y="48" fill="#333" style="font-weight:bold">Mediocru — hammer în mijloc de range, fără nivel</text>
<line x1="24" y1="153.5" x2="416" y2="153.5" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="147.5" fill="#777">fără nivel apropiat (suport 42.50 la −3,6 %)</text>
<line x1="44.0" y1="56.0" x2="44.0" y2="80.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="62.5" width="9" height="10.4" fill="#188a3e"/>
<line x1="59.0" y1="56.0" x2="59.0" y2="88.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="62.5" width="9" height="18.2" fill="#c00"/>
<line x1="74.0" y1="61.2" x2="74.0" y2="88.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="67.7" width="9" height="13.0" fill="#188a3e"/>
<line x1="89.0" y1="61.2" x2="89.0" y2="93.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="67.7" width="9" height="18.2" fill="#c00"/>
<line x1="104.0" y1="66.4" x2="104.0" y2="93.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="72.9" width="9" height="13.0" fill="#188a3e"/>
<line x1="119.0" y1="66.4" x2="119.0" y2="98.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="72.9" width="9" height="18.2" fill="#c00"/>
<line x1="134.0" y1="71.6" x2="134.0" y2="98.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="78.1" width="9" height="13.0" fill="#188a3e"/>
<line x1="149.0" y1="71.6" x2="149.0" y2="101.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="78.1" width="9" height="15.6" fill="#c00"/>
<line x1="164.0" y1="76.8" x2="164.0" y2="101.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="83.3" width="9" height="10.4" fill="#188a3e"/>
<line x1="179.0" y1="76.8" x2="179.0" y2="104.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="83.3" width="9" height="13.0" fill="#c00"/>
<line x1="194.0" y1="79.4" x2="194.0" y2="104.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="85.9" width="9" height="10.4" fill="#188a3e"/>
<line x1="209.0" y1="79.4" x2="209.0" y2="96.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="85.9" width="9" height="2.6" fill="#c00"/>
<line x1="224.0" y1="85.9" x2="224.0" y2="111.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="85.9" width="9" height="2.6" fill="#188a3e"/>
<line x1="239.0" y1="79.4" x2="239.0" y2="91.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="84.6" width="9" height="1.6" fill="#188a3e"/>
<line x1="254.0" y1="78.1" x2="254.0" y2="98.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="84.6" width="9" height="6.5" fill="#c00"/>
<line x1="269.0" y1="84.6" x2="269.0" y2="104.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="91.1" width="9" height="5.2" fill="#c00"/>
<line x1="284.0" y1="89.8" x2="284.0" y2="111.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="96.3" width="9" height="7.8" fill="#c00"/>
<line x1="299.0" y1="97.6" x2="299.0" y2="117.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="104.1" width="9" height="5.2" fill="#c00"/>
<line x1="314.0" y1="102.8" x2="314.0" y2="122.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="109.3" width="9" height="5.2" fill="#c00"/>
<line x1="329.0" y1="108.0" x2="329.0" y2="127.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="114.5" width="9" height="5.2" fill="#c00"/>
<line x1="24" y1="239.5" x2="416" y2="239.5" stroke="#888"/>
<rect x="39.5" y="183.8" width="9" height="55.7" fill="#188a3e" opacity="0.55"/>
<rect x="54.5" y="185.9" width="9" height="53.6" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="182.7" width="9" height="56.8" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="187.0" width="9" height="52.5" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="184.9" width="9" height="54.6" fill="#188a3e" opacity="0.55"/>
<rect x="114.5" y="188.1" width="9" height="51.4" fill="#c00" opacity="0.55"/>
<rect x="129.5" y="183.8" width="9" height="55.7" fill="#188a3e" opacity="0.55"/>
<rect x="144.5" y="185.9" width="9" height="53.6" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="187.0" width="9" height="52.5" fill="#188a3e" opacity="0.55"/>
<rect x="174.5" y="184.9" width="9" height="54.6" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="185.9" width="9" height="53.6" fill="#188a3e" opacity="0.55"/>
<rect x="204.5" y="187.0" width="9" height="52.5" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="179.5" width="9" height="60.0" fill="#188a3e" opacity="0.55"/>
<rect x="234.5" y="206.3" width="9" height="33.2" fill="#188a3e" opacity="0.55"/>
<rect x="249.5" y="183.8" width="9" height="55.7" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="185.9" width="9" height="53.6" fill="#c00" opacity="0.55"/>
<rect x="279.5" y="188.1" width="9" height="51.4" fill="#c00" opacity="0.55"/>
<rect x="294.5" y="184.9" width="9" height="54.6" fill="#c00" opacity="0.55"/>
<rect x="309.5" y="187.0" width="9" height="52.5" fill="#c00" opacity="0.55"/>
<rect x="324.5" y="189.1" width="9" height="50.4" fill="#c00" opacity="0.55"/>
<text x="24" y="173.5" fill="#555">volum</text>
<text x="224.0" y="131.9" fill="#b06000" text-anchor="middle" style="font-weight:bold">hammer în mijloc de range</text>
<text x="239.0" y="69.4" fill="#c00" text-anchor="middle" style="font-weight:bold">volum slab</text>
<text x="24" y="270" fill="#555">bara 13: 45.15 > 45.10, dar pe volum slab.</text>
</g><text x="450" y="479" fill="#555" text-anchor="middle" style="font-size:10px">Reguli din curs: 26_2025-06-11.md:701-703 (locația la nivel), 05_patternuri_candele.md:77-80, 05_volum.md:2169.</text><text x="450" y="493" fill="#555" text-anchor="middle" style="font-size:10px">Nivelurile 42.00 / 42.50 și cifrele de preț sunt construite (materialul nu dă prețuri pentru acest contrast).</text></svg>
| | **A+** | **Mediocru / NU** |
|---|---|---|
@@ -314,7 +613,139 @@ prețuri de intrare diferite.
> suportul monthly, **+20 % în jumătate de lună** (`18_2025-09-23.md:721-726`).
> **Materialul nu dă entry, SL sau TP** pentru acest caz.
<!-- DIAGRAMA: bh_labu -->
<svg viewBox="0 0 760 391" 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">LABU — daily</text>
<line x1="24" y1="198.9" x2="746" y2="198.9" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="192.9" fill="#777">suport monthly 80.00</text>
<line x1="24" y1="202.1" x2="746" y2="202.1" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="732" y="196.1" fill="#c00" text-anchor="end">SL sub low-ul hammer-ului 79.60 (construit)</text>
<line x1="24" y1="188.5" x2="746" y2="188.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="732" y="182.5" fill="#188a3e" text-anchor="end">intrare 81.30 (construit)</text>
<polyline points="329.0,159.1 344.0,163.9 359.0,167.8 374.0,172.0 389.0,175.4 404.0,178.1 419.0,180.8 434.0,182.6 449.0,183.5 464.0,184.4 479.0,184.3 494.0,183.3 509.0,181.5 524.0,179.4 539.0,176.4 554.0,172.5 569.0,168.2 584.0,162.8 599.0,156.1" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="605" y="150" fill="#b06000">SMA-20</text>
<line x1="44.0" y1="84.5" x2="44.0" y2="106.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="86.9" width="9" height="16.0" fill="#c00"/>
<line x1="59.0" y1="100.5" x2="59.0" y2="118.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="102.9" width="9" height="12.0" fill="#c00"/>
<line x1="74.0" y1="106.9" x2="74.0" y2="118.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="109.3" width="9" height="5.6" fill="#188a3e"/>
<line x1="89.0" y1="106.9" x2="89.0" y2="126.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="109.3" width="9" height="14.4" fill="#c00"/>
<line x1="104.0" y1="121.3" x2="104.0" y2="137.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="123.7" width="9" height="10.4" fill="#c00"/>
<line x1="119.0" y1="127.7" x2="119.0" y2="137.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="130.1" width="9" height="4.0" fill="#188a3e"/>
<line x1="134.0" y1="127.7" x2="134.0" y2="146.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="130.1" width="9" height="12.8" fill="#c00"/>
<line x1="149.0" y1="140.5" x2="149.0" y2="155.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="142.9" width="9" height="9.6" fill="#c00"/>
<line x1="164.0" y1="146.1" x2="164.0" y2="155.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="148.5" width="9" height="4.0" fill="#188a3e"/>
<line x1="179.0" y1="146.1" x2="179.0" y2="162.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="148.5" width="9" height="11.2" fill="#c00"/>
<line x1="194.0" y1="157.3" x2="194.0" y2="173.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="159.7" width="9" height="10.4" fill="#c00"/>
<line x1="209.0" y1="167.7" x2="209.0" y2="182.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="170.1" width="9" height="9.6" fill="#c00"/>
<line x1="224.0" y1="172.5" x2="224.0" y2="182.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="174.9" width="9" height="4.8" fill="#188a3e"/>
<line x1="239.0" y1="172.5" x2="239.0" y2="187.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="174.9" width="9" height="9.6" fill="#c00"/>
<line x1="254.0" y1="182.1" x2="254.0" y2="196.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="184.5" width="9" height="8.8" fill="#c00"/>
<line x1="269.0" y1="186.9" x2="269.0" y2="196.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="189.3" width="9" height="4.0" fill="#188a3e"/>
<line x1="284.0" y1="186.9" x2="284.0" y2="200.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="189.3" width="9" height="8.0" fill="#c00"/>
<line x1="299.0" y1="190.1" x2="299.0" y2="200.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="192.5" width="9" height="4.8" fill="#188a3e"/>
<line x1="314.0" y1="184.5" x2="314.0" y2="195.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="186.9" width="9" height="5.6" fill="#188a3e"/>
<line x1="329.0" y1="184.5" x2="329.0" y2="198.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="186.9" width="9" height="8.8" fill="#c00"/>
<line x1="344.0" y1="193.3" x2="344.0" y2="201.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="195.7" width="9" height="2.4" fill="#c00"/>
<line x1="359.0" y1="191.7" x2="359.0" y2="201.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="194.1" width="9" height="4.0" fill="#188a3e"/>
<line x1="374.0" y1="190.1" x2="374.0" y2="197.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="192.5" width="9" height="1.6" fill="#188a3e"/>
<line x1="389.0" y1="191.7" x2="389.0" y2="202.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="191.7" width="9" height="1.6" fill="#188a3e"/>
<line x1="404.0" y1="186.1" x2="404.0" y2="194.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="188.5" width="9" height="3.2" fill="#188a3e"/>
<line x1="419.0" y1="181.3" x2="419.0" y2="191.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="183.7" width="9" height="4.8" fill="#188a3e"/>
<line x1="434.0" y1="175.7" x2="434.0" y2="186.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="178.1" width="9" height="5.6" fill="#188a3e"/>
<line x1="449.0" y1="169.3" x2="449.0" y2="181.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="171.7" width="9" height="6.4" fill="#188a3e"/>
<line x1="464.0" y1="162.9" x2="464.0" y2="174.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="165.3" width="9" height="6.4" fill="#188a3e"/>
<line x1="479.0" y1="155.7" x2="479.0" y2="168.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="158.1" width="9" height="7.2" fill="#188a3e"/>
<line x1="494.0" y1="148.5" x2="494.0" y2="161.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="150.9" width="9" height="7.2" fill="#188a3e"/>
<line x1="509.0" y1="140.5" x2="509.0" y2="154.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="504.5" y="142.9" width="9" height="8.0" fill="#188a3e"/>
<line x1="524.0" y1="131.7" x2="524.0" y2="146.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="519.5" y="134.1" width="9" height="8.8" fill="#188a3e"/>
<line x1="539.0" y1="122.1" x2="539.0" y2="137.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="534.5" y="124.5" width="9" height="9.6" fill="#188a3e"/>
<line x1="554.0" y1="111.7" x2="554.0" y2="127.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="549.5" y="114.1" width="9" height="10.4" fill="#188a3e"/>
<line x1="569.0" y1="100.5" x2="569.0" y2="117.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="564.5" y="102.9" width="9" height="11.2" fill="#188a3e"/>
<line x1="584.0" y1="88.5" x2="584.0" y2="106.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="579.5" y="90.9" width="9" height="12.0" fill="#188a3e"/>
<line x1="599.0" y1="56.0" x2="599.0" y2="94.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="594.5" y="58.4" width="9" height="32.5" fill="#188a3e"/>
<line x1="24" y1="298.1" x2="746" y2="298.1" stroke="#888"/>
<rect x="39.5" y="256.7" width="9" height="41.4" fill="#c00" opacity="0.55"/>
<rect x="54.5" y="258.3" width="9" height="39.8" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="260.7" width="9" height="37.4" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="259.1" width="9" height="39.0" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="262.3" width="9" height="35.8" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="261.5" width="9" height="36.6" fill="#188a3e" opacity="0.55"/>
<rect x="129.5" y="263.9" width="9" height="34.2" fill="#c00" opacity="0.55"/>
<rect x="144.5" y="262.3" width="9" height="35.8" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="265.5" width="9" height="32.6" fill="#188a3e" opacity="0.55"/>
<rect x="174.5" y="263.9" width="9" height="34.2" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="263.1" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="260.7" width="9" height="37.4" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="264.7" width="9" height="33.4" fill="#188a3e" opacity="0.55"/>
<rect x="234.5" y="262.3" width="9" height="35.8" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="259.9" width="9" height="38.2" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="261.5" width="9" height="36.6" fill="#188a3e" opacity="0.55"/>
<rect x="279.5" y="258.3" width="9" height="39.8" fill="#c00" opacity="0.55"/>
<rect x="294.5" y="263.1" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="309.5" y="263.9" width="9" height="34.2" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="261.5" width="9" height="36.6" fill="#c00" opacity="0.55"/>
<rect x="339.5" y="257.5" width="9" height="40.6" fill="#c00" opacity="0.55"/>
<rect x="354.5" y="259.1" width="9" height="39.0" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="254.3" width="9" height="43.8" fill="#188a3e" opacity="0.55"/>
<rect x="384.5" y="228.1" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="399.5" y="231.3" width="9" height="66.8" fill="#188a3e" opacity="0.55"/>
<rect x="414.5" y="242.4" width="9" height="55.7" fill="#188a3e" opacity="0.55"/>
<rect x="429.5" y="248.8" width="9" height="49.3" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="251.9" width="9" height="46.1" fill="#188a3e" opacity="0.55"/>
<rect x="459.5" y="255.1" width="9" height="43.0" fill="#188a3e" opacity="0.55"/>
<rect x="474.5" y="256.7" width="9" height="41.4" fill="#188a3e" opacity="0.55"/>
<rect x="489.5" y="258.3" width="9" height="39.8" fill="#188a3e" opacity="0.55"/>
<rect x="504.5" y="259.9" width="9" height="38.2" fill="#188a3e" opacity="0.55"/>
<rect x="519.5" y="261.5" width="9" height="36.6" fill="#188a3e" opacity="0.55"/>
<rect x="534.5" y="262.3" width="9" height="35.8" fill="#188a3e" opacity="0.55"/>
<rect x="549.5" y="260.7" width="9" height="37.4" fill="#188a3e" opacity="0.55"/>
<rect x="564.5" y="254.3" width="9" height="43.8" fill="#188a3e" opacity="0.55"/>
<rect x="579.5" y="248.8" width="9" height="49.3" fill="#188a3e" opacity="0.55"/>
<rect x="594.5" y="240.8" width="9" height="57.3" fill="#188a3e" opacity="0.55"/>
<text x="24" y="222.1" fill="#555">volum</text>
<text x="389.0" y="216.1" fill="#b06000" text-anchor="middle" style="font-weight:bold">hammer 80.90 / 79.60 (construit)</text>
<text x="599.0" y="46.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">+20 % (cifra cursului): 97.56 / 81.30</text>
<text x="24" y="320.1" fill="#c00">bara 23 = hammer: o 80.80, h 80.90, l 79.60, c 80.90 — corp 0.10, fitil jos 1.20 (H=C), pe suportul 80.00</text>
<text x="24" y="337.1" fill="#c00">bara 24 = confirmare: close 81.30 — close peste high-ul hammer-ului 80.90 = intrare 81.30 (construit)</text>
<text x="24" y="354.1" fill="#188a3e">Procentul (+20 % în jumătate de lună) și contextul (suport monthly) sunt ale cursului (18_2025-09-23.md:721-726);</text>
<text x="24" y="379" fill="#555">nivelurile de preț sunt construite de sumarizator.</text>
</svg>
1. **Context:** downtrend → suport monthly, unde prețul se oprește
(`18_2025-09-23.md:721-726`).
@@ -360,7 +791,148 @@ asta rămâne: o regulă de close peste pivot, fără indicator.
#### Diagrama de ansamblu
<!-- DIAGRAMA: mbt_ansamblu -->
<svg viewBox="0 0 780 526" 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">MBT-10 — pullback în locul crimei + hammer, închidere la 54.60 (exemplu construit)</text>
<line x1="24" y1="198.0" x2="766" y2="198.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="192.0" fill="#777">locul crimei 52.10 (fost vârf spart)</text>
<line x1="24" y1="200.0" x2="766" y2="200.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="752" y="194.0" fill="#c00" text-anchor="end">SL 52.00 — sub codița hammer-ului</text>
<line x1="24" y1="148.0" x2="766" y2="148.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="752" y="142.0" fill="#188a3e" text-anchor="end">intrare 54.60 (close în MBT-10)</text>
<line x1="24" y1="62.0" x2="766" y2="62.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="752" y="56.0" fill="#1a5fb4" text-anchor="end">TP 58.90 = 1.65R</text>
<line x1="44.0" y1="314.0" x2="44.0" y2="336.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="320.0" width="9" height="8.0" fill="#188a3e"/>
<line x1="59.0" y1="298.0" x2="59.0" y2="328.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="304.0" width="9" height="16.0" fill="#188a3e"/>
<line x1="74.0" y1="284.0" x2="74.0" y2="312.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="290.0" width="9" height="14.0" fill="#188a3e"/>
<line x1="89.0" y1="268.0" x2="89.0" y2="298.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="274.0" width="9" height="16.0" fill="#188a3e"/>
<line x1="104.0" y1="254.0" x2="104.0" y2="282.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="260.0" width="9" height="14.0" fill="#188a3e"/>
<line x1="119.0" y1="238.0" x2="119.0" y2="268.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="244.0" width="9" height="16.0" fill="#188a3e"/>
<line x1="134.0" y1="224.0" x2="134.0" y2="252.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="230.0" width="9" height="14.0" fill="#188a3e"/>
<line x1="149.0" y1="210.0" x2="149.0" y2="238.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="216.0" width="9" height="14.0" fill="#188a3e"/>
<line x1="164.0" y1="194.0" x2="164.0" y2="224.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="200.0" width="9" height="16.0" fill="#188a3e"/>
<line x1="179.0" y1="192.0" x2="179.0" y2="206.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="198.0" width="9" height="2.0" fill="#188a3e"/>
<line x1="194.0" y1="192.0" x2="194.0" y2="220.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="198.0" width="9" height="14.0" fill="#c00"/>
<line x1="209.0" y1="206.0" x2="209.0" y2="232.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="212.0" width="9" height="12.0" fill="#c00"/>
<line x1="224.0" y1="204.0" x2="224.0" y2="232.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="210.0" width="9" height="14.0" fill="#188a3e"/>
<line x1="239.0" y1="186.0" x2="239.0" y2="218.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="192.0" width="9" height="18.0" fill="#188a3e"/>
<line x1="254.0" y1="170.0" x2="254.0" y2="200.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="176.0" width="9" height="16.0" fill="#188a3e"/>
<line x1="269.0" y1="154.0" x2="269.0" y2="184.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="160.0" width="9" height="16.0" fill="#188a3e"/>
<line x1="284.0" y1="138.0" x2="284.0" y2="168.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="144.0" width="9" height="16.0" fill="#188a3e"/>
<line x1="299.0" y1="122.0" x2="299.0" y2="152.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="128.0" width="9" height="16.0" fill="#188a3e"/>
<line x1="314.0" y1="106.0" x2="314.0" y2="136.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="112.0" width="9" height="16.0" fill="#188a3e"/>
<line x1="329.0" y1="90.0" x2="329.0" y2="120.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="96.0" width="9" height="16.0" fill="#188a3e"/>
<line x1="344.0" y1="74.0" x2="344.0" y2="104.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="80.0" width="9" height="16.0" fill="#188a3e"/>
<line x1="359.0" y1="56.0" x2="359.0" y2="88.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="62.0" width="9" height="18.0" fill="#188a3e"/>
<line x1="374.0" y1="56.0" x2="374.0" y2="84.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="62.0" width="9" height="14.0" fill="#c00"/>
<line x1="389.0" y1="70.0" x2="389.0" y2="100.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="76.0" width="9" height="16.0" fill="#c00"/>
<line x1="404.0" y1="86.0" x2="404.0" y2="118.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="92.0" width="9" height="18.0" fill="#c00"/>
<line x1="419.0" y1="104.0" x2="419.0" y2="136.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="110.0" width="9" height="18.0" fill="#c00"/>
<line x1="434.0" y1="122.0" x2="434.0" y2="154.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="128.0" width="9" height="18.0" fill="#c00"/>
<line x1="449.0" y1="140.0" x2="449.0" y2="176.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="146.0" width="9" height="22.0" fill="#c00"/>
<line x1="464.0" y1="162.0" x2="464.0" y2="198.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="168.0" width="9" height="28.0" fill="#c00"/>
<line x1="479.0" y1="172.0" x2="479.0" y2="198.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="172.0" width="9" height="24.0" fill="#188a3e"/>
<line x1="494.0" y1="144.0" x2="494.0" y2="176.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="148.0" width="9" height="24.0" fill="#188a3e"/>
<line x1="509.0" y1="130.0" x2="509.0" y2="156.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="504.5" y="136.0" width="9" height="12.0" fill="#188a3e"/>
<line x1="524.0" y1="118.0" x2="524.0" y2="144.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="519.5" y="124.0" width="9" height="12.0" fill="#188a3e"/>
<line x1="539.0" y1="106.0" x2="539.0" y2="132.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="534.5" y="112.0" width="9" height="12.0" fill="#188a3e"/>
<line x1="554.0" y1="94.0" x2="554.0" y2="120.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="549.5" y="100.0" width="9" height="12.0" fill="#188a3e"/>
<line x1="569.0" y1="82.0" x2="569.0" y2="108.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="564.5" y="88.0" width="9" height="12.0" fill="#188a3e"/>
<line x1="584.0" y1="72.0" x2="584.0" y2="96.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="579.5" y="78.0" width="9" height="10.0" fill="#188a3e"/>
<line x1="599.0" y1="62.0" x2="599.0" y2="86.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="594.5" y="68.0" width="9" height="10.0" fill="#188a3e"/>
<line x1="614.0" y1="56.0" x2="614.0" y2="76.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="609.5" y="62.0" width="9" height="6.0" fill="#188a3e"/>
<line x1="629.0" y1="56.0" x2="629.0" y2="74.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="624.5" y="62.0" width="9" height="4.0" fill="#c00"/>
<line x1="644.0" y1="60.0" x2="644.0" y2="82.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="639.5" y="66.0" width="9" height="8.0" fill="#c00"/>
<line x1="24" y1="432.0" x2="766" y2="432.0" stroke="#888"/>
<rect x="39.5" y="364.7" width="9" height="67.3" fill="#188a3e" opacity="0.55"/>
<rect x="54.5" y="366.0" width="9" height="66.0" fill="#188a3e" opacity="0.55"/>
<rect x="69.5" y="363.3" width="9" height="68.7" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="364.7" width="9" height="67.3" fill="#188a3e" opacity="0.55"/>
<rect x="99.5" y="362.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="114.5" y="363.3" width="9" height="68.7" fill="#188a3e" opacity="0.55"/>
<rect x="129.5" y="364.7" width="9" height="67.3" fill="#188a3e" opacity="0.55"/>
<rect x="144.5" y="362.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="159.5" y="363.3" width="9" height="68.7" fill="#188a3e" opacity="0.55"/>
<rect x="174.5" y="362.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="189.5" y="364.7" width="9" height="67.3" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="366.0" width="9" height="66.0" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="363.3" width="9" height="68.7" fill="#188a3e" opacity="0.55"/>
<rect x="234.5" y="364.7" width="9" height="67.3" fill="#188a3e" opacity="0.55"/>
<rect x="249.5" y="362.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="264.5" y="363.3" width="9" height="68.7" fill="#188a3e" opacity="0.55"/>
<rect x="279.5" y="364.7" width="9" height="67.3" fill="#188a3e" opacity="0.55"/>
<rect x="294.5" y="362.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="309.5" y="363.3" width="9" height="68.7" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="362.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="339.5" y="363.3" width="9" height="68.7" fill="#188a3e" opacity="0.55"/>
<rect x="354.5" y="362.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="364.7" width="9" height="67.3" fill="#c00" opacity="0.55"/>
<rect x="384.5" y="366.0" width="9" height="66.0" fill="#c00" opacity="0.55"/>
<rect x="399.5" y="364.7" width="9" height="67.3" fill="#c00" opacity="0.55"/>
<rect x="414.5" y="363.3" width="9" height="68.7" fill="#c00" opacity="0.55"/>
<rect x="429.5" y="364.7" width="9" height="67.3" fill="#c00" opacity="0.55"/>
<rect x="444.5" y="366.0" width="9" height="66.0" fill="#c00" opacity="0.55"/>
<rect x="459.5" y="364.7" width="9" height="67.3" fill="#c00" opacity="0.55"/>
<rect x="474.5" y="363.3" width="9" height="68.7" fill="#188a3e" opacity="0.55"/>
<rect x="489.5" y="362.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="504.5" y="364.7" width="9" height="67.3" fill="#188a3e" opacity="0.55"/>
<rect x="519.5" y="363.3" width="9" height="68.7" fill="#188a3e" opacity="0.55"/>
<rect x="534.5" y="362.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="549.5" y="363.3" width="9" height="68.7" fill="#188a3e" opacity="0.55"/>
<rect x="564.5" y="364.7" width="9" height="67.3" fill="#188a3e" opacity="0.55"/>
<rect x="579.5" y="362.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="594.5" y="363.3" width="9" height="68.7" fill="#188a3e" opacity="0.55"/>
<rect x="609.5" y="362.0" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="624.5" y="363.3" width="9" height="68.7" fill="#c00" opacity="0.55"/>
<rect x="639.5" y="364.7" width="9" height="67.3" fill="#c00" opacity="0.55"/>
<text x="24" y="356.0" fill="#555">volum</text>
<text x="479.0" y="218.0" fill="#b06000" text-anchor="middle" style="font-weight:bold">hammer — codița pe 52.10</text>
<text x="494.0" y="110.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">MBT-10 închis</text>
<text x="24" y="454.0" fill="#188a3e">Legendă: MBT-10 nu se desenează — formula nu e publică (02_mbt10.md:21-39); se marchează doar bara la care</text>
<text x="24" y="471.0" fill="#188a3e">semnalul s-a închis. Nivelurile sunt exemplul construit al sumarizatorului (02_mbt10.md:165-173, 978-984).</text>
<text x="24" y="488.0" fill="#188a3e">bara 9 = fostul vârf 52.10 (locul crimei); bara 21 = vârful nou 58.90.</text>
<text x="24" y="505.0" fill="#188a3e">bara 29 = hammer: o 52.20, h/c 53.40, l 52.10 (codița exact pe locul crimei); bara 30 = ziua închisă în MBT-10.</text>
</svg>
Graficul întreg al trade-ului: uptrend, fost vârf spart, pullback în locul
crimei cu hammer pe 52.10, ziua următoare se închide în MBT-10 la 54.60
@@ -543,7 +1115,124 @@ aceeași, fiindcă nu se vede), ci contextul din jur.
`03_2026-08-11.md:146-152`, `173-178`). Diagrama arată de ce: #1 și #2 au
**același risc în bani**, iar #2 singur acoperă pierderea de la #1.
<!-- DIAGRAMA: mbt_gapdown -->
<svg viewBox="0 0 820 573" 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">După gap down — primul MBT-10 te scoate, al doilea merge (exemplu construit)</text>
<line x1="24" y1="235.2" x2="806" y2="235.2" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="792" y="229.2" fill="#777" text-anchor="end">#1 intrare 64.80</text>
<line x1="24" y1="280.0" x2="806" y2="280.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="792" y="274.0" fill="#777" text-anchor="end">#1 SL 63.20</text>
<line x1="24" y1="308.0" x2="806" y2="308.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="792" y="302.0" fill="#777" text-anchor="end">#2 intrare 62.20</text>
<line x1="24" y1="358.4" x2="806" y2="358.4" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="792" y="352.4" fill="#777" text-anchor="end">#2 SL 60.40</text>
<line x1="24" y1="72.8" x2="806" y2="72.8" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="792" y="66.8" fill="#1a5fb4" text-anchor="end">TP 70.60 = 4.7R (gap închis)</text>
<line x1="44.0" y1="361.2" x2="44.0" y2="380.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="369.6" width="9" height="1.6" fill="#188a3e"/>
<line x1="59.0" y1="338.8" x2="59.0" y2="380.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="347.2" width="9" height="22.4" fill="#188a3e"/>
<line x1="74.0" y1="316.4" x2="74.0" y2="358.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="324.8" width="9" height="22.4" fill="#188a3e"/>
<line x1="89.0" y1="291.2" x2="89.0" y2="336.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="299.6" width="9" height="25.2" fill="#188a3e"/>
<line x1="104.0" y1="268.8" x2="104.0" y2="310.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="277.2" width="9" height="22.4" fill="#188a3e"/>
<line x1="119.0" y1="243.6" x2="119.0" y2="288.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="252.0" width="9" height="25.2" fill="#188a3e"/>
<line x1="134.0" y1="221.2" x2="134.0" y2="263.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="229.6" width="9" height="22.4" fill="#188a3e"/>
<line x1="149.0" y1="198.8" x2="149.0" y2="240.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="207.2" width="9" height="22.4" fill="#188a3e"/>
<line x1="164.0" y1="176.4" x2="164.0" y2="218.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="184.8" width="9" height="22.4" fill="#188a3e"/>
<line x1="179.0" y1="154.0" x2="179.0" y2="196.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="162.4" width="9" height="22.4" fill="#188a3e"/>
<line x1="194.0" y1="131.6" x2="194.0" y2="173.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="140.0" width="9" height="22.4" fill="#188a3e"/>
<line x1="209.0" y1="109.2" x2="209.0" y2="151.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="117.6" width="9" height="22.4" fill="#188a3e"/>
<line x1="224.0" y1="64.4" x2="224.0" y2="128.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="72.8" width="9" height="44.8" fill="#188a3e"/>
<line x1="239.0" y1="61.6" x2="239.0" y2="72.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="72.8" width="9" height="1.6" fill="#188a3e"/>
<line x1="254.0" y1="182.0" x2="254.0" y2="198.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="190.4" width="9" height="1.6" fill="#c00"/>
<line x1="269.0" y1="182.0" x2="269.0" y2="226.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="190.4" width="9" height="25.2" fill="#c00"/>
<line x1="284.0" y1="207.2" x2="284.0" y2="240.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="215.6" width="9" height="19.6" fill="#c00"/>
<line x1="299.0" y1="226.8" x2="299.0" y2="263.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="235.2" width="9" height="16.8" fill="#c00"/>
<line x1="314.0" y1="243.6" x2="314.0" y2="280.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="252.0" width="9" height="22.4" fill="#c00"/>
<line x1="329.0" y1="266.0" x2="329.0" y2="299.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="274.4" width="9" height="14.0" fill="#c00"/>
<line x1="344.0" y1="280.0" x2="344.0" y2="310.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="288.4" width="9" height="11.2" fill="#c00"/>
<line x1="359.0" y1="291.2" x2="359.0" y2="313.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="299.6" width="9" height="8.4" fill="#c00"/>
<line x1="374.0" y1="282.8" x2="374.0" y2="319.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="291.2" width="9" height="16.8" fill="#188a3e"/>
<line x1="389.0" y1="260.4" x2="389.0" y2="302.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="268.8" width="9" height="22.4" fill="#188a3e"/>
<line x1="404.0" y1="235.2" x2="404.0" y2="280.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="243.6" width="9" height="25.2" fill="#188a3e"/>
<line x1="419.0" y1="207.2" x2="419.0" y2="254.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="215.6" width="9" height="28.0" fill="#188a3e"/>
<line x1="434.0" y1="179.2" x2="434.0" y2="226.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="187.6" width="9" height="28.0" fill="#188a3e"/>
<line x1="449.0" y1="151.2" x2="449.0" y2="198.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="159.6" width="9" height="28.0" fill="#188a3e"/>
<line x1="464.0" y1="123.2" x2="464.0" y2="170.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="131.6" width="9" height="28.0" fill="#188a3e"/>
<line x1="479.0" y1="95.2" x2="479.0" y2="142.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="103.6" width="9" height="28.0" fill="#188a3e"/>
<line x1="494.0" y1="64.4" x2="494.0" y2="114.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="489.5" y="72.8" width="9" height="30.8" fill="#188a3e"/>
<line x1="509.0" y1="56.0" x2="509.0" y2="84.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="504.5" y="64.4" width="9" height="8.4" fill="#188a3e"/>
<line x1="524.0" y1="56.0" x2="524.0" y2="86.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="519.5" y="64.4" width="9" height="11.2" fill="#c00"/>
<line x1="24" y1="476.8" x2="806" y2="476.8" stroke="#888"/>
<rect x="39.5" y="439.5" width="9" height="37.3" fill="#188a3e" opacity="0.55"/>
<rect x="54.5" y="441.0" width="9" height="35.8" fill="#188a3e" opacity="0.55"/>
<rect x="69.5" y="442.6" width="9" height="34.2" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="441.8" width="9" height="35.0" fill="#188a3e" opacity="0.55"/>
<rect x="99.5" y="443.4" width="9" height="33.4" fill="#188a3e" opacity="0.55"/>
<rect x="114.5" y="444.1" width="9" height="32.7" fill="#188a3e" opacity="0.55"/>
<rect x="129.5" y="442.6" width="9" height="34.2" fill="#188a3e" opacity="0.55"/>
<rect x="144.5" y="444.9" width="9" height="31.9" fill="#188a3e" opacity="0.55"/>
<rect x="159.5" y="445.7" width="9" height="31.1" fill="#188a3e" opacity="0.55"/>
<rect x="174.5" y="444.1" width="9" height="32.7" fill="#188a3e" opacity="0.55"/>
<rect x="189.5" y="443.4" width="9" height="33.4" fill="#188a3e" opacity="0.55"/>
<rect x="204.5" y="444.9" width="9" height="31.9" fill="#188a3e" opacity="0.55"/>
<rect x="219.5" y="441.0" width="9" height="35.8" fill="#188a3e" opacity="0.55"/>
<rect x="234.5" y="431.7" width="9" height="45.1" fill="#188a3e" opacity="0.55"/>
<rect x="249.5" y="406.8" width="9" height="70.0" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="417.7" width="9" height="59.1" fill="#c00" opacity="0.55"/>
<rect x="279.5" y="425.5" width="9" height="51.3" fill="#c00" opacity="0.55"/>
<rect x="294.5" y="432.5" width="9" height="44.3" fill="#c00" opacity="0.55"/>
<rect x="309.5" y="437.9" width="9" height="38.9" fill="#c00" opacity="0.55"/>
<rect x="324.5" y="441.8" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="339.5" y="444.1" width="9" height="32.7" fill="#c00" opacity="0.55"/>
<rect x="354.5" y="445.7" width="9" height="31.1" fill="#c00" opacity="0.55"/>
<rect x="369.5" y="441.0" width="9" height="35.8" fill="#188a3e" opacity="0.55"/>
<rect x="384.5" y="436.4" width="9" height="40.4" fill="#188a3e" opacity="0.55"/>
<rect x="399.5" y="431.7" width="9" height="45.1" fill="#188a3e" opacity="0.55"/>
<rect x="414.5" y="427.8" width="9" height="49.0" fill="#188a3e" opacity="0.55"/>
<rect x="429.5" y="423.9" width="9" height="52.9" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="420.0" width="9" height="56.8" fill="#188a3e" opacity="0.55"/>
<rect x="459.5" y="416.1" width="9" height="60.7" fill="#188a3e" opacity="0.55"/>
<rect x="474.5" y="413.0" width="9" height="63.8" fill="#188a3e" opacity="0.55"/>
<rect x="489.5" y="409.9" width="9" height="66.9" fill="#188a3e" opacity="0.55"/>
<rect x="504.5" y="408.4" width="9" height="68.4" fill="#188a3e" opacity="0.55"/>
<rect x="519.5" y="414.6" width="9" height="62.2" fill="#c00" opacity="0.55"/>
<text x="24" y="400.8" fill="#555">volum</text>
<text x="254.0" y="150.0" fill="#c00" text-anchor="middle" style="font-weight:bold">gap down</text>
<text x="284.0" y="172.2" fill="#777" text-anchor="middle" style="font-weight:bold">MBT-10 #1</text>
<text x="314.0" y="330.0" fill="#c00" text-anchor="middle" style="font-weight:bold">stop #1 atins</text>
<text x="359.0" y="358.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">MBT-10 #2</text>
<text x="24" y="515" fill="#555">MBT-10 #1: intrare 64.80 / SL 63.20 — risc 1R în bani</text><text x="24" y="531" fill="#555">MBT-10 #2: intrare 62.20 / SL 60.40 — risc 1R în bani (mărime ajustată)</text><text x="24" y="547" fill="#555">Exemplu construit (02_mbt10.md:728-734): #1 și #2 au același risc în bani; #2 singur dă 4.7R.</text><text x="24" y="563" fill="#555">De aceea mărimea se împarte pe 2-3 încercări.</text></svg>
3. **Scannerul nu e listă de cumpărături.** Fără suport, volum și pattern de
bottom, MBT-10 e doar un semnal pe o bară oarecare
@@ -620,7 +1309,65 @@ peste pivotul daily", cu edge mult mai slab. Nu inventa o formulă.
> **Ce lipsește:** materialul **nu dă SL-ul** acestui exemplu. Axa de preț
> din diagramă e construită pe cifrele reale, nu citită din curs.
<!-- DIAGRAMA: mbt_tesla -->
<svg viewBox="0 0 620 510" 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">Tesla — daily: trigger MBT-10, intrare 311.21 → 333.00 = +7.0 % în 6 zile</text>
<line x1="24" y1="425.7" x2="606" y2="425.7" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="419.7" fill="#188a3e">intrare 311.21 (close)</text>
<line x1="24" y1="262.2" x2="606" y2="262.2" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="592" y="256.2" fill="#1a5fb4" text-anchor="end">rezultat 333.00 = +7.0 % în 6 zile</text>
<line x1="44.0" y1="56.0" x2="44.0" y2="64.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="59.8" width="9" height="1.6" fill="#188a3e"/>
<line x1="59.0" y1="56.0" x2="59.0" y2="94.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="59.8" width="9" height="30.0" fill="#c00"/>
<line x1="74.0" y1="71.0" x2="74.0" y2="94.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="74.8" width="9" height="15.0" fill="#188a3e"/>
<line x1="89.0" y1="71.0" x2="89.0" y2="124.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="74.8" width="9" height="45.0" fill="#c00"/>
<line x1="104.0" y1="116.0" x2="104.0" y2="154.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="119.8" width="9" height="30.0" fill="#c00"/>
<line x1="119.0" y1="138.5" x2="119.0" y2="154.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="142.2" width="9" height="7.5" fill="#188a3e"/>
<line x1="134.0" y1="138.5" x2="134.0" y2="191.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="142.2" width="9" height="45.0" fill="#c00"/>
<line x1="149.0" y1="183.5" x2="149.0" y2="229.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="187.2" width="9" height="37.5" fill="#c00"/>
<line x1="164.0" y1="206.0" x2="164.0" y2="229.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="209.8" width="9" height="15.0" fill="#188a3e"/>
<line x1="179.0" y1="206.0" x2="179.0" y2="259.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="209.8" width="9" height="45.0" fill="#c00"/>
<line x1="194.0" y1="251.0" x2="194.0" y2="296.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="254.8" width="9" height="37.5" fill="#c00"/>
<line x1="209.0" y1="273.5" x2="209.0" y2="296.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="277.2" width="9" height="15.0" fill="#188a3e"/>
<line x1="224.0" y1="273.5" x2="224.0" y2="326.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="277.2" width="9" height="45.0" fill="#c00"/>
<line x1="239.0" y1="318.5" x2="239.0" y2="364.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="322.2" width="9" height="37.5" fill="#c00"/>
<line x1="254.0" y1="356.0" x2="254.0" y2="401.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="359.8" width="9" height="37.5" fill="#c00"/>
<line x1="269.0" y1="393.5" x2="269.0" y2="430.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="397.2" width="9" height="28.4" fill="#c00"/>
<line x1="284.0" y1="401.0" x2="284.0" y2="430.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="404.8" width="9" height="20.9" fill="#188a3e"/>
<line x1="299.0" y1="371.0" x2="299.0" y2="409.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="374.8" width="9" height="30.0" fill="#188a3e"/>
<line x1="314.0" y1="341.0" x2="314.0" y2="379.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="344.8" width="9" height="30.0" fill="#188a3e"/>
<line x1="329.0" y1="311.0" x2="329.0" y2="349.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="314.8" width="9" height="30.0" fill="#188a3e"/>
<line x1="344.0" y1="281.0" x2="344.0" y2="319.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="284.8" width="9" height="30.0" fill="#188a3e"/>
<line x1="359.0" y1="258.5" x2="359.0" y2="289.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="262.2" width="9" height="22.5" fill="#188a3e"/>
<line x1="374.0" y1="258.5" x2="374.0" y2="281.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="262.2" width="9" height="15.0" fill="#c00"/>
<line x1="389.0" y1="273.5" x2="389.0" y2="304.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="277.2" width="9" height="22.5" fill="#c00"/>
<line x1="404.0" y1="281.0" x2="404.0" y2="304.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="284.8" width="9" height="15.0" fill="#188a3e"/>
<text x="269.0" y="444.2" fill="#188a3e" text-anchor="middle" style="font-weight:bold">trigger MBT-10</text>
<text x="359.0" y="232.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">exact 6 bare</text>
<text x="24" y="468" fill="#555">Cifrele 311.21 / 333.00 / +7.0 % sunt reale (03_2026-08-11.md:118-120);</text><text x="24" y="484" fill="#555">structura barelor dintre ele e construită.</text><text x="24" y="500" fill="#555">SL: materialul nu îl dă pentru acest exemplu.</text></svg>
1. **Context:** cădere anterioară, apoi trigger MBT-10 pe daily.
2. **Intrare:** la închiderea zilei, **311.21** (`03_2026-08-11.md:118-119`).

View File

@@ -99,7 +99,115 @@ Q&A, risc 2.50 → 5R pe pullback vs. risc 9.50 → 0.6R pe breakout
### Diagrama de ansamblu
<!-- DIAGRAMA: ansamblu -->
<svg viewBox="0 0 640 591" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="26" fill="#333" style="font-weight:bold">SPY — 5 min (exemplu construit pe scara lecției;</text>
<text x="24" y="44" fill="#333" style="font-weight:bold">cifrele planului nu vin din curs)</text>
<line x1="24" y1="392.8" x2="626" y2="392.8" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="386.8" fill="#1a5fb4">suport / pivot 590.00</text>
<line x1="24" y1="421.6" x2="626" y2="421.6" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="415.6" fill="#c00">SL 589.40 — risc 0.80</text>
<line x1="24" y1="344.8" x2="626" y2="344.8" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="338.8" fill="#188a3e">TP1 591.00 = 1:1</text>
<polyline points="329.0,286.4 344.0,299.3 359.0,309.6 374.0,320.7 389.0,329.1 404.0,336.3 419.0,341.0 434.0,345.8 449.0,348.0 464.0,348.2 479.0,346.2" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="485" y="340" fill="#b06000">SMA-20</text>
<line x1="44.0" y1="64.0" x2="44.0" y2="119.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="76.0" width="9" height="28.8" fill="#c00"/>
<line x1="59.0" y1="92.8" x2="59.0" y2="157.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="104.8" width="9" height="38.4" fill="#c00"/>
<line x1="74.0" y1="112.0" x2="74.0" y2="157.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="124.0" width="9" height="19.2" fill="#188a3e"/>
<line x1="89.0" y1="112.0" x2="89.0" y2="176.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="124.0" width="9" height="38.4" fill="#c00"/>
<line x1="104.0" y1="150.4" x2="104.0" y2="210.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="162.4" width="9" height="33.6" fill="#c00"/>
<line x1="119.0" y1="184.0" x2="119.0" y2="244.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="196.0" width="9" height="33.6" fill="#c00"/>
<line x1="134.0" y1="203.2" x2="134.0" y2="244.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="215.2" width="9" height="14.4" fill="#188a3e"/>
<line x1="149.0" y1="203.2" x2="149.0" y2="268.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="215.2" width="9" height="38.4" fill="#c00"/>
<line x1="164.0" y1="241.6" x2="164.0" y2="301.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="253.6" width="9" height="33.6" fill="#c00"/>
<line x1="179.0" y1="275.2" x2="179.0" y2="330.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="287.2" width="9" height="28.8" fill="#c00"/>
<line x1="194.0" y1="289.6" x2="194.0" y2="330.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="301.6" width="9" height="14.4" fill="#188a3e"/>
<line x1="209.0" y1="289.6" x2="209.0" y2="344.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="301.6" width="9" height="28.8" fill="#c00"/>
<line x1="224.0" y1="318.4" x2="224.0" y2="368.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="330.4" width="9" height="24.0" fill="#c00"/>
<line x1="239.0" y1="342.4" x2="239.0" y2="392.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="354.4" width="9" height="24.0" fill="#c00"/>
<line x1="254.0" y1="354.4" x2="254.0" y2="392.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="366.4" width="9" height="12.0" fill="#188a3e"/>
<line x1="269.0" y1="354.4" x2="269.0" y2="402.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="366.4" width="9" height="21.6" fill="#c00"/>
<line x1="284.0" y1="376.0" x2="284.0" y2="414.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="388.0" width="9" height="12.0" fill="#c00"/>
<line x1="299.0" y1="378.4" x2="299.0" y2="414.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="390.4" width="9" height="9.6" fill="#188a3e"/>
<line x1="314.0" y1="385.6" x2="314.0" y2="421.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="390.4" width="9" height="12.0" fill="#c00"/>
<line x1="329.0" y1="378.4" x2="329.0" y2="404.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="383.2" width="9" height="19.2" fill="#188a3e"/>
<line x1="344.0" y1="352.0" x2="344.0" y2="397.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="364.0" width="9" height="19.2" fill="#188a3e"/>
<line x1="359.0" y1="347.2" x2="359.0" y2="378.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="349.6" width="9" height="14.4" fill="#188a3e"/>
<line x1="374.0" y1="332.8" x2="374.0" y2="364.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="344.8" width="9" height="4.8" fill="#188a3e"/>
<line x1="389.0" y1="318.4" x2="389.0" y2="359.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="330.4" width="9" height="14.4" fill="#188a3e"/>
<line x1="404.0" y1="318.4" x2="404.0" y2="354.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="330.4" width="9" height="9.6" fill="#c00"/>
<line x1="419.0" y1="311.2" x2="419.0" y2="354.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="323.2" width="9" height="16.8" fill="#188a3e"/>
<line x1="434.0" y1="299.2" x2="434.0" y2="337.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="311.2" width="9" height="12.0" fill="#188a3e"/>
<line x1="449.0" y1="287.2" x2="449.0" y2="325.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="299.2" width="9" height="12.0" fill="#188a3e"/>
<line x1="464.0" y1="277.6" x2="464.0" y2="313.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="289.6" width="9" height="9.6" fill="#188a3e"/>
<line x1="479.0" y1="265.6" x2="479.0" y2="304.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="277.6" width="9" height="12.0" fill="#188a3e"/>
<line x1="24" y1="517.6" x2="626" y2="517.6" stroke="#888"/>
<rect x="39.5" y="478.1" width="9" height="39.5" fill="#c00" opacity="0.55"/>
<rect x="54.5" y="479.7" width="9" height="37.9" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="481.4" width="9" height="36.2" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="480.5" width="9" height="37.1" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="482.2" width="9" height="35.4" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="483.8" width="9" height="33.8" fill="#c00" opacity="0.55"/>
<rect x="129.5" y="484.7" width="9" height="32.9" fill="#188a3e" opacity="0.55"/>
<rect x="144.5" y="483.0" width="9" height="34.6" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="481.4" width="9" height="36.2" fill="#c00" opacity="0.55"/>
<rect x="174.5" y="479.7" width="9" height="37.9" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="474.8" width="9" height="42.8" fill="#188a3e" opacity="0.55"/>
<rect x="204.5" y="486.3" width="9" height="31.3" fill="#c00" opacity="0.55"/>
<rect x="219.5" y="484.7" width="9" height="32.9" fill="#c00" opacity="0.55"/>
<rect x="234.5" y="483.0" width="9" height="34.6" fill="#c00" opacity="0.55"/>
<rect x="249.5" y="485.5" width="9" height="32.1" fill="#188a3e" opacity="0.55"/>
<rect x="264.5" y="481.4" width="9" height="36.2" fill="#c00" opacity="0.55"/>
<rect x="279.5" y="476.4" width="9" height="41.2" fill="#c00" opacity="0.55"/>
<rect x="294.5" y="469.8" width="9" height="47.8" fill="#188a3e" opacity="0.55"/>
<rect x="309.5" y="458.3" width="9" height="59.3" fill="#c00" opacity="0.55"/>
<rect x="324.5" y="447.6" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="339.5" y="460.0" width="9" height="57.6" fill="#188a3e" opacity="0.55"/>
<rect x="354.5" y="464.9" width="9" height="52.7" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="469.8" width="9" height="47.8" fill="#188a3e" opacity="0.55"/>
<rect x="384.5" y="468.2" width="9" height="49.4" fill="#188a3e" opacity="0.55"/>
<rect x="399.5" y="472.3" width="9" height="45.3" fill="#c00" opacity="0.55"/>
<rect x="414.5" y="474.8" width="9" height="42.8" fill="#188a3e" opacity="0.55"/>
<rect x="429.5" y="476.4" width="9" height="41.2" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="478.1" width="9" height="39.5" fill="#188a3e" opacity="0.55"/>
<rect x="459.5" y="479.7" width="9" height="37.9" fill="#188a3e" opacity="0.55"/>
<rect x="474.5" y="481.4" width="9" height="36.2" fill="#188a3e" opacity="0.55"/>
<text x="24" y="441.6" fill="#555">volum</text>
<text x="314.0" y="435.6" fill="#c00" text-anchor="middle" style="font-weight:bold">minim 589.80 — divergență (M)</text>
<text x="329.0" y="322.4" fill="#188a3e" text-anchor="middle" style="font-weight:bold">intrare 590.20</text>
<text x="479.0" y="255.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">ieșire trail 592.40</text>
<text x="24" y="560.0" fill="#555">Legendă: entry/SL/TP/trail sunt exemplul construit al autorului sumarului,</text>
<text x="24" y="577.0" fill="#555">nu citate din curs (transcrierea se întrerupe înainte de planul numeric).</text>
</svg>
Graficul întreg al trade-ului: downtrend cu candele mixte → al doilea picior
mai jos, la 589.80 sub suportul/pivotul 590.00 → divergență bull (M) → Buy
@@ -179,7 +287,42 @@ Filtrul fundamental e **NEACOPERIT ÎN MATERIAL** pentru MDSRT.
7. **Abia apoi aștepți trigger-ul** (A). Divergența singură nu e intrare
(`05_MODUL_4/02_strategia_5_mdsrt.md:27-32`).
<!-- DIAGRAMA: masurare -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 620" width="700" height="620" role="img" aria-label="Cum se masoara divergenta: pretul face un lower low (L2 sub L1), indicatorul face un higher low (I2 peste I1); intre L1 si L2 trebuie minim 5 candele si cel mult 60 in spate, iar un low la 2-3 candele nu conteaza">
<g font-family="system-ui, sans-serif">
<rect x="0" y="0" width="700" height="620" fill="#ffffff"/>
<text x="350.0" y="34.0" font-size="19" font-weight="700" fill="#000000" text-anchor="middle">Divergența: cum o măsori corect</text>
<text x="350.0" y="58.0" font-size="13" font-weight="400" fill="#777777" text-anchor="middle">Aceeași structură pe preț și pe indicator: două swing low-uri, două minime</text>
<rect x="40.0" y="76.0" width="620.0" height="250.0" rx="8" fill="#ffffff" stroke="#777777" stroke-width="1.2"/>
<text x="56.0" y="96.0" font-size="14" font-weight="700" fill="#000000" text-anchor="start">PREȚ (schematic) — downtrend, lower low</text>
<line x1="60.0" y1="134.0" x2="480.0" y2="134.0" stroke="#000000" stroke-width="1.4"/>
<line x1="60.0" y1="127.0" x2="60.0" y2="141.0" stroke="#000000" stroke-width="1.4"/>
<line x1="480.0" y1="127.0" x2="480.0" y2="141.0" stroke="#000000" stroke-width="1.4"/>
<text x="270.0" y="122.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">maxim 60 de candele în spate</text>
<polyline points="60.0,158.0 102.0,178.0 144.0,166.0 186.0,192.0 228.0,180.0 270.0,206.0 312.0,194.0 354.0,218.0 396.0,232.0 438.0,252.0 459.0,226.0 480.0,278.0 489.1,248.0 497.5,272.0 515.0,250.0" fill="none" stroke="#000000" stroke-width="1.8" stroke-linejoin="round"/>
<circle cx="438.0" cy="252.0" r="3.6" fill="#000000"/>
<circle cx="480.0" cy="278.0" r="3.6" fill="#000000"/>
<circle cx="497.5" cy="272.0" r="3.6" fill="#000000"/>
<text x="428.0" y="258.0" font-size="13" font-weight="700" fill="#000000" text-anchor="end">L1</text>
<text x="468.0" y="286.0" font-size="13" font-weight="700" fill="#000000" text-anchor="end">L2</text>
<line x1="438.0" y1="300.0" x2="480.0" y2="300.0" stroke="#000000" stroke-width="1.4"/>
<line x1="438.0" y1="293.0" x2="438.0" y2="307.0" stroke="#000000" stroke-width="1.4"/>
<line x1="480.0" y1="293.0" x2="480.0" y2="307.0" stroke="#000000" stroke-width="1.4"/>
<text x="459.0" y="318.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">minim 5 candele între puncte</text>
<line x1="487.5" y1="262.0" x2="507.5" y2="282.0" stroke="#c00" stroke-width="2.0"/>
<line x1="487.5" y1="282.0" x2="507.5" y2="262.0" stroke="#c00" stroke-width="2.0"/>
<text x="497.5" y="234.0" font-size="14" font-weight="700" fill="#c00" text-anchor="middle">NU</text>
<text x="525.0" y="246.0" font-size="13" font-weight="700" fill="#c00" text-anchor="start">2-3 candele</text>
<text x="525.0" y="266.0" font-size="13" font-weight="700" fill="#c00" text-anchor="start">NU e divergență</text>
<rect x="40.0" y="344.0" width="620.0" height="200.0" rx="8" fill="#ffffff" stroke="#777777" stroke-width="1.2"/>
<text x="56.0" y="364.0" font-size="14" font-weight="700" fill="#1a5fb4" text-anchor="start">INDICATOR (Power / volum / RS) — higher low</text>
<polyline points="60.0,400.0 102.0,424.0 144.0,410.0 186.0,436.0 228.0,422.0 270.0,448.0 312.0,434.0 354.0,458.0 396.0,466.0 438.0,486.0 459.0,458.0 480.0,468.0 515.0,440.0" fill="none" stroke="#1a5fb4" stroke-width="1.8" stroke-linejoin="round"/>
<circle cx="438.0" cy="486.0" r="3.6" fill="#1a5fb4"/>
<circle cx="480.0" cy="468.0" r="3.6" fill="#1a5fb4"/>
<text x="428.0" y="492.0" font-size="13" font-weight="700" fill="#1a5fb4" text-anchor="end">I1</text>
<text x="490.0" y="474.0" font-size="13" font-weight="700" fill="#1a5fb4" text-anchor="start">I2</text>
<text x="350.0" y="570.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">Prețul face un lower low (L2 sub L1), indicatorul face un higher low (I2 peste I1):</text>
<text x="350.0" y="590.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">divergență bull. Dar dacă al doilea punct e la doar 2-3 candele, nu se numără.</text>
</g></svg>
### 1.3 Trigger
@@ -282,7 +425,36 @@ confirmat" numără **surse distincte** din fișă, nu loturi de triaj.
| 7 | **Nu intri pe breakout, intri pe pullback** | Aceeași țintă cu risc mult mai mic (risc 2.50 → 5R vs. risc 9.50 → 0.6R) | **1 sursă** (Q&A, dar argument explicit) | `09_QA/15_2025-10-14.md:125-127` |
| 8 | **Primele semnale sunt cele bune statistic** | Al doilea semnal e permis, dar primul are statistica mai bună | **1 sursă** | `09_QA/01_2026-08-25.md:272-275` |
<!-- DIAGRAMA: trinity -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 700 550" width="700" height="550" font-family="system-ui, sans-serif" role="img" aria-label="MDSRT: minimul obligatoriu este Power (obligatoriu) plus Volume sau Relative Strength; varianta Trinity are toți trei indicatori în divergență simultan, pe aceeași zonă de preț">
<rect x="0" y="0" width="700" height="550" fill="#ffffff"/>
<rect x="40" y="112" width="250" height="56" fill="#188a3e" stroke="#188a3e" stroke-width="1.5"/>
<rect x="310" y="112" width="350" height="56" fill="#ffffff" stroke="#188a3e" stroke-width="2" stroke-dasharray="5 3"/>
<rect x="30" y="262" width="200" height="76" fill="#188a3e" stroke="#188a3e" stroke-width="1.5"/>
<rect x="250" y="262" width="200" height="76" fill="#188a3e" stroke="#188a3e" stroke-width="1.5"/>
<rect x="470" y="262" width="200" height="76" fill="#188a3e" stroke="#188a3e" stroke-width="1.5"/>
<line x1="40" y1="420" x2="660" y2="420" stroke="#777777" stroke-width="1"/>
<text x="350.0" y="34.0" font-size="20" font-weight="bold" fill="#000000" text-anchor="middle">MDSRT — minimul obligatoriu vs. Trinity</text>
<text x="350.0" y="58.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Minim Power + unul din ceilalți e obligatoriu; toți trei în divergență = Trinity.</text>
<text x="350.0" y="100.0" font-size="16" font-weight="bold" fill="#000000" text-anchor="middle">Minimul obligatoriu (M complet)</text>
<text x="165.0" y="143.0" font-size="15" font-weight="bold" fill="#ffffff" text-anchor="middle">Power (obligatoriu)</text>
<text x="485.0" y="134.0" font-size="14" font-weight="normal" fill="#188a3e" text-anchor="middle">Volume SAU Relative Strength</text>
<text x="485.0" y="156.0" font-size="13" font-weight="normal" fill="#188a3e" text-anchor="middle">— oricare una</text>
<text x="350.0" y="196.0" font-size="14" font-weight="bold" fill="#c00" text-anchor="middle">Power lipsește → setup-ul NU se califică</text>
<text x="350.0" y="250.0" font-size="16" font-weight="bold" fill="#000000" text-anchor="middle">Trinity (opțional, semnal mai puternic)</text>
<text x="130.0" y="296.0" font-size="14" font-weight="bold" fill="#ffffff" text-anchor="middle">Power (obligatoriu)</text>
<text x="130.0" y="318.0" font-size="14" font-weight="bold" fill="#ffffff" text-anchor="middle">divergență</text>
<text x="350.0" y="296.0" font-size="14" font-weight="bold" fill="#ffffff" text-anchor="middle">Volume</text>
<text x="350.0" y="318.0" font-size="14" font-weight="bold" fill="#ffffff" text-anchor="middle">divergență</text>
<text x="570.0" y="296.0" font-size="14" font-weight="bold" fill="#ffffff" text-anchor="middle">Relative Strength</text>
<text x="570.0" y="318.0" font-size="14" font-weight="bold" fill="#ffffff" text-anchor="middle">divergență</text>
<text x="350.0" y="360.0" font-size="14" font-weight="normal" fill="#000000" text-anchor="middle">toți trei în divergență simultan, pe aceeași zonă de preț</text>
<text x="350.0" y="386.0" font-size="14" font-weight="bold" fill="#188a3e" text-anchor="middle">comparat în curs cu un «setup de 5 stele»</text>
<text x="350.0" y="448.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">La MDSRT, „Trinity” se folosește local cu sensul „toți trei în divergență”.</text>
<text x="350.0" y="468.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Lecția de selecție dă aceluiași cuvânt alt sens:</text>
<text x="350.0" y="486.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">aliniere în cadranul 1, nu divergență (contradicția 2.4).</text>
<text x="350.0" y="512.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">Sursa: 05_MODUL_4/02_strategia_5_mdsrt.md:6-8, 34-42, 59-61, 85-88;</text>
<text x="350.0" y="530.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">08_ANALIZA_ZILNICA/11_selectia_simbolului.md:612-627.</text>
</svg>
### 2.2 Setup A+ vs. setup mediocru
@@ -362,7 +534,119 @@ Nu aleg eu între variante. Pentru fiecare: ce spune fiecare sursă și ce
(`09_QA/24_2025-07-15.md:12-14, 26-29, 121-128`). Singurul exemplu real, cu
niveluri citite din transcriere.
<!-- DIAGRAMA: exemplu -->
<svg viewBox="0 0 640 603" 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">SPY — 5 min (Q&amp;A 15.07.2025; intrare/SL/TP construite)</text>
<line x1="24" y1="373.4" x2="626" y2="373.4" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="367.4" fill="#b06000">pivot daily 622.00</text>
<line x1="24" y1="416.8" x2="626" y2="416.8" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="410.8" fill="#c00">SL 621.30 (construit)</text>
<line x1="24" y1="336.2" x2="626" y2="336.2" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="330.2" fill="#188a3e">intrare 622.60 (construit)</text>
<line x1="24" y1="255.6" x2="626" y2="255.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="249.6" fill="#188a3e">TP1 623.90 = 1:1 (construit)</text>
<line x1="24" y1="348.6" x2="626" y2="348.6" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="612" y="342.6" fill="#1a5fb4" text-anchor="end">picior 1 = 622.40</text>
<polyline points="329.0,253.2 344.0,264.3 359.0,272.1 374.0,279.8 389.0,286.0 404.0,289.1 419.0,289.1 434.0,286.6 449.0,281.1 464.0,274.5 479.0,265.6" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="485" y="260" fill="#b06000">SMA-20</text>
<line x1="44.0" y1="57.2" x2="44.0" y2="69.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.5" y="63.4" width="9" height="1.6" fill="#188a3e"/>
<line x1="59.0" y1="56.0" x2="59.0" y2="109.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="54.5" y="63.4" width="9" height="37.2" fill="#c00"/>
<line x1="74.0" y1="72.7" x2="74.0" y2="108.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="69.5" y="82.0" width="9" height="18.6" fill="#188a3e"/>
<line x1="89.0" y1="70.9" x2="89.0" y2="134.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="84.5" y="82.0" width="9" height="43.4" fill="#c00"/>
<line x1="104.0" y1="113.0" x2="104.0" y2="172.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="99.5" y="125.4" width="9" height="37.2" fill="#c00"/>
<line x1="119.0" y1="151.5" x2="119.0" y2="208.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="114.5" y="162.6" width="9" height="37.2" fill="#c00"/>
<line x1="134.0" y1="189.9" x2="134.0" y2="232.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="129.5" y="199.8" width="9" height="24.8" fill="#c00"/>
<line x1="149.0" y1="215.3" x2="149.0" y2="269.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="144.5" y="224.6" width="9" height="37.2" fill="#c00"/>
<line x1="164.0" y1="253.2" x2="164.0" y2="306.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="159.5" y="261.8" width="9" height="37.2" fill="#c00"/>
<line x1="179.0" y1="291.6" x2="179.0" y2="330.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="174.5" y="299.0" width="9" height="24.8" fill="#c00"/>
<line x1="194.0" y1="314.5" x2="194.0" y2="351.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="189.5" y="323.8" width="9" height="24.8" fill="#c00"/>
<line x1="209.0" y1="322.6" x2="209.0" y2="356.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="330.0" width="9" height="18.6" fill="#188a3e"/>
<line x1="224.0" y1="295.9" x2="224.0" y2="338.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.5" y="305.2" width="9" height="24.8" fill="#188a3e"/>
<line x1="239.0" y1="269.3" x2="239.0" y2="314.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="234.5" y="280.4" width="9" height="24.8" fill="#188a3e"/>
<line x1="254.0" y1="270.5" x2="254.0" y2="307.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="249.5" y="280.4" width="9" height="18.6" fill="#c00"/>
<line x1="269.0" y1="290.4" x2="269.0" y2="325.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="264.5" y="299.0" width="9" height="18.6" fill="#c00"/>
<line x1="284.0" y1="310.2" x2="284.0" y2="342.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="279.5" y="317.6" width="9" height="18.6" fill="#c00"/>
<line x1="299.0" y1="330.0" x2="299.0" y2="362.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="294.5" y="336.2" width="9" height="18.6" fill="#c00"/>
<line x1="314.0" y1="330.0" x2="314.0" y2="410.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="309.5" y="336.2" width="9" height="18.6" fill="#188a3e"/>
<line x1="329.0" y1="304.0" x2="329.0" y2="343.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="324.5" y="311.4" width="9" height="24.8" fill="#188a3e"/>
<line x1="344.0" y1="278.0" x2="344.0" y2="318.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="339.5" y="286.6" width="9" height="24.8" fill="#188a3e"/>
<line x1="359.0" y1="246.3" x2="359.0" y2="294.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="354.5" y="255.6" width="9" height="31.0" fill="#188a3e"/>
<line x1="374.0" y1="227.1" x2="374.0" y2="264.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="369.5" y="237.0" width="9" height="18.6" fill="#188a3e"/>
<line x1="389.0" y1="228.4" x2="389.0" y2="256.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="384.5" y="237.0" width="9" height="12.4" fill="#c00"/>
<line x1="404.0" y1="215.3" x2="404.0" y2="257.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="399.5" y="224.6" width="9" height="24.8" fill="#188a3e"/>
<line x1="419.0" y1="189.9" x2="419.0" y2="233.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="414.5" y="199.8" width="9" height="24.8" fill="#188a3e"/>
<line x1="434.0" y1="164.5" x2="434.0" y2="208.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="429.5" y="175.0" width="9" height="24.8" fill="#188a3e"/>
<line x1="449.0" y1="139.1" x2="449.0" y2="184.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="444.5" y="150.2" width="9" height="24.8" fill="#188a3e"/>
<line x1="464.0" y1="141.6" x2="464.0" y2="176.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.5" y="150.2" width="9" height="18.6" fill="#c00"/>
<line x1="479.0" y1="134.7" x2="479.0" y2="176.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="474.5" y="144.0" width="9" height="24.8" fill="#188a3e"/>
<line x1="24" y1="512.8" x2="626" y2="512.8" stroke="#888"/>
<rect x="39.5" y="472.2" width="9" height="40.6" fill="#188a3e" opacity="0.55"/>
<rect x="54.5" y="473.6" width="9" height="39.2" fill="#c00" opacity="0.55"/>
<rect x="69.5" y="475.0" width="9" height="37.8" fill="#188a3e" opacity="0.55"/>
<rect x="84.5" y="476.4" width="9" height="36.4" fill="#c00" opacity="0.55"/>
<rect x="99.5" y="477.8" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="114.5" y="478.5" width="9" height="34.3" fill="#c00" opacity="0.55"/>
<rect x="129.5" y="479.2" width="9" height="33.6" fill="#c00" opacity="0.55"/>
<rect x="144.5" y="479.9" width="9" height="32.9" fill="#c00" opacity="0.55"/>
<rect x="159.5" y="480.6" width="9" height="32.2" fill="#c00" opacity="0.55"/>
<rect x="174.5" y="481.3" width="9" height="31.5" fill="#c00" opacity="0.55"/>
<rect x="189.5" y="482.0" width="9" height="30.8" fill="#c00" opacity="0.55"/>
<rect x="204.5" y="482.7" width="9" height="30.1" fill="#188a3e" opacity="0.55"/>
<rect x="219.5" y="483.4" width="9" height="29.4" fill="#188a3e" opacity="0.55"/>
<rect x="234.5" y="484.1" width="9" height="28.7" fill="#188a3e" opacity="0.55"/>
<rect x="249.5" y="484.8" width="9" height="28.0" fill="#c00" opacity="0.55"/>
<rect x="264.5" y="485.5" width="9" height="27.3" fill="#c00" opacity="0.55"/>
<rect x="279.5" y="486.2" width="9" height="26.6" fill="#c00" opacity="0.55"/>
<rect x="294.5" y="485.5" width="9" height="27.3" fill="#c00" opacity="0.55"/>
<rect x="309.5" y="442.8" width="9" height="70.0" fill="#188a3e" opacity="0.55"/>
<rect x="324.5" y="469.4" width="9" height="43.4" fill="#188a3e" opacity="0.55"/>
<rect x="339.5" y="472.2" width="9" height="40.6" fill="#188a3e" opacity="0.55"/>
<rect x="354.5" y="475.0" width="9" height="37.8" fill="#188a3e" opacity="0.55"/>
<rect x="369.5" y="476.4" width="9" height="36.4" fill="#188a3e" opacity="0.55"/>
<rect x="384.5" y="477.8" width="9" height="35.0" fill="#c00" opacity="0.55"/>
<rect x="399.5" y="478.5" width="9" height="34.3" fill="#188a3e" opacity="0.55"/>
<rect x="414.5" y="479.2" width="9" height="33.6" fill="#188a3e" opacity="0.55"/>
<rect x="429.5" y="479.9" width="9" height="32.9" fill="#188a3e" opacity="0.55"/>
<rect x="444.5" y="480.6" width="9" height="32.2" fill="#188a3e" opacity="0.55"/>
<rect x="459.5" y="481.3" width="9" height="31.5" fill="#c00" opacity="0.55"/>
<rect x="474.5" y="482.0" width="9" height="30.8" fill="#188a3e" opacity="0.55"/>
<text x="24" y="436.8" fill="#555">volum</text>
<text x="194.0" y="386.7" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">picior 1 = 622.40</text>
<text x="314.0" y="430.6" fill="#c00" text-anchor="middle" style="font-weight:bold">picior 2 = 621.40 (mai jos) · Buy Hammer</text>
<text x="314.0" y="300.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">hammer închide 622.60, înapoi peste pivot</text>
<text x="24" y="555.0" fill="#555">Legendă: nivelurile 622.40 / 622.00 / 621.40 / 622.60 și cele 8 candele dintre</text>
<text x="24" y="572.0" fill="#555">picioare sunt reale, din curs. Intrarea 622.60, SL-ul 621.30 și TP-ul 623.90</text>
<text x="24" y="589.0" fill="#555">sunt construcția mea — materialul nu le dă.</text>
</svg>
Ce e **real, din curs**:

View File

@@ -91,7 +91,101 @@ backtesting-urile, nu am găsit nimic pe TICSP. Și atunci folosesc TICUS-ul.",
### Diagrama de ansamblu
<!-- DIAGRAMA: ansamblu -->
<svg viewBox="0 0 700 715" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<line x1="24" y1="381.0" x2="686" y2="381.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="375.0" fill="#1a5fb4">623.90 — bandă inferioară</text>
<line x1="24" y1="261.0" x2="686" y2="261.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="255.0" fill="#1a5fb4" text-anchor="end">624.70 — bandă superioară</text>
<line x1="24" y1="321.0" x2="686" y2="321.0" stroke="#777" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="315.0" fill="#777">624.30 — SMA20 / TP1</text>
<line x1="24" y1="426.0" x2="686" y2="426.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="420.0" fill="#c00">SL 623.60 (lowest low, 4 candele)</text>
<line x1="24" y1="373.5" x2="686" y2="373.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="672" y="367.5" fill="#188a3e" text-anchor="end">trigger Buy Momentum → intrare 623.95</text>
<line x1="24" y1="163.5" x2="686" y2="163.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="2 3"/>
<text x="672" y="157.5" fill="#188a3e" text-anchor="end">ieșire ilustrativă ~625.35 (≈ 1:4)</text>
<line x1="48.0" y1="96.0" x2="48.0" y2="153.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="43.0" y="103.5" width="10" height="22.5" fill="#c00"/>
<line x1="64.0" y1="99.0" x2="64.0" y2="180.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="59.0" y="126.0" width="10" height="27.0" fill="#c00"/>
<line x1="80.0" y1="106.5" x2="80.0" y2="180.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="75.0" y="133.5" width="10" height="19.5" fill="#188a3e"/>
<line x1="96.0" y1="106.5" x2="96.0" y2="201.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="91.0" y="133.5" width="10" height="40.5" fill="#c00"/>
<line x1="112.0" y1="147.0" x2="112.0" y2="235.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="107.0" y="174.0" width="10" height="34.5" fill="#c00"/>
<line x1="128.0" y1="171.0" x2="128.0" y2="235.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="123.0" y="198.0" width="10" height="10.5" fill="#188a3e"/>
<line x1="144.0" y1="171.0" x2="144.0" y2="261.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="139.0" y="198.0" width="10" height="36.0" fill="#c00"/>
<line x1="160.0" y1="207.0" x2="160.0" y2="295.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="155.0" y="234.0" width="10" height="34.5" fill="#c00"/>
<line x1="176.0" y1="231.0" x2="176.0" y2="295.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="171.0" y="258.0" width="10" height="10.5" fill="#188a3e"/>
<line x1="192.0" y1="231.0" x2="192.0" y2="318.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="187.0" y="258.0" width="10" height="33.0" fill="#c00"/>
<line x1="208.0" y1="264.0" x2="208.0" y2="340.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="203.0" y="291.0" width="10" height="22.5" fill="#c00"/>
<line x1="224.0" y1="286.5" x2="224.0" y2="373.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="219.0" y="313.5" width="10" height="7.5" fill="#c00"/>
<line x1="240.0" y1="294.0" x2="240.0" y2="396.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="235.0" y="321.0" width="10" height="30.0" fill="#c00"/>
<line x1="256.0" y1="328.5" x2="256.0" y2="408.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="251.0" y="343.5" width="10" height="7.5" fill="#188a3e"/>
<line x1="272.0" y1="336.0" x2="272.0" y2="426.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="267.0" y="343.5" width="10" height="42.0" fill="#c00"/>
<line x1="288.0" y1="366.0" x2="288.0" y2="403.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="283.0" y="373.5" width="10" height="12.0" fill="#188a3e"/>
<line x1="304.0" y1="358.5" x2="304.0" y2="391.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="299.0" y="366.0" width="10" height="7.5" fill="#188a3e"/>
<line x1="320.0" y1="346.5" x2="320.0" y2="384.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="315.0" y="354.0" width="10" height="12.0" fill="#188a3e"/>
<line x1="336.0" y1="334.5" x2="336.0" y2="372.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="331.0" y="342.0" width="10" height="12.0" fill="#188a3e"/>
<line x1="352.0" y1="321.0" x2="352.0" y2="360.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="347.0" y="321.0" width="10" height="21.0" fill="#188a3e"/>
<line x1="368.0" y1="298.5" x2="368.0" y2="339.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="363.0" y="306.0" width="10" height="15.0" fill="#188a3e"/>
<line x1="384.0" y1="283.5" x2="384.0" y2="324.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="379.0" y="291.0" width="10" height="15.0" fill="#188a3e"/>
<line x1="400.0" y1="268.5" x2="400.0" y2="309.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="395.0" y="276.0" width="10" height="15.0" fill="#188a3e"/>
<line x1="416.0" y1="253.5" x2="416.0" y2="294.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="411.0" y="261.0" width="10" height="15.0" fill="#188a3e"/>
<line x1="432.0" y1="235.5" x2="432.0" y2="279.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="427.0" y="243.0" width="10" height="18.0" fill="#188a3e"/>
<line x1="448.0" y1="216.0" x2="448.0" y2="261.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="443.0" y="223.5" width="10" height="19.5" fill="#188a3e"/>
<line x1="464.0" y1="196.5" x2="464.0" y2="241.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="459.0" y="204.0" width="10" height="19.5" fill="#188a3e"/>
<line x1="480.0" y1="178.5" x2="480.0" y2="222.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="475.0" y="186.0" width="10" height="18.0" fill="#188a3e"/>
<line x1="496.0" y1="166.5" x2="496.0" y2="204.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="491.0" y="174.0" width="10" height="12.0" fill="#188a3e"/>
<line x1="512.0" y1="163.5" x2="512.0" y2="192.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="507.0" y="163.5" width="10" height="10.5" fill="#188a3e"/>
<text x="272.0" y="440.0" fill="#c00" text-anchor="middle" style="font-weight:bold">M: roșie, close 623.87 sub bandă</text>
<text x="24" y="26" fill="#333" style="font-weight:bold">SPY — 15 min: bandă + TICUS pe aceeași candelă → trigger → intrare → SL → TP1 → trail</text>
<text x="24" y="64" fill="#999">trend descendent anterior (14 bare)</text>
<line x1="272.0" y1="452.0" x2="272.0" y2="613.5" stroke="#aaa" stroke-width="1" stroke-dasharray="3 3"/>
<text x="24" y="486" fill="#333">TICUS — presiunea pieței (↑ = peste 0)</text>
<line x1="24" y1="506.0" x2="686" y2="506.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="28" y="502.0" fill="#c00">+1000 — supracumpărare</text>
<line x1="24" y1="531.0" x2="686" y2="531.0" stroke="#caa000" stroke-width="1" stroke-dasharray="2 2"/>
<text x="28" y="527.0" fill="#caa000">+500 (doar referință vizuală)</text>
<line x1="24" y1="556.0" x2="686" y2="556.0" stroke="#888" stroke-width="1.5"/>
<text x="688" y="560.0" fill="#666" text-anchor="end">0</text>
<line x1="24" y1="581.0" x2="686" y2="581.0" stroke="#caa000" stroke-width="1" stroke-dasharray="2 2"/>
<text x="28" y="594.0" fill="#caa000">-500 (doar referință vizuală)</text>
<line x1="24" y1="606.0" x2="686" y2="606.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="28" y="619.0" fill="#188a3e">-1000 — oversold</text>
<rect x="267.0" y="556.0" width="10" height="57.5" fill="#c00"/>
<text x="282.0" y="617.5" fill="#c00">M: TICUS -1150 (sub -1000)</text>
<text x="24" y="650.0" fill="#555">SPY 15 min. Cifre din curs: M close 623.87 (sub bandă 623.90), TICUS -1150 pe aceeași candelă,</text>
<text x="24" y="667.0" fill="#555">trigger Buy Momentum → entry 623.95, SL 623.60 (lowest low din 4 candele, trigger inclus),</text>
<text x="24" y="684.0" fill="#555">TP1 624.30 (+0.35, 1:1). Ieșirea ~625.35 = entry + 4R (≈1:4) e ilustrativă — preț derivat din R,</text>
<text x="24" y="701.0" fill="#555">nu din curs. Structura candelelor (30 bare continue) e construită de mine.</text>
</svg>
Graficul întreg al trade-ului din exemplul long al cursului: downtrend, candela
„M" roșie care închide la **623.87** sub banda inferioară **623.90**, TICUS
@@ -205,7 +299,84 @@ iar trigger-ul fin poate veni din **M2D 15/80 secunde**
| **NU — prea devreme** | M e îndeplinit, dar candelele următoare rămân roșii/plate, fără buy momentum/doji/hammer → **nu intri** | close **623.85**, TICUS **-1200** pe candelă (condiție OK), apoi fără trigger (`05_MODUL_4/03_strategia_6_mbp_mbappe.md:351-420`) |
| **NU — invalidat** | Banda și TICUS **nu sunt pe aceeași candelă** (TICUS extrem pe o candelă vecină) → M neîndeplinit | diagramele DA/NU din `05_MODUL_4/03_strategia_6_mbp_mbappe.md:179-221` |
<!-- DIAGRAMA: samecandle -->
<svg viewBox="0 0 780 594" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font-family:system-ui,sans-serif;font-size:13px">
<svg x="8" y="48" width="380" height="414" viewBox="0 0 380 414"> <line x1="24" y1="181.1" x2="366" y2="181.1" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="352" y="175.1" fill="#1a5fb4" text-anchor="end">bandă 623.90</text>
<line x1="44.0" y1="34.0" x2="44.0" y2="64.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.0" y="40.8" width="10" height="17.0" fill="#c00"/>
<line x1="60.0" y1="49.3" x2="60.0" y2="87.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="55.0" y="57.8" width="10" height="21.2" fill="#c00"/>
<line x1="76.0" y1="72.2" x2="76.0" y2="104.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="71.0" y="79.0" width="10" height="17.0" fill="#c00"/>
<line x1="92.0" y1="87.5" x2="92.0" y2="125.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="87.0" y="96.1" width="10" height="21.2" fill="#c00"/>
<line x1="108.0" y1="110.5" x2="108.0" y2="157.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="103.0" y="117.3" width="10" height="29.8" fill="#c00"/>
<line x1="124.0" y1="142.0" x2="124.0" y2="192.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="119.0" y="147.1" width="10" height="36.5" fill="#c00"/>
<line x1="140.0" y1="169.2" x2="140.0" y2="188.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="135.0" y="174.2" width="10" height="9.4" fill="#188a3e"/>
<line x1="156.0" y1="155.5" x2="156.0" y2="179.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="151.0" y="162.3" width="10" height="11.9" fill="#188a3e"/>
<line x1="172.0" y1="143.7" x2="172.0" y2="167.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="167.0" y="148.8" width="10" height="13.6" fill="#188a3e"/>
<line x1="188.0" y1="127.5" x2="188.0" y2="153.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="183.0" y="134.3" width="10" height="14.5" fill="#188a3e"/>
<line x1="124.0" y1="192.1" x2="124.0" y2="368.6" stroke="#aaa" stroke-width="1" stroke-dasharray="3 3"/>
<text x="14" y="248" fill="#333" style="font-weight:bold">TICUS</text>
<line x1="24" y1="274.0" x2="366" y2="274.0" stroke="#c00" stroke-width="1" stroke-dasharray="4 3"/><text x="26" y="269.0" fill="#c00">+1000 (prag)</text>
<line x1="24" y1="296.0" x2="366" y2="296.0" stroke="#caa000" stroke-width="1" stroke-dasharray="2 2"/><text x="26" y="291.0" fill="#caa000">+500</text>
<line x1="24" y1="318.0" x2="366" y2="318.0" stroke="#888" stroke-width="1"/><text x="26" y="322.0" fill="#888">0</text>
<line x1="24" y1="340.0" x2="366" y2="340.0" stroke="#caa000" stroke-width="1" stroke-dasharray="2 2"/><text x="26" y="353.0" fill="#caa000">-500</text>
<line x1="24" y1="362.0" x2="366" y2="362.0" stroke="#188a3e" stroke-width="1" stroke-dasharray="4 3"/><text x="26" y="375.0" fill="#188a3e">-1000 (prag)</text>
<rect x="119.0" y="318.0" width="10" height="50.6" fill="#c00"/>
<text x="140.0" y="386.6" fill="#c00">M: TICUS -1150 (sub -1000)</text>
<text x="124.0" y="210.1" fill="#c00" text-anchor="middle" style="font-weight:bold">M: close 623.87 &lt; bandă 623.90</text></svg>
<svg x="396" y="48" width="380" height="414" viewBox="0 0 380 414"> <line x1="24" y1="181.1" x2="366" y2="181.1" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="352" y="175.1" fill="#1a5fb4" text-anchor="end">bandă 623.90</text>
<line x1="44.0" y1="34.0" x2="44.0" y2="64.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="39.0" y="40.8" width="10" height="17.0" fill="#c00"/>
<line x1="60.0" y1="49.3" x2="60.0" y2="87.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="55.0" y="57.8" width="10" height="21.2" fill="#c00"/>
<line x1="76.0" y1="72.2" x2="76.0" y2="104.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="71.0" y="79.0" width="10" height="17.0" fill="#c00"/>
<line x1="92.0" y1="87.5" x2="92.0" y2="125.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="87.0" y="96.1" width="10" height="21.2" fill="#c00"/>
<line x1="108.0" y1="110.5" x2="108.0" y2="157.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="103.0" y="117.3" width="10" height="29.8" fill="#c00"/>
<line x1="124.0" y1="142.0" x2="124.0" y2="192.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="119.0" y="147.1" width="10" height="36.5" fill="#c00"/>
<line x1="140.0" y1="169.2" x2="140.0" y2="188.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="135.0" y="174.2" width="10" height="9.4" fill="#188a3e"/>
<line x1="156.0" y1="155.5" x2="156.0" y2="179.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="151.0" y="162.3" width="10" height="11.9" fill="#188a3e"/>
<line x1="172.0" y1="143.7" x2="172.0" y2="167.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="167.0" y="148.8" width="10" height="13.6" fill="#188a3e"/>
<line x1="188.0" y1="127.5" x2="188.0" y2="153.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="183.0" y="134.3" width="10" height="14.5" fill="#188a3e"/>
<line x1="108.0" y1="157.3" x2="108.0" y2="370.8" stroke="#aaa" stroke-width="1" stroke-dasharray="3 3"/>
<line x1="124.0" y1="192.1" x2="124.0" y2="344.4" stroke="#aaa" stroke-width="1" stroke-dasharray="3 3"/>
<text x="14" y="248" fill="#333" style="font-weight:bold">TICUS</text>
<line x1="24" y1="274.0" x2="366" y2="274.0" stroke="#c00" stroke-width="1" stroke-dasharray="4 3"/><text x="26" y="269.0" fill="#c00">+1000 (prag)</text>
<line x1="24" y1="296.0" x2="366" y2="296.0" stroke="#caa000" stroke-width="1" stroke-dasharray="2 2"/><text x="26" y="291.0" fill="#caa000">+500</text>
<line x1="24" y1="318.0" x2="366" y2="318.0" stroke="#888" stroke-width="1"/><text x="26" y="322.0" fill="#888">0</text>
<line x1="24" y1="340.0" x2="366" y2="340.0" stroke="#caa000" stroke-width="1" stroke-dasharray="2 2"/><text x="26" y="353.0" fill="#caa000">-500</text>
<line x1="24" y1="362.0" x2="366" y2="362.0" stroke="#188a3e" stroke-width="1" stroke-dasharray="4 3"/><text x="26" y="375.0" fill="#188a3e">-1000 (prag)</text>
<rect x="103.0" y="318.0" width="10" height="52.8" fill="#c00"/>
<rect x="119.0" y="318.0" width="10" height="26.4" fill="#b06000"/>
<text x="140.0" y="390.8" fill="#c00">TICUS(m-1) = -1200 (extrem)</text>
<text x="140.0" y="364.4" fill="#b06000">TICUS(M) = -600 (nu atinge -1000)</text>
<text x="124.0" y="210.1" fill="#c00" text-anchor="middle" style="font-weight:bold">M: close 623.87 &lt; bandă 623.90</text></svg>
<text x="8" y="22" fill="#188a3e" style="font-weight:bold">DA — aceeași candelă, M îndeplinit</text>
<text x="396" y="16" fill="#c00" style="font-weight:bold">NU — TICUS extrem pe altă candelă,</text>
<text x="396" y="32" fill="#c00" style="font-weight:bold">M neîndeplinit</text>
<text x="8" y="484" fill="#555">Regula: banda (close sub 623.90) și TICUS ≤ -1000 trebuie pe ACEEAȘI candelă.</text>
<text x="8" y="501" fill="#555">Pragurile TICUS sunt ±1000 (overbought / oversold); ±500 sunt doar referință vizuală.</text>
<text x="8" y="518" fill="#555">Verificarea se face prin click pe candelă, nu din ochi — TICUS(M) se citește exact pe candela M.</text>
<text x="8" y="535" fill="#555">DA: TICUS(M) = -1150 (exemplul real din curs).</text>
<text x="8" y="552" fill="#555">NU: TICUS(M) = -600, TICUS(m-1) = -1200 — cifre construite de mine ca ilustrare.</text>
<text x="8" y="569" fill="#555">Structura candelelor (10 bare de 15 min, aceeași în ambele panouri) e construită de mine.</text>
</svg>
Regulă practică din curs: **nu te uita „din ochi"** dacă închiderea e dincolo de
bandă sau dacă TICUS a trecut pragul — click pe candelă și citește valoarea
@@ -471,7 +642,107 @@ Singurul exemplu cu toate nivelurile luate din fișierul principal:
**Short real, 25.11.2025** (`09_QA/11_2025-11-25.md:557-648`) — singurul trade
complet, cu rezultat, din material:
<!-- DIAGRAMA: exemplu -->
<svg viewBox="0 0 660 730" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<g transform="translate(0,0)">
<text x="24" y="48" fill="#333" style="font-weight:bold">SPY — 15 min: MBAP short 25.11.2025 (risc 0.41 % → ieșire 4.9R)</text>
<line x1="24" y1="56.0" x2="646" y2="56.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="632" y="50.0" fill="#c00" text-anchor="end">SL 662.71 (risc 0.41 %)</text>
<line x1="24" y1="110.2" x2="646" y2="110.2" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="104.2" fill="#188a3e">intrare short 660.00</text>
<line x1="24" y1="92.2" x2="646" y2="92.2" stroke="#777" stroke-width="1.5" stroke-dasharray="2 4"/>
<text x="30" y="86.2" fill="#777">bandă superioară (schematic)</text>
<line x1="24" y1="164.4" x2="646" y2="164.4" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="158.4" fill="#1a5fb4">TP1 657.29 (1:1)</text>
<line x1="24" y1="374.2" x2="646" y2="374.2" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="368.2" fill="#1a5fb4">ieșire trail 646.80 = 2 % = ~4.9R</text>
<polyline points="325.0,314.0 340.0,306.7 355.0,297.8 370.0,288.2 385.0,276.1 400.0,265.0 415.0,255.3 430.0,247.6 445.0,240.5 460.0,235.6 475.0,232.0 490.0,231.2 505.0,232.7" fill="none" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="511" y="227" fill="#b06000">SMA-20</text>
<line x1="40.0" y1="323.2" x2="40.0" y2="339.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="35.5" y="330.2" width="9" height="2.0" fill="#188a3e"/>
<line x1="55.0" y1="323.2" x2="55.0" y2="345.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="50.5" y="330.2" width="9" height="8.0" fill="#c00"/>
<line x1="70.0" y1="319.2" x2="70.0" y2="345.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="65.5" y="326.2" width="9" height="12.0" fill="#188a3e"/>
<line x1="85.0" y1="319.2" x2="85.0" y2="349.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="80.5" y="326.2" width="9" height="16.0" fill="#c00"/>
<line x1="100.0" y1="325.2" x2="100.0" y2="349.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="95.5" y="332.2" width="9" height="10.0" fill="#188a3e"/>
<line x1="115.0" y1="325.2" x2="115.0" y2="355.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="110.5" y="332.2" width="9" height="16.0" fill="#c00"/>
<line x1="130.0" y1="329.2" x2="130.0" y2="355.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="125.5" y="336.2" width="9" height="12.0" fill="#188a3e"/>
<line x1="145.0" y1="329.2" x2="145.0" y2="359.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="140.5" y="336.2" width="9" height="16.0" fill="#c00"/>
<line x1="160.0" y1="333.2" x2="160.0" y2="359.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="155.5" y="340.2" width="9" height="12.0" fill="#188a3e"/>
<line x1="175.0" y1="333.2" x2="175.0" y2="357.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="170.5" y="340.2" width="9" height="10.0" fill="#c00"/>
<line x1="190.0" y1="331.2" x2="190.0" y2="357.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="185.5" y="338.2" width="9" height="12.0" fill="#188a3e"/>
<line x1="205.0" y1="331.2" x2="205.0" y2="351.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="200.5" y="338.2" width="9" height="6.0" fill="#c00"/>
<line x1="220.0" y1="332.2" x2="220.0" y2="349.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="215.5" y="338.2" width="9" height="6.0" fill="#188a3e"/>
<line x1="235.0" y1="316.2" x2="235.0" y2="343.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="230.5" y="322.2" width="9" height="16.0" fill="#188a3e"/>
<line x1="250.0" y1="298.2" x2="250.0" y2="327.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="245.5" y="304.2" width="9" height="18.0" fill="#188a3e"/>
<line x1="265.0" y1="280.2" x2="265.0" y2="309.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="260.5" y="286.2" width="9" height="18.0" fill="#188a3e"/>
<line x1="280.0" y1="262.2" x2="280.0" y2="291.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="275.5" y="268.2" width="9" height="18.0" fill="#188a3e"/>
<line x1="295.0" y1="242.2" x2="295.0" y2="273.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="290.5" y="248.2" width="9" height="20.0" fill="#188a3e"/>
<line x1="310.0" y1="222.2" x2="310.0" y2="253.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="305.5" y="228.2" width="9" height="20.0" fill="#188a3e"/>
<line x1="325.0" y1="200.2" x2="325.0" y2="233.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="320.5" y="206.2" width="9" height="22.0" fill="#188a3e"/>
<line x1="340.0" y1="178.2" x2="340.0" y2="211.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="335.5" y="184.2" width="9" height="22.0" fill="#188a3e"/>
<line x1="355.0" y1="154.2" x2="355.0" y2="189.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="350.5" y="160.2" width="9" height="24.0" fill="#188a3e"/>
<line x1="370.0" y1="128.2" x2="370.0" y2="165.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="365.5" y="134.2" width="9" height="26.0" fill="#188a3e"/>
<line x1="385.0" y1="90.2" x2="385.0" y2="138.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="380.5" y="100.2" width="9" height="34.0" fill="#188a3e"/>
<line x1="400.0" y1="96.2" x2="400.0" y2="118.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="395.5" y="100.2" width="9" height="10.0" fill="#c00"/>
<line x1="415.0" y1="105.2" x2="415.0" y2="164.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="410.5" y="110.2" width="9" height="44.0" fill="#c00"/>
<line x1="430.0" y1="148.2" x2="430.0" y2="188.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="425.5" y="154.2" width="9" height="28.0" fill="#c00"/>
<line x1="445.0" y1="176.2" x2="445.0" y2="216.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="440.5" y="182.2" width="9" height="28.0" fill="#c00"/>
<line x1="460.0" y1="204.2" x2="460.0" y2="248.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="455.5" y="210.2" width="9" height="32.0" fill="#c00"/>
<line x1="475.0" y1="236.2" x2="475.0" y2="284.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="470.5" y="242.2" width="9" height="36.0" fill="#c00"/>
<line x1="490.0" y1="272.2" x2="490.0" y2="328.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="485.5" y="278.2" width="9" height="44.0" fill="#c00"/>
<line x1="505.0" y1="316.2" x2="505.0" y2="380.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="500.5" y="322.2" width="9" height="52.0" fill="#c00"/>
<text x="385.0" y="80.2" fill="#188a3e" text-anchor="middle" style="font-weight:bold">M: candelă verde peste bandă + TICUS ≥ +1000</text>
<text x="24" y="402.2" fill="#188a3e">M: valori exacte NEACOPERIT în material (bandă + TICUS); bara ~+1000 din panou e ilustrativă</text>
<text x="24" y="419.2" fill="#c00">trigger Sell Momentum → intrare short 660.00 (risc 0.41 % = 2.71)</text>
<text x="24" y="436.2" fill="#c00">TP1 657.29 (1:1) atins în prima candelă după intrare</text>
<text x="24" y="453.2" fill="#c00">ieșire pe trail 646.80 = 2 % = ~4.9R, după 7 candele de 15 min de la intrare</text>
</g>
<text x="24" y="516" fill="#333" style="font-weight:bold">Panou TICUS — linia 0 și pragul +1000 (ilustrativ)</text>
<line x1="24" y1="532.0" x2="646" y2="532.0" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 4"/>
<text x="632" y="527.0" fill="#b06000" text-anchor="end">+1000 (prag)</text>
<line x1="24" y1="584.0" x2="646" y2="584.0" stroke="#888"/>
<text x="24" y="579.0" fill="#555">0</text>
<rect x="380.5" y="514.0" width="9" height="70.0" fill="#188a3e" opacity="0.85"/>
<text x="385.0" y="509.0" fill="#777" text-anchor="middle">ilustrativ</text>
<text x="385.0" y="600.0" fill="#777" text-anchor="middle">candela M</text>
<text x="24" y="620.0" fill="#555">Legendă: procentele (risc 0.41 %, ieșire 2 %) sunt ale instructorului.</text>
<text x="24" y="636.0" fill="#555">Prețurile absolute (660.00 / 662.71 / 657.29 / 646.80) sunt construite de sumarizator —</text>
<text x="24" y="652.0" fill="#555">09_QA/11_2025-11-25.md:716-719.</text>
<text x="24" y="668.0" fill="#555">Structura de reținut: risc mic → TP1 (1:1) atins imediat → trail lung (7 candele de 15 min).</text>
<text x="24" y="684.0" fill="#555">Valoarea exactă a benzii și a TICUS la candela M nu e dată în sesiune; bara ~+1000 e ilustrativă.</text>
<text x="24" y="700.0" fill="#555">„Taurii urcă pe scări, urșii sar de la etaj" — de ce short-ul se consumă în ore.</text>
<text x="24" y="716.0" fill="#555">(09_QA/11_2025-11-25.md:643-648).</text>
</svg>
- Intrare short **660.00**, SL **662.71** (risc **0.41 %**), TP1 **657.29**
(1:1) atins în prima candelă; trail până la ieșirea la **646.80** = **2 % =