etichete: cele trei care mint, si doua bug-uri de infrastructura

Cele trei, toate verificate pe ecran dupa reparatie: "minimul din care a
pornit miscarea 99.80" intra sub o candela si se citea "99.8" (m2d_directie);
"2 saptamani" era acoperita de caseta de citat si se citea "2 saptaman"
(atmi_orizont); cele doua stopuri de la buy_doji_stop stateau la 12 px cu
liniile incrucisate peste etichete, iar diagrama e tocmai despre diferenta
dintre ele - acum fiecare sta la capatul propriei linii.

Doua bug-uri gasite pe drum, mai grave decat ce reparam:

1. render_html trecea SVG-urile prin markdown. In mp2_pivoti_excel cele doua
   asteriscuri din formulele Excel (=2*E2-C2) deveneau un <em> pus peste
   </text>, iar parserul browserului arunca restul SVG-ului: jumatate de tabel
   lipsea din pagina, fara niciun semn in .md sau in audit. Acum SVG-urile sunt
   scoase din calea lui markdown si puse inapoi dupa, cu assert ca nu ramane
   niciun marcaj.
2. eticheta_libera nu citea <g transform>, deci la diagramele cu panouri
   compara coordonate din sisteme diferite si rata suprapuneri reale. Acum
   aplatizeaza translate/scale pe <g>-uri imbricate. Prima diagrama pe care a
   prins-o dupa reparatie e chiar una deja comisa, din capitolul 10.

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-10-02 05:59:11 +00:00
parent 1b57878118
commit 29dc93dfad
15 changed files with 469 additions and 289 deletions

View File

@@ -12,6 +12,10 @@ Verificarea e opt-in, pe etichete numite: pe un grafic de candele aproape
orice text atinge ceva, iar o regulă globală ar bloca tot repo-ul. orice text atinge ceva, iar o regulă globală ar bloca tot repo-ul.
eticheta_libera(svg, "wedge_desc", {"baza = 4.00"}, rects=True) eticheta_libera(svg, "wedge_desc", {"baza = 4.00"}, rects=True)
Coordonatele se aplatizează înainte de comparație: la diagramele cu panouri
wrapper-ul e `<g transform="translate(0,h)">`, deci fără asta se comparau
coordonate din sisteme diferite și suprapunerile reale treceau nevăzute.
""" """
import re import re
@@ -19,15 +23,95 @@ CW = 6.2 # lățimea unui caracter bold de 11-12px
WICK = "#1a1a1a" # fitilele: desenul le traversează oricum, prin construcție WICK = "#1a1a1a" # fitilele: desenul le traversează oricum, prin construcție
# --- aplatizarea transformărilor -------------------------------------------
XA = ("x", "x1", "x2", "cx")
YA = ("y", "y1", "y2", "cy")
WA = ("width", "rx")
HA = ("height", "ry")
ID = (0.0, 0.0, 1.0, 1.0)
_ATTR = re.compile(r'([a-zA-Z][\w-]*)="(-?[\d.]+)"')
_TAG = re.compile(r'<(/?)([a-zA-Z]+)((?:"[^"]*"|[^>"])*)>')
def _ctm(attrs, base):
"""Transformarea cumulată: cea de pe `<g>` compusă peste cea moștenită."""
tx, ty, sx, sy = base
t = re.search(r'transform="([^"]*)"', attrs)
for fn, args in re.findall(r"(\w+)\(([^)]*)\)", t.group(1) if t else ""):
v = [float(a) for a in re.split(r"[,\s]+", args.strip()) if a]
if fn == "translate" and v:
tx, ty = tx + sx * v[0], ty + sy * (v[1] if len(v) > 1 else 0.0)
elif fn == "scale" and v:
sx, sy = sx * v[0], sy * (v[1] if len(v) > 1 else v[0])
# rotate/matrix/skew: ignorate, ca înainte — nu apar în repo, iar
# caseta unui text rotit n-ar fi oricum un dreptunghi drept.
return tx, ty, sx, sy
def _rescrie(attrs, ctm, tag):
tx, ty, sx, sy = ctm
def unu(m):
k, v = m.group(1), float(m.group(2))
if k in XA:
v = tx + sx * v
elif k in YA:
v = ty + sy * v
elif k in WA:
v = abs(sx) * v
elif k in HA:
v = abs(sy) * v
else:
return m.group(0)
return f'{k}="{v:.4f}"'
out = _ATTR.sub(unu, attrs)
out = re.sub(r'points="([^"]+)"', lambda m: 'points="%s"' % " ".join(
"{:.4f},{:.4f}".format(tx + sx * float(p.split(",")[0]),
ty + sy * float(p.split(",")[1]))
for p in m.group(1).split()), out)
if tag == "text" and sx != 1.0:
out += f' data-sx="{sx:g}"' # lățimea casetei se scalează cu el
return out
def _aplatizeaza(svg):
"""Rescrie coordonatele în sistemul rădăcinii, ținând cont de `<g transform>`.
`<g>`-urile pot fi imbricate; `<svg>`-urile imbricate rămân sisteme
separate, ca până acum (scanarea se face oricum panou cu panou).
"""
if "transform=" not in svg:
return svg
taieturi, stiva = [], [ID]
for m in _TAG.finditer(svg):
inchis, tag, attrs = m.group(1), m.group(2).lower(), m.group(3)
gol = attrs.rstrip().endswith("/")
if tag == "g":
if inchis:
if len(stiva) > 1:
stiva.pop()
elif not gol:
stiva.append(_ctm(attrs, stiva[-1]))
continue
if inchis or stiva[-1] == ID:
continue
taieturi.append((m.start(3), m.end(3), _rescrie(attrs, stiva[-1], tag)))
for a, b, nou in reversed(taieturi):
svg = svg[:a] + nou + svg[b:]
return svg
def _bbox(m, min_px): def _bbox(m, min_px):
"""Caseta etichetei, lărgită cu marginea cerută.""" """Caseta etichetei, lărgită cu marginea cerută."""
tx, ty, attrs, s = float(m.group(1)), float(m.group(2)), m.group(3), m.group(4) tx, ty, attrs, s = float(m.group(1)), float(m.group(2)), m.group(3), m.group(4)
w = CW * len(s) k = float(re.search(r'data-sx="([\d.]+)"', attrs).group(1)) if "data-sx=" in attrs else 1.0
w = CW * len(s) * k
# fara text-anchor, SVG aliniaza la stanga (start), nu centrat. Presupunerea # fara text-anchor, SVG aliniaza la stanga (start), nu centrat. Presupunerea
# ca e centrat dadea alarme false pe etichetele de Level cu label_at="left", # ca e centrat dadea alarme false pe etichetele de Level cu label_at="left",
# care se deseneaza fara anchor. # care se deseneaza fara anchor.
x0 = tx - w if 'anchor="end"' in attrs else tx if 'anchor="middle"' not in attrs else tx - w / 2 x0 = tx - w if 'anchor="end"' in attrs else tx if 'anchor="middle"' not in attrs else tx - w / 2
return s, (x0 - min_px, x0 + w + min_px, ty - 9 - min_px, ty + 3 + min_px) return s, (x0 - min_px, x0 + w + min_px, ty - 9 * k - min_px, ty + 3 * k + min_px)
def _segmente(svg): def _segmente(svg):
@@ -60,6 +144,7 @@ def eticheta_libera(svg, name, etichete, min_px=5.0, rects=False, segmente=True)
`segmente=False` pentru etichetele de nivel: alea stau lipite de linia lor `segmente=False` pentru etichetele de nivel: alea stau lipite de linia lor
prin construcție (y − 6), deci doar candelele sunt o suprapunere reală. prin construcție (y − 6), deci doar candelele sunt o suprapunere reală.
""" """
svg = _aplatizeaza(svg)
segs = list(_segmente(svg)) if segmente else [] segs = list(_segmente(svg)) if segmente else []
boxes = [] boxes = []
if rects: if rects:
@@ -99,6 +184,35 @@ def demo():
else: else:
raise AssertionError(f"'{et}' trebuia prinsa") raise AssertionError(f"'{et}' trebuia prinsa")
eticheta_libera(svg, "demo", {"libera"}, rects=True) eticheta_libera(svg, "demo", {"libera"}, rects=True)
# --- transformări: un panou mutat cu <g transform="translate(...)"> ------
# 1. etichetă și linie în ACELAȘI <g> (imbricat), suprapuse: trebuie prinsă.
# 2. etichetă și linie în <g>-uri DIFERITE, care s-ar suprapune în
# coordonate brute (ambele pe y≈50) dar nu în cele finale.
mutat = ('<svg><g transform="translate(10,0)"><g transform="translate(0,300)">'
'<line x1="0" y1="50" x2="100" y2="50" stroke="#c00"/>'
'<text x="10" y="55">in panoul mutat</text></g></g>'
'<g transform="translate(0,0)"><text x="10" y="55">sus</text></g>'
'<g transform="translate(0,200)">'
'<line x1="0" y1="50" x2="100" y2="50" stroke="#c00"/></g></svg>')
try:
eticheta_libera(mutat, "demo", {"in panoul mutat"})
except AssertionError:
pass
else:
raise AssertionError("'in panoul mutat' trebuia prinsa (translate ignorat?)")
eticheta_libera(mutat, "demo", {"sus"}) # 250px mai jos decat linia ei
# scale: o candela de 20x40 scalata x2 ajunge sub eticheta de la y=620
scalat = ('<svg><g transform="scale(2)">'
'<rect x="0" y="300" width="20" height="40" fill="#188a3e"/>'
'<text x="5" y="310">pe candela scalata</text></g></svg>')
try:
eticheta_libera(scalat, "demo", {"pe candela scalata"}, rects=True)
except AssertionError:
pass
else:
raise AssertionError("'pe candela scalata' trebuia prinsa")
print("eticheta_libera: ok") print("eticheta_libera: ok")

View File

@@ -20,9 +20,13 @@ Barele sunt pe o axă comună 0 → 1 an, ca diferența să fie vizibilă; bara
Rulare: python3 gen/strategii/atmi_orizont.py -> gen/strategii/atmi_orizont.svg Rulare: python3 gen/strategii/atmi_orizont.py -> gen/strategii/atmi_orizont.svg
""" """
import re import re
import sys
from pathlib import Path from pathlib import Path
from xml.sax.saxutils import escape from xml.sax.saxutils import escape
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from eticheta_libera import eticheta_libera # noqa: E402
OUT = Path(__file__).with_suffix(".svg") OUT = Path(__file__).with_suffix(".svg")
W, H = 700, 670 W, H = 700, 670
@@ -114,7 +118,9 @@ def build():
p.append(line(AX_X0 + LEN_PROP, 290, AX_X0 + LEN_PROP, 360, ORANGE, 1.2, "4 3")) p.append(line(AX_X0 + LEN_PROP, 290, AX_X0 + LEN_PROP, 360, ORANGE, 1.2, "4 3"))
p.append(line(AX_X0 + LEN_PROP, BAR_PROP_Y + BAR_H / 2, CARD_X, p.append(line(AX_X0 + LEN_PROP, BAR_PROP_Y + BAR_H / 2, CARD_X,
BAR_PROP_Y + BAR_H / 2, ORANGE, 1.0, "3 3")) BAR_PROP_Y + BAR_H / 2, ORANGE, 1.0, "3 3"))
p.append(txt(AX_X0 + 30, 312, "2 săptămâni", 11, "700", ORANGE, "start")) # sub bară, nu lângă ea: la y=312 ultimele litere intrau sub marginea din
# stânga a cardului (CARD_X=160) și se citea „2 săptămân"
p.append(txt(AX_X0 + 12, 368, "2 săptămâni", 11, "700", ORANGE, "start"))
p.append(f'<rect x="{CARD_X}" y="{CARD_Y}" width="{CARD_W}" height="{CARD_H}" ' p.append(f'<rect x="{CARD_X}" y="{CARD_Y}" width="{CARD_W}" height="{CARD_H}" '
f'rx="8" fill="{WHITE}" stroke="{ORANGE}" stroke-width="1.5"/>') f'rx="8" fill="{WHITE}" stroke="{ORANGE}" stroke-width="1.5"/>')
@@ -221,6 +227,13 @@ def verify(svg):
assert not re.search(r"\.(md|txt):\d", svg), \ assert not re.search(r"\.(md|txt):\d", svg), \
"eticheta SVG nu are voie să conțină trimitere fișier:linie" "eticheta SVG nu are voie să conțină trimitere fișier:linie"
# 6c. etichetele cu cifre nu stau sub niciun dreptunghi desenat (cardul de
# citat a mâncat odată „i"-ul din „2 săptămâni"). Fundalul paginii se scoate:
# e un dreptunghi cât toată pânza, altfel iese sub orice etichetă.
eticheta_libera(re.sub(r'<rect x="0" y="0"[^/]*/>', "", svg), "atmi_orizont",
{"2 săptămâni", "TP1 atins — aproximativ un an mai târziu"},
rects=True, segmente=False)
# 7. fără cifre de preț inventate # 7. fără cifre de preț inventate
for interzis in ("$", "USD", "SL ", "intrare "): for interzis in ("$", "USD", "SL ", "intrare "):
assert interzis not in svg, f"nu ar trebui să apară preț: {interzis!r}" assert interzis not in svg, f"nu ar trebui să apară preț: {interzis!r}"

View File

@@ -30,7 +30,7 @@
<rect x="60.0" y="298.0" width="22.7" height="42" rx="6" fill="#fdf0e0" stroke="#b06000" stroke-width="1.5"/> <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="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"/> <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> <text x="72.0" y="368.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"/> <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="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="334.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">swing, 2 săptămâni în poziție”</text>

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

View File

@@ -17,6 +17,8 @@ from pathlib import Path
sys.path.insert(0, "/workspace/atm-curs-dl") sys.path.insert(0, "/workspace/atm-curs-dl")
sys.path.insert(0, str(Path(__file__).parent)) sys.path.insert(0, str(Path(__file__).parent))
from svg_candles import Candle, Chart, Level, Zone, Arrow # noqa: E402 from svg_candles import Candle, Chart, Level, Zone, Arrow # noqa: E402
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from eticheta_libera import eticheta_libera # noqa: E402
from buy_doji_ansamblu import serie, DOJI, CONF, DOJI_L, ENTRY, SL, TP1, R # noqa: E402 from buy_doji_ansamblu import serie, DOJI, CONF, DOJI_L, ENTRY, SL, TP1, R # noqa: E402
OUT = Path(__file__).with_suffix(".svg") OUT = Path(__file__).with_suffix(".svg")
@@ -84,7 +86,11 @@ gata = Chart(
candles=jos, candles=jos,
levels=[Level(TP1, "ținta 1: 51.60", GREEN, "2 2", "left"), levels=[Level(TP1, "ținta 1: 51.60", GREEN, "2 2", "left"),
Level(ENTRY, "intrarea: 50.40", GREY, "4 3", "left"), Level(ENTRY, "intrarea: 50.40", GREY, "4 3", "left"),
Level(OCHI, "stop pus la ochi: 49.70", ORANGE, "4 3", "left"), # linia „la ochi" pornește de la bara de intrare, iar eticheta ei
# stă în dreapta: pe toată lățimea, în stânga, cele două stopuri
# cădeau la 12 px unul sub altul și linia portocalie trecea prin
# eticheta celui din regulă — nu puteai atribui liniile
Level(OCHI, "stop pus la ochi: 49.70", ORANGE, "4 3", i0=cf),
Level(SL, "stopul din regulă: 49.20", RED, "4 3", "left")], Level(SL, "stopul din regulă: 49.20", RED, "4 3", "left")],
# eticheta zonei o punem manual: Zone o ridică deasupra candelelor din # eticheta zonei o punem manual: Zone o ridică deasupra candelelor din
# dreptul textului, adică departe de banda pe care o marchează # dreptul textului, adică departe de banda pe care o marchează
@@ -111,7 +117,11 @@ def panou(ch, sus_de=0.0):
h = float(re.search(r'viewBox="0 0 [\d.]+ ([\d.]+)"', svg).group(1)) h = float(re.search(r'viewBox="0 0 [\d.]+ ([\d.]+)"', svg).group(1))
# render() mută `top` intern și îl restaurează; offsetul se citește din # render() mută `top` intern și îl restaurează; offsetul se citește din
# prima linie de Level, altfel tot ce desenăm pe urmă iese mai sus cu ~22px # prima linie de Level, altfel tot ce desenăm pe urmă iese mai sus cu ~22px
off = float(re.search(r'<line x1="24" y1="([\d.]+)"', svg).group(1)) - ch._y(ch.levels[0].price) # „24.0", nu „24": svg_candles formatează începutul liniei cu :.1f de când
# are Level.i0 — generatorul crăpa aici, nu mai era rulabil
m = re.search(r'<line x1="24(?:\.0)?" y1="([\d.]+)"', svg)
assert m, "nu găsesc prima linie de Level: s-a schimbat formatul din svg_candles"
off = float(m.group(1)) - ch._y(ch.levels[0].price)
return svg[svg.index(">") + 1:svg.rindex("</svg>")].strip(), h, off return svg[svg.index(">") + 1:svg.rindex("</svg>")].strip(), h, off
@@ -131,7 +141,7 @@ nums.append(f'<text x="24" y="{y_sub:.1f}" fill="#555">'
h_sus = max(h_sus, y_sub + 12) h_sus = max(h_sus, y_sub + 12)
body_jos, h_jos, off_jos = panou(gata, h_sus + VGAP) body_jos, h_jos, off_jos = panou(gata, h_sus + VGAP)
zx = gata._cx(cf + 3) + 10 zx = gata._cx(cf + 4) + 10 # dupa corpul candelei 14, nu peste el
banda = (f'<text x="{zx:.1f}" y="{gata._y(OCHI) + off_jos - 6:.1f}" fill="{RED}" ' banda = (f'<text x="{zx:.1f}" y="{gata._y(OCHI) + off_jos - 6:.1f}" fill="{RED}" '
f'style="font-weight:bold">pe aici trece al doilea picior</text>') f'style="font-weight:bold">pe aici trece al doilea picior</text>')
H = h_jos + 8 H = h_jos + 8
@@ -145,5 +155,17 @@ svg = "\n ".join([
assert "\n\n" not in svg and "<svg" in svg, "linie goală în SVG" assert "\n\n" not in svg and "<svg" in svg, "linie goală în SVG"
for x, y in re.findall(r'<text x="([-\d.]+)" y="([-\d.]+)"', svg): for x, y in re.findall(r'<text x="([-\d.]+)" y="([-\d.]+)"', svg):
assert 0 <= float(x) <= W and 0 <= float(y) <= H, f"text în afara pânzei la ({x}, {y})" assert 0 <= float(x) <= W and 0 <= float(y) <= H, f"text în afara pânzei la ({x}, {y})"
# etichetele de nivel stau lipite de linia lor prin construcție, deci pentru
# ele contează doar corpurile candelelor; pentru restul, și liniile
eticheta_libera(svg, "buy_doji_stop", {"stop pus la ochi: 49.70",
"stopul din regulă: 49.20",
"intrarea: 50.40", "ținta 1: 51.60",
"stopul: 49.20"}, rects=True, segmente=False,
min_px=2.0) # marja mică: etichetele de nivel trec la ~8 px de
# corpul candelei 7, iar CW supraestimează lățimea
# eticheta benzii stă lipită deasupra liniei „la ochi", ca orice etichetă de
# nivel: pentru ea contează doar candelele
eticheta_libera(svg, "buy_doji_stop", {"pe aici trece al doilea picior"},
rects=True, segmente=False)
OUT.write_text(svg, encoding="utf-8") OUT.write_text(svg, encoding="utf-8")
print(f"scris {OUT} ({W}x{H:.0f})") print(f"scris {OUT} ({W}x{H:.0f})")

View File

@@ -2,8 +2,8 @@
<text x="24" y="48" fill="#333" style="font-weight:bold">Pasul 5 — stopul: numeri 4 candele înapoi de la confirmare</text> <text x="24" y="48" fill="#333" style="font-weight:bold">Pasul 5 — stopul: numeri 4 candele înapoi de la confirmare</text>
<rect x="178.0" y="289.2" width="80.0" height="88.0" fill="#1a5fb4" fill-opacity="0.08" stroke="#1a5fb4" stroke-width="1"/> <rect x="178.0" y="289.2" width="80.0" height="88.0" fill="#1a5fb4" fill-opacity="0.08" stroke="#1a5fb4" stroke-width="1"/>
<text x="178.0" y="284.2" fill="#1a5fb4" style="font-weight:bold">numeri 4 candele, începând cu confirmarea</text> <text x="178.0" y="284.2" fill="#1a5fb4" style="font-weight:bold">numeri 4 candele, începând cu confirmarea</text>
<line x1="24" y1="371.0" x2="706" y2="371.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="24.0" y1="371.0" x2="706" y2="371.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="365.0" fill="#c00">stopul: 49.20</text> <text x="30.0" y="365.0" fill="#c00">stopul: 49.20</text>
<line x1="48.0" y1="56.0" x2="48.0" y2="119.0" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="48.0" y1="56.0" x2="48.0" y2="119.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="43.0" y="65.0" width="10" height="43.2" fill="#c00"/> <rect x="43.0" y="65.0" width="10" height="43.2" fill="#c00"/>
<line x1="68.0" y1="99.2" x2="68.0" y2="158.6" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="68.0" y1="99.2" x2="68.0" y2="158.6" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -48,14 +48,14 @@
<line x1="24" y1="562" x2="706" y2="562" stroke="#ddd"/> <line x1="24" y1="562" x2="706" y2="562" stroke="#ddd"/>
<text x="24" y="617" fill="#333" style="font-weight:bold">Același trade: stop „la ochi” (sub candela de confirmare) vs stopul din regulă</text> <text x="24" y="617" fill="#333" style="font-weight:bold">Același trade: stop „la ochi” (sub candela de confirmare) vs stopul din regulă</text>
<rect x="258.0" y="922.0" width="40.0" height="18.0" fill="#c00" fill-opacity="0.08" stroke="#c00" stroke-width="1"/> <rect x="258.0" y="922.0" width="40.0" height="18.0" fill="#c00" fill-opacity="0.08" stroke="#c00" stroke-width="1"/>
<line x1="24" y1="853.6" x2="706" y2="853.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="2 2"/> <line x1="24.0" y1="853.6" x2="706" y2="853.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="2 2"/>
<text x="30" y="847.6" fill="#188a3e">ținta 1: 51.60</text> <text x="30.0" y="847.6" fill="#188a3e">ținta 1: 51.60</text>
<line x1="24" y1="896.8" x2="706" y2="896.8" stroke="#555" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="24.0" y1="896.8" x2="706" y2="896.8" stroke="#555" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="890.8" fill="#555">intrarea: 50.40</text> <text x="30.0" y="890.8" fill="#555">intrarea: 50.40</text>
<line x1="24" y1="922.0" x2="706" y2="922.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="243.0" y1="922.0" x2="706" y2="922.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="916.0" fill="#b06000">stop pus la ochi: 49.70</text> <text x="692" y="916.0" fill="#b06000" text-anchor="end">stop pus la ochi: 49.70</text>
<line x1="24" y1="940.0" x2="706" y2="940.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="24.0" y1="940.0" x2="706" y2="940.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="934.0" fill="#c00">stopul din regulă: 49.20</text> <text x="30.0" y="934.0" fill="#c00">stopul din regulă: 49.20</text>
<line x1="48.0" y1="625.0" x2="48.0" y2="688.0" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="48.0" y1="625.0" x2="48.0" y2="688.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="43.0" y="634.0" width="10" height="43.2" fill="#c00"/> <rect x="43.0" y="634.0" width="10" height="43.2" fill="#c00"/>
<line x1="68.0" y1="668.2" x2="68.0" y2="727.6" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="68.0" y1="668.2" x2="68.0" y2="727.6" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -108,5 +108,5 @@
<text x="518.0" y="804.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">dar numai cu stopul corect</text> <text x="518.0" y="804.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">dar numai cu stopul corect</text>
<text x="518.0" y="818.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">mai erai în trade</text> <text x="518.0" y="818.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">mai erai în trade</text>
<text x="24" y="1143" fill="#555">Barele de după intrare și stopul la ochi sunt construite, pentru contrast.</text> <text x="24" y="1143" fill="#555">Barele de după intrare și stopul la ochi sunt construite, pentru contrast.</text>
<text x="318.0" y="916.0" fill="#c00" style="font-weight:bold">pe aici trece al doilea picior</text> <text x="338.0" y="916.0" fill="#c00" style="font-weight:bold">pe aici trece al doilea picior</text>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

View File

@@ -20,9 +20,11 @@ sys.path.insert(0, "/workspace/atm-curs-dl")
sys.path.insert(0, str(Path(__file__).resolve().parent)) sys.path.insert(0, str(Path(__file__).resolve().parent))
from svg_candles import Arrow, Candle, Chart, Mark # noqa: E402 from svg_candles import Arrow, Candle, Chart, Mark # noqa: E402
import m2d_duo as duo # noqa: E402 import m2d_duo as duo # noqa: E402
sys.path.insert(0, str(Path(__file__).resolve().parent.parent))
from eticheta_libera import eticheta_libera # noqa: E402
OUT = Path(__file__).with_suffix(".svg") OUT = Path(__file__).with_suffix(".svg")
W, SCALE, GAP, LEFT = 680, 46.0, 46, 74 W, SCALE, GAP, LEFT = 680, 46.0, 46, 60 # LEFT 74->60: eticheta cyan din dreapta atingea corpul ultimei candele
GREEN, RED, BLUE, CYAN, GREY = "#188a3e", "#c00", "#1a5fb4", "#0891b2", "#555" GREEN, RED, BLUE, CYAN, GREY = "#188a3e", "#c00", "#1a5fb4", "#0891b2", "#555"
# --- aceleași candele de 15 min ca în diagrama de ansamblu ----------------- # --- aceleași candele de 15 min ca în diagrama de ansamblu -----------------
@@ -49,6 +51,9 @@ assert DA[:SIG + 2] == NU[:SIG + 2], "panourile nu pornesc din aceeași serie"
SEMNAL = BASE[SIG][3] # 100.60 — același nivel ca în diagrama de ansamblu SEMNAL = BASE[SIG][3] # 100.60 — același nivel ca în diagrama de ansamblu
REF_LOW = BASE[SIG][2] # 99.80 — minimul din care a pornit mișcarea REF_LOW = BASE[SIG][2] # 99.80 — minimul din care a pornit mișcarea
assert BASE[SIG][3] > BASE[SIG][0], "candela de semnal nu e verde" assert BASE[SIG][3] > BASE[SIG][0], "candela de semnal nu e verde"
# pe un rând, eticheta ajungea cu „99.80" sub corpul candelei 4 (99.30-99.85)
# și se citea „99.8"; pe două rânduri se termină înainte de candela 2
REF_TXT = ["minimul din care a pornit", "mișcarea 99.80"]
# DA: nicio candelă de după semnal nu se închide sub minimul de referință # DA: nicio candelă de după semnal nu se închide sub minimul de referință
assert all(b[3] > REF_LOW for b in DA[SIG + 1:]), "DA: o candelă închide sub referință" assert all(b[3] > REF_LOW for b in DA[SIG + 1:]), "DA: o candelă închide sub referință"
@@ -94,14 +99,12 @@ extra_da = (duo.titlu(TITLU_DA, color=GREEN)
+ duo.zone(ch_da, SIG, 7, "zona în care ai voie long", GREEN, pad=20, lift=26) + duo.zone(ch_da, SIG, 7, "zona în care ai voie long", GREEN, pad=20, lift=26)
+ duo.level(ch_da, SEMNAL, ["close-ul candelei de semnal 100.60"], CYAN, W, + duo.level(ch_da, SEMNAL, ["close-ul candelei de semnal 100.60"], CYAN, W,
below=False, at_left=False) below=False, at_left=False)
+ duo.level(ch_da, REF_LOW, ["minimul din care a pornit mișcarea 99.80"], + duo.level(ch_da, REF_LOW, REF_TXT, GREY, W, below=True, dash="2 3"))
GREY, W, below=True, dash="2 3"))
extra_nu = (duo.titlu(TITLU_NU, color=RED) extra_nu = (duo.titlu(TITLU_NU, color=RED)
+ duo.zone(ch_nu, 7, 8, "setup anulat", RED, pad=20) + duo.zone(ch_nu, 7, 8, "setup anulat", RED, pad=20)
+ duo.level(ch_nu, SEMNAL, ["close-ul candelei de semnal 100.60"], CYAN, W, + duo.level(ch_nu, SEMNAL, ["close-ul candelei de semnal 100.60"], CYAN, W,
below=False, at_left=False) below=False, at_left=False)
+ duo.level(ch_nu, REF_LOW, ["minimul din care a pornit mișcarea 99.80"], + duo.level(ch_nu, REF_LOW, REF_TXT, GREY, W, below=True, dash="2 3"))
GREY, W, below=True, dash="2 3"))
svg, H, n = duo.build( svg, H, n = duo.build(
[("DA", body_da, h_da, extra_da), ("NU", body_nu, h_nu, extra_nu)], [("DA", body_da, h_da, extra_da), ("NU", body_nu, h_nu, extra_nu)],
@@ -109,6 +112,10 @@ svg, H, n = duo.build(
"Pe 15 min se citește DIRECȚIA, nu intrarea. Intrarea vine de pe 3 min (pasul 3)."], "Pe 15 min se citește DIRECȚIA, nu intrarea. Intrarea vine de pe 3 min (pasul 3)."],
W) W)
duo.fara_preturi_straine(svg, [SEMNAL, REF_LOW, NU[7][3]]) duo.fara_preturi_straine(svg, [SEMNAL, REF_LOW, NU[7][3]])
# etichetele de nivel stau lipite de linia lor prin construcție, deci pentru ele
# contează doar corpurile candelelor (`segmente=False`)
eticheta_libera(svg, "m2d_directie", set(REF_TXT) | {
"close-ul candelei de semnal 100.60"}, rects=True, segmente=False)
OUT.write_text(svg, encoding="utf-8") OUT.write_text(svg, encoding="utf-8")
print(f"scris {OUT} ({W}x{H:.0f}), {n} etichete | semnal {SEMNAL:.2f}, referință {REF_LOW:.2f} | " print(f"scris {OUT} ({W}x{H:.0f}), {n} etichete | semnal {SEMNAL:.2f}, referință {REF_LOW:.2f} | "
f"DA: ultima închidere {DA[-1][3]:.2f} | NU: candela 7 închide {NU[7][3]:.2f}") f"DA: ultima închidere {DA[-1][3]:.2f} | NU: candela 7 închide {NU[7][3]:.2f}")

View File

@@ -1,65 +1,65 @@
<svg viewBox="0 0 680 681" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 680 681" 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="22" fill="#188a3e" style="font-weight:bold">DA — 15 min e încă în Buy când vine trigger-ul de pe 3 min</text><rect x="284.0" y="48.4" width="132.0" height="85.7" fill="#188a3e" fill-opacity="0.12" stroke="#188a3e" stroke-width="1"/><text x="290.0" y="41.4" fill="#188a3e" style="font-weight:bold">zona în care ai voie long</text><line x1="24" y1="89.3" x2="666" y2="89.3" stroke="#0891b2" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="83.3" fill="#0891b2" text-anchor="end" style="font-weight:bold">close-ul candelei de semnal 100.60</text><line x1="24" y1="126.1" x2="666" y2="126.1" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="147.1" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit mișcarea 99.80</text> <g transform="translate(0,0)"><text x="24" y="22" fill="#188a3e" style="font-weight:bold">DA — 15 min e încă în Buy când vine trigger-ul de pe 3 min</text><rect x="270.0" y="48.4" width="132.0" height="85.7" fill="#188a3e" fill-opacity="0.12" stroke="#188a3e" stroke-width="1"/><text x="276.0" y="41.4" fill="#188a3e" style="font-weight:bold">zona în care ai voie long</text><line x1="24" y1="89.3" x2="666" y2="89.3" stroke="#0891b2" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="83.3" fill="#0891b2" text-anchor="end" style="font-weight:bold">close-ul candelei de semnal 100.60</text><line x1="24" y1="126.1" x2="666" y2="126.1" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="147.1" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit</text><text x="30" y="161.1" fill="#555" text-anchor="start" style="font-weight:bold">mișcarea 99.80</text>
<line x1="74.0" y1="192.8" x2="74.0" y2="215.8" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="60.0" y1="192.8" x2="60.0" y2="215.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="66.5" y="197.4" width="15" height="11.5" fill="#188a3e"/> <rect x="52.5" y="197.4" width="15" height="11.5" fill="#188a3e"/>
<line x1="120.0" y1="176.7" x2="120.0" y2="202.0" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="106.0" y1="176.7" x2="106.0" y2="202.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="112.5" y="181.3" width="15" height="16.1" fill="#188a3e"/> <rect x="98.5" y="181.3" width="15" height="16.1" fill="#188a3e"/>
<line x1="166.0" y1="158.3" x2="166.0" y2="185.9" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="152.0" y1="158.3" x2="152.0" y2="185.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="158.5" y="162.9" width="15" height="18.4" fill="#188a3e"/> <rect x="144.5" y="162.9" width="15" height="18.4" fill="#188a3e"/>
<line x1="212.0" y1="142.2" x2="212.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="198.0" y1="142.2" x2="198.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="149.1" width="15" height="13.8" fill="#188a3e"/> <rect x="190.5" y="149.1" width="15" height="13.8" fill="#188a3e"/>
<line x1="258.0" y1="119.2" x2="258.0" y2="153.7" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="244.0" y1="119.2" x2="244.0" y2="153.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="250.5" y="123.8" width="15" height="25.3" fill="#188a3e"/> <rect x="236.5" y="123.8" width="15" height="25.3" fill="#188a3e"/>
<line x1="304.0" y1="82.4" x2="304.0" y2="126.1" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="290.0" y1="82.4" x2="290.0" y2="126.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="296.5" y="89.3" width="15" height="34.5" fill="#188a3e"/> <rect x="282.5" y="89.3" width="15" height="34.5" fill="#188a3e"/>
<line x1="350.0" y1="84.7" x2="350.0" y2="116.9" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="336.0" y1="84.7" x2="336.0" y2="116.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="342.5" y="89.3" width="15" height="25.3" fill="#c00"/> <rect x="328.5" y="89.3" width="15" height="25.3" fill="#c00"/>
<line x1="396.0" y1="96.2" x2="396.0" y2="121.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="382.0" y1="96.2" x2="382.0" y2="121.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="388.5" y="98.5" width="15" height="16.1" fill="#188a3e"/> <rect x="374.5" y="98.5" width="15" height="16.1" fill="#188a3e"/>
<line x1="442.0" y1="64.0" x2="442.0" y2="100.8" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="428.0" y1="64.0" x2="428.0" y2="100.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="434.5" y="70.9" width="15" height="27.6" fill="#188a3e"/> <rect x="420.5" y="70.9" width="15" height="27.6" fill="#188a3e"/>
<line x1="244.0" y1="247.9" x2="300.4" y2="137.2" stroke="#0891b2" stroke-width="1.8"/> <line x1="230.0" y1="247.9" x2="286.4" y2="137.2" stroke="#0891b2" stroke-width="1.8"/>
<polygon points="304.0,130.1 303.9,139.0 296.8,135.4" fill="#0891b2"/> <polygon points="290.0,130.1 289.9,139.0 282.8,135.4" fill="#0891b2"/>
<text x="244.0" y="261.9" fill="#0891b2" text-anchor="middle" style="font-weight:bold">Buy Momentum pe 15 min:</text> <text x="230.0" y="261.9" fill="#0891b2" text-anchor="middle" style="font-weight:bold">Buy Momentum pe 15 min:</text>
<text x="244.0" y="275.9" fill="#0891b2" text-anchor="middle" style="font-weight:bold">de aici ai voie doar long</text> <text x="230.0" y="275.9" fill="#0891b2" text-anchor="middle" style="font-weight:bold">de aici ai voie doar long</text>
<line x1="320.0" y1="201.5" x2="347.2" y2="128.4" stroke="#555" stroke-width="1.8"/> <line x1="306.0" y1="201.5" x2="333.2" y2="128.4" stroke="#555" stroke-width="1.8"/>
<polygon points="350.0,120.9 351.0,129.8 343.5,127.0" fill="#555"/> <polygon points="336.0,120.9 337.0,129.8 329.5,127.0" fill="#555"/>
<text x="320.0" y="215.5" fill="#555" text-anchor="middle" style="font-weight:bold">candelă roșie pe 15 min, dar close-ul</text> <text x="306.0" y="215.5" fill="#555" text-anchor="middle" style="font-weight:bold">candelă roșie pe 15 min, dar close-ul</text>
<text x="320.0" y="229.5" fill="#555" text-anchor="middle" style="font-weight:bold">rămâne peste 99.80: pullback, nu întoarcere</text> <text x="306.0" y="229.5" fill="#555" text-anchor="middle" style="font-weight:bold">rămâne peste 99.80: pullback, nu întoarcere</text>
<line x1="372.0" y1="74.0" x2="389.6" y2="87.4" stroke="#188a3e" stroke-width="1.8"/> <line x1="358.0" y1="74.0" x2="375.6" y2="87.4" stroke="#188a3e" stroke-width="1.8"/>
<polygon points="396.0,92.2 387.2,90.6 392.0,84.2" fill="#188a3e"/> <polygon points="382.0,92.2 373.2,90.6 378.0,84.2" fill="#188a3e"/>
<text x="372.0" y="69.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">aici cade trigger-ul de pe 3 min</text> <text x="358.0" y="69.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">aici cade trigger-ul de pe 3 min</text>
</g> </g>
<g transform="translate(0,311)"><text x="24" y="22" fill="#c00" style="font-weight:bold">NU — 15 min s-a închis Sell: setup-ul long e anulat</text><rect x="376.0" y="85.9" width="86.0" height="85.0" fill="#c00" fill-opacity="0.12" stroke="#c00" stroke-width="1"/><text x="382.0" y="78.9" fill="#c00" style="font-weight:bold">setup anulat</text><line x1="24" y1="70.9" x2="666" y2="70.9" stroke="#0891b2" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="64.9" fill="#0891b2" text-anchor="end" style="font-weight:bold">close-ul candelei de semnal 100.60</text><line x1="24" y1="107.7" x2="666" y2="107.7" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="128.7" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit mișcarea 99.80</text> <g transform="translate(0,311)"><text x="24" y="22" fill="#c00" style="font-weight:bold">NU — 15 min s-a închis Sell: setup-ul long e anulat</text><rect x="362.0" y="85.9" width="86.0" height="85.0" fill="#c00" fill-opacity="0.12" stroke="#c00" stroke-width="1"/><text x="368.0" y="78.9" fill="#c00" style="font-weight:bold">setup anulat</text><line x1="24" y1="70.9" x2="666" y2="70.9" stroke="#0891b2" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="64.9" fill="#0891b2" text-anchor="end" style="font-weight:bold">close-ul candelei de semnal 100.60</text><line x1="24" y1="107.7" x2="666" y2="107.7" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="128.7" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit</text><text x="30" y="142.7" fill="#555" text-anchor="start" style="font-weight:bold">mișcarea 99.80</text>
<line x1="74.0" y1="174.4" x2="74.0" y2="197.4" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="60.0" y1="174.4" x2="60.0" y2="197.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="66.5" y="179.0" width="15" height="11.5" fill="#188a3e"/> <rect x="52.5" y="179.0" width="15" height="11.5" fill="#188a3e"/>
<line x1="120.0" y1="158.3" x2="120.0" y2="183.6" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="106.0" y1="158.3" x2="106.0" y2="183.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="112.5" y="162.9" width="15" height="16.1" fill="#188a3e"/> <rect x="98.5" y="162.9" width="15" height="16.1" fill="#188a3e"/>
<line x1="166.0" y1="139.9" x2="166.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="152.0" y1="139.9" x2="152.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="158.5" y="144.5" width="15" height="18.4" fill="#188a3e"/> <rect x="144.5" y="144.5" width="15" height="18.4" fill="#188a3e"/>
<line x1="212.0" y1="123.8" x2="212.0" y2="149.1" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="198.0" y1="123.8" x2="198.0" y2="149.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="130.7" width="15" height="13.8" fill="#188a3e"/> <rect x="190.5" y="130.7" width="15" height="13.8" fill="#188a3e"/>
<line x1="258.0" y1="100.8" x2="258.0" y2="135.3" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="244.0" y1="100.8" x2="244.0" y2="135.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="250.5" y="105.4" width="15" height="25.3" fill="#188a3e"/> <rect x="236.5" y="105.4" width="15" height="25.3" fill="#188a3e"/>
<line x1="304.0" y1="64.0" x2="304.0" y2="107.7" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="290.0" y1="64.0" x2="290.0" y2="107.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="296.5" y="70.9" width="15" height="34.5" fill="#188a3e"/> <rect x="282.5" y="70.9" width="15" height="34.5" fill="#188a3e"/>
<line x1="350.0" y1="66.3" x2="350.0" y2="98.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="336.0" y1="66.3" x2="336.0" y2="98.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="342.5" y="70.9" width="15" height="25.3" fill="#c00"/> <rect x="328.5" y="70.9" width="15" height="25.3" fill="#c00"/>
<line x1="396.0" y1="93.9" x2="396.0" y2="135.3" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="382.0" y1="93.9" x2="382.0" y2="135.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="388.5" y="96.2" width="15" height="34.5" fill="#c00"/> <rect x="374.5" y="96.2" width="15" height="34.5" fill="#c00"/>
<line x1="442.0" y1="126.1" x2="442.0" y2="162.9" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="428.0" y1="126.1" x2="428.0" y2="162.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="434.5" y="130.7" width="15" height="25.3" fill="#c00"/> <rect x="420.5" y="130.7" width="15" height="25.3" fill="#c00"/>
<line x1="244.0" y1="229.5" x2="300.4" y2="118.8" stroke="#0891b2" stroke-width="1.8"/> <line x1="230.0" y1="229.5" x2="286.4" y2="118.8" stroke="#0891b2" stroke-width="1.8"/>
<polygon points="304.0,111.7 303.9,120.6 296.8,117.0" fill="#0891b2"/> <polygon points="290.0,111.7 289.9,120.6 282.8,117.0" fill="#0891b2"/>
<text x="244.0" y="243.5" fill="#0891b2" text-anchor="middle" style="font-weight:bold">Buy Momentum pe 15 min:</text> <text x="230.0" y="243.5" fill="#0891b2" text-anchor="middle" style="font-weight:bold">Buy Momentum pe 15 min:</text>
<text x="244.0" y="257.5" fill="#0891b2" text-anchor="middle" style="font-weight:bold">de aici ai voie doar long</text> <text x="230.0" y="257.5" fill="#0891b2" text-anchor="middle" style="font-weight:bold">de aici ai voie doar long</text>
<line x1="356.0" y1="190.9" x2="391.1" y2="145.6" stroke="#c00" stroke-width="1.8"/> <line x1="342.0" y1="190.9" x2="377.1" y2="145.6" stroke="#c00" stroke-width="1.8"/>
<polygon points="396.0,139.3 394.3,148.1 387.9,143.2" fill="#c00"/> <polygon points="382.0,139.3 380.3,148.1 373.9,143.2" fill="#c00"/>
<text x="356.0" y="204.9" fill="#c00" text-anchor="middle" style="font-weight:bold">close 99.30, sub 99.80: direcția mare</text> <text x="342.0" y="204.9" fill="#c00" text-anchor="middle" style="font-weight:bold">close 99.30, sub 99.80: direcția mare</text>
<text x="356.0" y="218.9" fill="#c00" text-anchor="middle" style="font-weight:bold">s-a răsucit — nu mai intri long</text> <text x="342.0" y="218.9" fill="#c00" text-anchor="middle" style="font-weight:bold">s-a răsucit — nu mai intri long</text>
<line x1="322.0" y1="274.9" x2="436.1" y2="172.3" stroke="#c00" stroke-width="1.8"/> <line x1="308.0" y1="274.9" x2="422.1" y2="172.3" stroke="#c00" stroke-width="1.8"/>
<polygon points="442.0,166.9 438.7,175.2 433.4,169.3" fill="#c00"/> <polygon points="428.0,166.9 424.7,175.2 419.4,169.3" fill="#c00"/>
<text x="322.0" y="288.9" fill="#c00" text-anchor="middle" style="font-weight:bold">de aici cauți short, nu long</text> <text x="308.0" y="288.9" fill="#c00" text-anchor="middle" style="font-weight:bold">de aici cauți short, nu long</text>
</g> </g>
<text x="24" y="641" fill="#555">Același grafic de 15 minute ca în diagrama de ansamblu; serie construită, fără ticker.</text> <text x="24" y="641" fill="#555">Același grafic de 15 minute ca în diagrama de ansamblu; serie construită, fără ticker.</text>
<text x="24" y="658" fill="#555">Pe 15 min se citește DIRECȚIA, nu intrarea. Intrarea vine de pe 3 min (pasul 3).</text> <text x="24" y="658" fill="#555">Pe 15 min se citește DIRECȚIA, nu intrarea. Intrarea vine de pe 3 min (pasul 3).</text>

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

@@ -146,10 +146,32 @@ def link_md_to_html(md_path: Path, body: str) -> str:
return re.sub(r'href="(?!https?:)([^":]+?)\.md(#[^"]*)?"', sub, body) return re.sub(r'href="(?!https?:)([^":]+?)\.md(#[^"]*)?"', sub, body)
def stash_svgs(text: str) -> tuple[str, list[str]]:
"""Scoate <svg>...</svg> din calea lui markdown și lasă un marcaj în loc.
Fără asta, markdown vede caracterele lui înăuntrul desenului: în
`mp2_pivoti_excel` cele două `*` din formulele Excel (`=2*E2-C2` …
`=2*E3-B3`) deveneau un `<em>` pus peste `</text>`, iar parserul
browserului arunca tot restul SVG-ului — jumătate de tabel lipsea din
pagină, fără niciun semn în .md sau în audit (02.10.2026).
"""
pastrate: list[str] = []
def scoate(m: re.Match) -> str:
pastrate.append(m.group(0))
return f"<!--SVG{len(pastrate) - 1}-->"
return re.sub(r"<svg .*?</svg>", scoate, text, flags=re.S), pastrate
def render_file(md_path: Path) -> tuple[Path, str]: def render_file(md_path: Path) -> tuple[Path, str]:
text = md_path.read_text(encoding="utf-8") text = md_path.read_text(encoding="utf-8")
check_svgs(md_path, text) check_svgs(md_path, text)
body = markdown.markdown(text, extensions=["extra", "toc"]) fara_svg, svgs = stash_svgs(text)
body = markdown.markdown(fara_svg, extensions=["extra", "toc"])
body = re.sub(r"(?:<p>\s*)?<!--SVG(\d+)-->(?:\s*</p>)?",
lambda m: svgs[int(m.group(1))], body)
assert "<!--SVG" not in body, f"{md_path}: marcaj de SVG rămas în pagină"
body = link_md_to_html(md_path, body) body = link_md_to_html(md_path, body)
title = text.splitlines()[0].lstrip("# ").strip() if text else md_path.stem title = text.splitlines()[0].lstrip("# ").strip() if text else md_path.stem
top, bottom = nav_html(md_path, title) top, bottom = nav_html(md_path, title)

View File

@@ -47,7 +47,7 @@ Trimiterile la lecțiile din care vine fiecare pas stau separat, în
corpul e o linie subțire, iar fitilele ies și în sus, și în jos. Spune că în corpul e o linie subțire, iar fitilele ies și în sus, și în jos. Spune că în
perioada aceea cumpărătorii și vânzătorii au fost la egalitate.</p> perioada aceea cumpărătorii și vânzătorii au fost la egalitate.</p>
<!-- DIAGRAMA: doji_forma --> <!-- DIAGRAMA: doji_forma -->
<p><svg viewBox="0 0 1000 533" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 1000 533" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24.0" y="30.0" fill="#333" text-anchor="start" style="font-weight:bold;font-size:14px">Ce e un doji și ce nu — aceeași bară, 50.10 sus și 49.25 jos</text> <text x="24.0" y="30.0" fill="#333" text-anchor="start" style="font-weight:bold;font-size:14px">Ce e un doji și ce nu — aceeași bară, 50.10 sus și 49.25 jos</text>
<rect x="292.0" y="180.0" width="260.0" height="307.0" fill="#188a3e" fill-opacity="0.10" stroke="#188a3e" stroke-width="1"/> <rect x="292.0" y="180.0" width="260.0" height="307.0" fill="#188a3e" fill-opacity="0.10" stroke="#188a3e" stroke-width="1"/>
<text x="298.0" y="173.0" fill="#188a3e" text-anchor="start" style="font-weight:bold;font-size:12px">doji</text> <text x="298.0" y="173.0" fill="#188a3e" text-anchor="start" style="font-weight:bold;font-size:12px">doji</text>
@@ -98,7 +98,7 @@ perioada aceea cumpărătorii și vânzătorii au fost la egalitate.</p>
<text x="860.0" y="152.0" fill="#c00" text-anchor="middle" style="font-weight:bold;font-size:12px">fără fitil sus</text> <text x="860.0" y="152.0" fill="#c00" text-anchor="middle" style="font-weight:bold;font-size:12px">fără fitil sus</text>
<text x="860.0" y="166.0" fill="#c00" text-anchor="middle">regula cere fitil în ambele părți</text> <text x="860.0" y="166.0" fill="#c00" text-anchor="middle">regula cere fitil în ambele părți</text>
<text x="24.0" y="517.0" fill="#555" text-anchor="start">Doji = corpul e cel mult 10 % din înălțimea totală a barei (aici înălțimea e 0.85) și are fitil și sus, și jos.</text> <text x="24.0" y="517.0" fill="#555" text-anchor="start">Doji = corpul e cel mult 10 % din înălțimea totală a barei (aici înălțimea e 0.85) și are fitil și sus, și jos.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: doji_forma --> <!-- /DIAGRAMA: doji_forma -->
<h2 id="ce-face-strategia">Ce face strategia</h2> <h2 id="ce-face-strategia">Ce face strategia</h2>
@@ -113,7 +113,7 @@ spune că merge în cam 65-70 % din cazuri, deci cam un trade din trei pierde.
De aceea stopul e obligatoriu.</p> De aceea stopul e obligatoriu.</p>
<p>Tot trade-ul, pe un exemplu construit:</p> <p>Tot trade-ul, pe un exemplu construit:</p>
<!-- DIAGRAMA: ansamblu --> <!-- DIAGRAMA: ansamblu -->
<p><svg viewBox="0 0 709 739" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 709 739" 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 — un trade de la cap la coadă (daily, exemplu construit)</text> <text x="24" y="48" fill="#333" style="font-weight:bold">Buy Doji — un trade de la cap la coadă (daily, exemplu construit)</text>
<rect x="94.5" y="120.0" width="154.0" height="388.0" fill="#c00" fill-opacity="0.08" stroke="#c00" stroke-width="1"/> <rect x="94.5" y="120.0" width="154.0" height="388.0" fill="#c00" fill-opacity="0.08" stroke="#c00" stroke-width="1"/>
<text x="94.5" y="115.0" fill="#c00" style="font-weight:bold">1. scăderea: vânzătorii obosesc</text> <text x="94.5" y="115.0" fill="#c00" style="font-weight:bold">1. scăderea: vânzătorii obosesc</text>
@@ -256,7 +256,7 @@ De aceea stopul e obligatoriu.</p>
<text x="125.0" y="486.0" fill="#c00" style="font-weight:bold">1R = 1.20 (riscul)</text> <text x="125.0" y="486.0" fill="#c00" style="font-weight:bold">1R = 1.20 (riscul)</text>
<polyline points="114.0,412.0 119.0,412.0 119.0,456.0 114.0,456.0" fill="none" stroke="#1a5fb4" stroke-width="1.5"/> <polyline points="114.0,412.0 119.0,412.0 119.0,456.0 114.0,456.0" fill="none" stroke="#1a5fb4" stroke-width="1.5"/>
<text x="125.0" y="438.0" fill="#1a5fb4" style="font-weight:bold">1R = 1.20 (ținta)</text> <text x="125.0" y="438.0" fill="#1a5fb4" style="font-weight:bold">1R = 1.20 (ținta)</text>
</svg></p> </svg>
<!-- /DIAGRAMA: ansamblu --> <!-- /DIAGRAMA: ansamblu -->
<p>De la stânga la dreapta: 14 zile de scădere, doji-ul (high 50.10, low 49.25), <p>De la stânga la dreapta: 14 zile de scădere, doji-ul (high 50.10, low 49.25),
@@ -353,7 +353,7 @@ contra unui Sell Doji weekly și nu shortezi contra unui Buy Doji weekly.
Un Sell Doji weekly „nu înseamnă neapărat că se va materializa", dar la Un Sell Doji weekly „nu înseamnă neapărat că se va materializa", dar la
început îl tratezi ca pe un stop.</p> început îl tratezi ca pe un stop.</p>
<!-- DIAGRAMA: directie --> <!-- DIAGRAMA: directie -->
<p><svg viewBox="0 0 900 633" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 900 633" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="20.0" y="24.0" fill="#333" style="font-weight:bold;font-size:14px">NU: Sell Doji daily contra unui Buy Doji weekly — exemplu construit</text> <text x="20.0" y="24.0" fill="#333" style="font-weight:bold;font-size:14px">NU: Sell Doji daily contra unui Buy Doji weekly — exemplu construit</text>
<text x="20.0" y="50.0" fill="#555" style="font-weight:bold">weekly: direcția</text> <text x="20.0" y="50.0" fill="#555" style="font-weight:bold">weekly: direcția</text>
<rect x="164.0" y="186.8" width="32.0" height="72.0" fill="#188a3e" fill-opacity="0.12" stroke="#188a3e" stroke-width="1.5" rx="3"/> <rect x="164.0" y="186.8" width="32.0" height="72.0" fill="#188a3e" fill-opacity="0.12" stroke="#188a3e" stroke-width="1.5" rx="3"/>
@@ -458,7 +458,7 @@ Un Sell Doji weekly „nu înseamnă neapărat că se va materializa", dar la
<text x="520.0" y="554.8" fill="#d06a00" style="font-size:11px">a scăzut o singură zi, până la 82.00</text> <text x="520.0" y="554.8" fill="#d06a00" style="font-size:11px">a scăzut o singură zi, până la 82.00</text>
<text x="20.0" y="592.8" fill="#555" style="font-size:11px">Liniile albastre punctate sunt aceleași niveluri pe ambele panouri: high-ul și low-ul doji-ului daily.</text> <text x="20.0" y="592.8" fill="#555" style="font-size:11px">Liniile albastre punctate sunt aceleași niveluri pe ambele panouri: high-ul și low-ul doji-ului daily.</text>
<text x="20.0" y="610.8" fill="#555" style="font-size:11px">Seria e construită: un singur caz ilustrează regula, nu o dovedește.</text> <text x="20.0" y="610.8" fill="#555" style="font-size:11px">Seria e construită: un singur caz ilustrează regula, nu o dovedește.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: directie --> <!-- /DIAGRAMA: directie -->
<p>Diagrama e pe alt simbol decât exemplul din ceilalți pași, deci are alte <p>Diagrama e pe alt simbol decât exemplul din ceilalți pași, deci are alte
@@ -480,7 +480,7 @@ semnal mai slab. Dacă scanerul tău cere
<code>Since Bear ≥ 8</code> (cel puțin 8 candele de la ultimul semnal de scădere), pe <code>Since Bear ≥ 8</code> (cel puțin 8 candele de la ultimul semnal de scădere), pe
astea nu ți le arată deloc.</p> astea nu ți le arată deloc.</p>
<!-- DIAGRAMA: trend --> <!-- DIAGRAMA: trend -->
<p><svg viewBox="0 0 540 622" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 540 622" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<rect x="70.0" y="61.0" width="164.0" height="185.5" fill="#188a3e" fill-opacity="0.08" stroke="#188a3e" stroke-width="1"/> <rect x="70.0" y="61.0" width="164.0" height="185.5" fill="#188a3e" fill-opacity="0.08" stroke="#188a3e" stroke-width="1"/>
<text x="70.0" y="56.0" fill="#188a3e" style="font-weight:bold">9 candele de scădere — ideal</text> <text x="70.0" y="56.0" fill="#188a3e" style="font-weight:bold">9 candele de scădere — ideal</text>
<line x1="62.0" y1="54.0" x2="62.0" y2="78.0" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="62.0" y1="54.0" x2="62.0" y2="78.0" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -565,7 +565,7 @@ astea nu ți le arată deloc.</p>
<text x="24" y="371.0" fill="#333" style="font-weight:bold">Același doji, după un range</text> <text x="24" y="371.0" fill="#333" style="font-weight:bold">Același doji, după un range</text>
<text x="24" y="592.0" fill="#b06000" style="font-weight:bold">ACCEPTAT, semnal mai slab</text> <text x="24" y="592.0" fill="#b06000" style="font-weight:bold">ACCEPTAT, semnal mai slab</text>
<text x="24" y="609.0" fill="#555">scannerul cu Since Bear ≥ 8 nu-l vede</text> <text x="24" y="609.0" fill="#555">scannerul cu Since Bear ≥ 8 nu-l vede</text>
</svg></p> </svg>
<!-- /DIAGRAMA: trend --> <!-- /DIAGRAMA: trend -->
<p>Doji-ul îl verifici cu o împărțire, nu din ochi: corpul împărțit la <p>Doji-ul îl verifici cu o împărțire, nu din ochi: corpul împărțit la
@@ -592,7 +592,7 @@ singur; formula e la nivelul 3, la BVB.</p>
<p>Un doji departe de orice nivel e o simplă pauză; pe un nivel, cumpărătorii <p>Un doji departe de orice nivel e o simplă pauză; pe un nivel, cumpărătorii
au motiv să apară.</p> au motiv să apară.</p>
<!-- DIAGRAMA: locatie --> <!-- DIAGRAMA: locatie -->
<p><svg viewBox="0 0 760 415" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 760 415" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="22" fill="#333" style="font-weight:bold">Doji la nivel vs. doji în aer — daily, pivoți lunari (exemplu construit)</text> <text x="24" y="22" fill="#333" style="font-weight:bold">Doji la nivel vs. doji în aer — daily, pivoți lunari (exemplu construit)</text>
<text x="24" y="48" fill="#188a3e" style="font-weight:bold">DA — doji la nivel</text> <text x="24" y="48" fill="#188a3e" style="font-weight:bold">DA — doji la nivel</text>
<text x="402" y="48" fill="#c00" style="font-weight:bold">NU — doji în aer</text> <text x="402" y="48" fill="#c00" style="font-weight:bold">NU — doji în aer</text>
@@ -664,7 +664,7 @@ au motiv să apară.</p>
<text x="604.0" y="294.4" fill="#c00" text-anchor="middle" style="font-weight:bold">nu are cine să-l susțină</text> <text x="604.0" y="294.4" fill="#c00" text-anchor="middle" style="font-weight:bold">nu are cine să-l susțină</text>
<text x="24" y="383" fill="#555">daily: e „la nivel" dacă low-ul dojiului e la cel mult 1-2 % de pivotul lunar (aici 0,51 %; în dreapta 7,07 %).</text> <text x="24" y="383" fill="#555">daily: e „la nivel" dacă low-ul dojiului e la cel mult 1-2 % de pivotul lunar (aici 0,51 %; în dreapta 7,07 %).</text>
<text x="24" y="401" fill="#555">Aceeași serie, aceeași scară; nivelurile 49.00 / 46.00 / 53.50 sunt construite.</text> <text x="24" y="401" fill="#555">Aceeași serie, aceeași scară; nivelurile 49.00 / 46.00 / 53.50 sunt construite.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: locatie --> <!-- /DIAGRAMA: locatie -->
<p>Aceeași formă, de două ori. În stânga, low-ul doji-ului e la 49.25, iar <p>Aceeași formă, de două ori. În stânga, low-ul doji-ului e la 49.25, iar
@@ -684,7 +684,7 @@ fi urmată de încă un val în jos. Contează închiderea, nu atingerea — o
candelă care trece peste high în timpul zilei și se închide sub el nu e candelă care trece peste high în timpul zilei și se închide sub el nu e
trigger.</p> trigger.</p>
<!-- DIAGRAMA: fereastra --> <!-- DIAGRAMA: fereastra -->
<p><svg viewBox="0 0 640 750" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 640 750" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<g transform="translate(0,0)"><rect x="248.0" y="141.0" width="112.0" height="106.0" fill="#1a5fb4" fill-opacity="0.12" stroke="#1a5fb4" stroke-width="1"/><text x="254.0" y="134.0" fill="#1a5fb4" style="font-weight:bold">fereastra: 3 candele</text><line x1="24" y1="200.0" x2="626" y2="200.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/><text x="30" y="215.0" fill="#b06000" text-anchor="start" style="font-weight:bold">high-ul dojiului 50.10</text><text x="30" y="229.0" fill="#b06000" text-anchor="start" style="font-weight:bold">trebuie ÎNCHIS peste,</text><text x="30" y="243.0" fill="#b06000" text-anchor="start" style="font-weight:bold">nu doar atins</text><line x1="24" y1="251.0" x2="626" y2="251.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/><text x="30" y="266.0" fill="#c00" text-anchor="start" style="font-weight:bold">low-ul dojiului 49.25</text> <g transform="translate(0,0)"><rect x="248.0" y="141.0" width="112.0" height="106.0" fill="#1a5fb4" fill-opacity="0.12" stroke="#1a5fb4" stroke-width="1"/><text x="254.0" y="134.0" fill="#1a5fb4" style="font-weight:bold">fereastra: 3 candele</text><line x1="24" y1="200.0" x2="626" y2="200.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/><text x="30" y="215.0" fill="#b06000" text-anchor="start" style="font-weight:bold">high-ul dojiului 50.10</text><text x="30" y="229.0" fill="#b06000" text-anchor="start" style="font-weight:bold">trebuie ÎNCHIS peste,</text><text x="30" y="243.0" fill="#b06000" text-anchor="start" style="font-weight:bold">nu doar atins</text><line x1="24" y1="251.0" x2="626" y2="251.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/><text x="30" y="266.0" fill="#c00" text-anchor="start" style="font-weight:bold">low-ul dojiului 49.25</text>
<text x="24" y="48" fill="#333" style="font-weight:bold">DA — confirmare la +2, în fereastră</text> <text x="24" y="48" fill="#333" style="font-weight:bold">DA — confirmare la +2, în fereastră</text>
<line x1="64.0" y1="56.0" x2="64.0" y2="83.0" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="64.0" y1="56.0" x2="64.0" y2="83.0" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -748,7 +748,7 @@ trigger.</p>
</g> </g>
<text x="24" y="728" fill="#555">Serii construite: open = close-ul barei anterioare.</text> <text x="24" y="728" fill="#555">Serii construite: open = close-ul barei anterioare.</text>
<text x="24" y="745" fill="#555">Doji: h 50.10 / l 49.25. Fereastra = maximum 3 candele după doji.</text> <text x="24" y="745" fill="#555">Doji: h 50.10 / l 49.25. Fereastra = maximum 3 candele după doji.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: fereastra --> <!-- /DIAGRAMA: fereastra -->
<p>Sus, setup-ul valid: doji cu high 50.10; prima candelă se închide la 49.90, <p>Sus, setup-ul valid: doji cu high 50.10; prima candelă se închide la 49.90,
@@ -767,12 +767,12 @@ execută ca ordine de cumpărare. De aceea mișcarea se întoarce brusc.
<p><strong>Numeri 4 candele înapoi, începând cu cea de confirmare, iei cel mai jos low <p><strong>Numeri 4 candele înapoi, începând cu cea de confirmare, iei cel mai jos low
dintre ele și pui stopul puțin sub el.</strong></p> dintre ele și pui stopul puțin sub el.</strong></p>
<!-- DIAGRAMA: stop --> <!-- DIAGRAMA: stop -->
<p><svg viewBox="0 0 720 1163" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 720 1163" 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">Pasul 5 — stopul: numeri 4 candele înapoi de la confirmare</text> <text x="24" y="48" fill="#333" style="font-weight:bold">Pasul 5 — stopul: numeri 4 candele înapoi de la confirmare</text>
<rect x="178.0" y="289.2" width="80.0" height="88.0" fill="#1a5fb4" fill-opacity="0.08" stroke="#1a5fb4" stroke-width="1"/> <rect x="178.0" y="289.2" width="80.0" height="88.0" fill="#1a5fb4" fill-opacity="0.08" stroke="#1a5fb4" stroke-width="1"/>
<text x="178.0" y="284.2" fill="#1a5fb4" style="font-weight:bold">numeri 4 candele, începând cu confirmarea</text> <text x="178.0" y="284.2" fill="#1a5fb4" style="font-weight:bold">numeri 4 candele, începând cu confirmarea</text>
<line x1="24" y1="371.0" x2="706" y2="371.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="24.0" y1="371.0" x2="706" y2="371.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="365.0" fill="#c00">stopul: 49.20</text> <text x="30.0" y="365.0" fill="#c00">stopul: 49.20</text>
<line x1="48.0" y1="56.0" x2="48.0" y2="119.0" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="48.0" y1="56.0" x2="48.0" y2="119.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="43.0" y="65.0" width="10" height="43.2" fill="#c00"/> <rect x="43.0" y="65.0" width="10" height="43.2" fill="#c00"/>
<line x1="68.0" y1="99.2" x2="68.0" y2="158.6" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="68.0" y1="99.2" x2="68.0" y2="158.6" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -817,14 +817,14 @@ dintre ele și pui stopul puțin sub el.</strong></p>
<line x1="24" y1="562" x2="706" y2="562" stroke="#ddd"/> <line x1="24" y1="562" x2="706" y2="562" stroke="#ddd"/>
<text x="24" y="617" fill="#333" style="font-weight:bold">Același trade: stop „la ochi” (sub candela de confirmare) vs stopul din regulă</text> <text x="24" y="617" fill="#333" style="font-weight:bold">Același trade: stop „la ochi” (sub candela de confirmare) vs stopul din regulă</text>
<rect x="258.0" y="922.0" width="40.0" height="18.0" fill="#c00" fill-opacity="0.08" stroke="#c00" stroke-width="1"/> <rect x="258.0" y="922.0" width="40.0" height="18.0" fill="#c00" fill-opacity="0.08" stroke="#c00" stroke-width="1"/>
<line x1="24" y1="853.6" x2="706" y2="853.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="2 2"/> <line x1="24.0" y1="853.6" x2="706" y2="853.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="2 2"/>
<text x="30" y="847.6" fill="#188a3e">ținta 1: 51.60</text> <text x="30.0" y="847.6" fill="#188a3e">ținta 1: 51.60</text>
<line x1="24" y1="896.8" x2="706" y2="896.8" stroke="#555" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="24.0" y1="896.8" x2="706" y2="896.8" stroke="#555" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="890.8" fill="#555">intrarea: 50.40</text> <text x="30.0" y="890.8" fill="#555">intrarea: 50.40</text>
<line x1="24" y1="922.0" x2="706" y2="922.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="243.0" y1="922.0" x2="706" y2="922.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="916.0" fill="#b06000">stop pus la ochi: 49.70</text> <text x="692" y="916.0" fill="#b06000" text-anchor="end">stop pus la ochi: 49.70</text>
<line x1="24" y1="940.0" x2="706" y2="940.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="24.0" y1="940.0" x2="706" y2="940.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="934.0" fill="#c00">stopul din regulă: 49.20</text> <text x="30.0" y="934.0" fill="#c00">stopul din regulă: 49.20</text>
<line x1="48.0" y1="625.0" x2="48.0" y2="688.0" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="48.0" y1="625.0" x2="48.0" y2="688.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="43.0" y="634.0" width="10" height="43.2" fill="#c00"/> <rect x="43.0" y="634.0" width="10" height="43.2" fill="#c00"/>
<line x1="68.0" y1="668.2" x2="68.0" y2="727.6" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="68.0" y1="668.2" x2="68.0" y2="727.6" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -877,8 +877,8 @@ dintre ele și pui stopul puțin sub el.</strong></p>
<text x="518.0" y="804.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">dar numai cu stopul corect</text> <text x="518.0" y="804.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">dar numai cu stopul corect</text>
<text x="518.0" y="818.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">mai erai în trade</text> <text x="518.0" y="818.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">mai erai în trade</text>
<text x="24" y="1143" fill="#555">Barele de după intrare și stopul la ochi sunt construite, pentru contrast.</text> <text x="24" y="1143" fill="#555">Barele de după intrare și stopul la ochi sunt construite, pentru contrast.</text>
<text x="318.0" y="916.0" fill="#c00" style="font-weight:bold">pe aici trece al doilea picior</text> <text x="338.0" y="916.0" fill="#c00" style="font-weight:bold">pe aici trece al doilea picior</text>
</svg></p> </svg>
<!-- /DIAGRAMA: stop --> <!-- /DIAGRAMA: stop -->
<p>Sus, candelele numerotate de la confirmare. Cel mai jos low e al doji-ului, <p>Sus, candelele numerotate de la confirmare. Cel mai jos low e al doji-ului,
@@ -924,7 +924,7 @@ iar după ce e atinsă lași restul pe trailing stop.</strong></p>
<p>Limita de timp: dacă în 8 candele de la intrare nu s-a atins nici ținta, <p>Limita de timp: dacă în 8 candele de la intrare nu s-a atins nici ținta,
nici stopul, ieși oricum, la close-ul celei de-a 8-a.</p> nici stopul, ieși oricum, la close-ul celei de-a 8-a.</p>
<!-- DIAGRAMA: iesire --> <!-- DIAGRAMA: iesire -->
<p><svg viewBox="0 0 760 779" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 760 779" 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">A — prima treime la țintă, a doua pe trailing stop</text> <text x="24" y="48" fill="#333" style="font-weight:bold">A — prima treime la țintă, a doua pe trailing stop</text>
<rect x="146.5" y="176.0" width="73.0" height="96.0" fill="#188a3e" fill-opacity="0.08" stroke="#188a3e" stroke-width="1"/> <rect x="146.5" y="176.0" width="73.0" height="96.0" fill="#188a3e" fill-opacity="0.08" stroke="#188a3e" stroke-width="1"/>
<rect x="218.5" y="122.0" width="163.0" height="84.0" fill="#1a5fb4" fill-opacity="0.08" stroke="#1a5fb4" stroke-width="1"/> <rect x="218.5" y="122.0" width="163.0" height="84.0" fill="#1a5fb4" fill-opacity="0.08" stroke="#1a5fb4" stroke-width="1"/>
@@ -1045,7 +1045,7 @@ nici stopul, ieși oricum, la close-ul celei de-a 8-a.</p>
<text x="264.0" y="678.0" fill="#c00" text-anchor="middle" style="font-weight:bold">6</text> <text x="264.0" y="678.0" fill="#c00" text-anchor="middle" style="font-weight:bold">6</text>
<text x="282.0" y="678.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">7</text> <text x="282.0" y="678.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">7</text>
<text x="300.0" y="678.0" fill="#c00" text-anchor="middle" style="font-weight:bold">8</text> <text x="300.0" y="678.0" fill="#c00" text-anchor="middle" style="font-weight:bold">8</text>
</svg></p> </svg>
<!-- /DIAGRAMA: iesire --> <!-- /DIAGRAMA: iesire -->
<p>Sus, prima treime iese la 51.60. Apar două candele cu gap, care urcă linia <p>Sus, prima treime iese la 51.60. Apar două candele cu gap, care urcă linia
@@ -1075,7 +1075,7 @@ construite. Împărțirea în trei treimi e a sumarizatorului lecției; ținta
<li>ținta e la aceeași distanță, în jos, iar linia de trail coboară.</li> <li>ținta e la aceeași distanță, în jos, iar linia de trail coboară.</li>
</ul> </ul>
<!-- DIAGRAMA: sell --> <!-- DIAGRAMA: sell -->
<p><svg viewBox="0 0 840 571" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 840 571" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="72" fill="#333" style="font-weight:bold">Sell Doji pe short — daily (exemplu construit)</text> <text x="24" y="72" fill="#333" style="font-weight:bold">Sell Doji pe short — daily (exemplu construit)</text>
<rect x="34.5" y="98.2" width="279.0" height="338.8" fill="#1a5fb4" fill-opacity="0.08" stroke="#1a5fb4" stroke-width="1"/> <rect x="34.5" y="98.2" width="279.0" height="338.8" fill="#1a5fb4" fill-opacity="0.08" stroke="#1a5fb4" stroke-width="1"/>
<text x="34.5" y="93.2" fill="#1a5fb4" style="font-weight:bold">1. creșterea: 14 candele</text> <text x="34.5" y="93.2" fill="#1a5fb4" style="font-weight:bold">1. creșterea: 14 candele</text>
@@ -1203,7 +1203,7 @@ construite. Împărțirea în trei treimi e a sumarizatorului lecției; ținta
<text x="544.0" y="329.0" fill="#555" text-anchor="middle" style="font-weight:bold">trail-ul a coborât după preț (96.45);</text> <text x="544.0" y="329.0" fill="#555" text-anchor="middle" style="font-weight:bold">trail-ul a coborât după preț (96.45);</text>
<text x="544.0" y="343.0" fill="#555" text-anchor="middle" style="font-weight:bold">prima închidere peste el: ieși cu restul, 96.60</text> <text x="544.0" y="343.0" fill="#555" text-anchor="middle" style="font-weight:bold">prima închidere peste el: ieși cu restul, 96.60</text>
<text x="24" y="559" fill="#555">Pe short câștigi când prețul COBOARĂ: stopul stă SUS, ținta JOS, trail-ul coboară după preț. Roșu = ce riști, verde = ce câștigi.</text> <text x="24" y="559" fill="#555">Pe short câștigi când prețul COBOARĂ: stopul stă SUS, ținta JOS, trail-ul coboară după preț. Roșu = ce riști, verde = ce câștigi.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: sell --> <!-- /DIAGRAMA: sell -->
<p>Pe diagramă, doji-ul e între 99.20 și 100.10. A doua candelă se închide la <p>Pe diagramă, doji-ul e între 99.20 și 100.10. A doua candelă se închide la
@@ -1238,7 +1238,7 @@ același trade, cu atât e mai bun — dar materialul nu cere o poziție mai mar
Cele două panouri din diagramă sunt alte simboluri, cu alte prețuri (42 $ și Cele două panouri din diagramă sunt alte simboluri, cu alte prețuri (42 $ și
78 $).</p> 78 $).</p>
<!-- DIAGRAMA: aplus --> <!-- DIAGRAMA: aplus -->
<p><svg viewBox="0 0 1160 519" width="1160" height="519" 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)"> <svg viewBox="0 0 1160 519" width="1160" height="519" 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> <text x="24" y="48" fill="#333" style="font-weight:bold">A+ — doji la suport, volum în acumulare</text>
<rect x="184.5" y="256.2" width="19.0" height="33.0" fill="#188a3e" fill-opacity="0.08" stroke="#188a3e" stroke-width="1"/> <rect x="184.5" y="256.2" width="19.0" height="33.0" fill="#188a3e" fill-opacity="0.08" stroke="#188a3e" stroke-width="1"/>
<line x1="24" y1="282.6" x2="546" y2="282.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="24" y1="282.6" x2="546" y2="282.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
@@ -1412,7 +1412,7 @@ Cele două panouri din diagramă sunt alte simboluri, cu alte prețuri (42 $ și
<polygon points="314.0,113.2 322.4,116.2 316.7,121.8" fill="#c00"/> <polygon points="314.0,113.2 322.4,116.2 316.7,121.8" fill="#c00"/>
<text x="354.0" y="168.6" fill="#c00" text-anchor="middle" style="font-weight:bold">cade înapoi sub rezistența 78.50:</text> <text x="354.0" y="168.6" fill="#c00" text-anchor="middle" style="font-weight:bold">cade înapoi sub rezistența 78.50:</text>
<text x="354.0" y="182.6" fill="#c00" text-anchor="middle" style="font-weight:bold">semnalul a mințit</text> <text x="354.0" y="182.6" fill="#c00" text-anchor="middle" style="font-weight:bold">semnalul a mințit</text>
<text x="260.5" y="392.0" fill="#c00" style="font-weight:bold">volum slab: nimeni mare nu cumpără</text></g></svg></p> <text x="260.5" y="392.0" fill="#c00" style="font-weight:bold">volum slab: nimeni mare nu cumpără</text></g></svg>
<!-- /DIAGRAMA: aplus --> <!-- /DIAGRAMA: aplus -->
<table> <table>
@@ -1496,7 +1496,7 @@ patru ori mai multe acțiuni.</p>
daily. „MICI" e numele dat de curs variantei ținute luni de zile, pornită daily. „MICI" e numele dat de curs variantei ținute luni de zile, pornită
dintr-un Buy Doji weekly.</p> dintr-un Buy Doji weekly.</p>
<!-- DIAGRAMA: perechi_tf --> <!-- DIAGRAMA: perechi_tf -->
<p><svg viewBox="0 0 720 994" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 720 994" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<defs><marker id="pt-red" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0,0 L10,5 L0,10 z" fill="#c00"/></marker></defs> <defs><marker id="pt-red" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0,0 L10,5 L0,10 z" fill="#c00"/></marker></defs>
<text x="20.0" y="22.0" fill="#333" style="font-size:13px;font-weight:bold">Aceeași regulă pe trei perechi — graficul mic e lupa pe ultimele candele mari</text> <text x="20.0" y="22.0" fill="#333" style="font-size:13px;font-weight:bold">Aceeași regulă pe trei perechi — graficul mic e lupa pe ultimele candele mari</text>
<text x="20.0" y="54.0" fill="#333" style="font-size:13px;font-weight:bold">A. weekly → daily</text> <text x="20.0" y="54.0" fill="#333" style="font-size:13px;font-weight:bold">A. weekly → daily</text>
@@ -1774,7 +1774,7 @@ dintr-un Buy Doji weekly.</p>
<text x="424.5" y="935.0" fill="#555" text-anchor="middle" style="font-size:11px">fără să rupă low-ul doji-ului daily (bifa din stânga)</text> <text x="424.5" y="935.0" fill="#555" text-anchor="middle" style="font-size:11px">fără să rupă low-ul doji-ului daily (bifa din stânga)</text>
<text x="20.0" y="952.0" fill="#555" style="font-size:11px">bifa de sub doji = 100.76, minimul care nu se rupe</text> <text x="20.0" y="952.0" fill="#555" style="font-size:11px">bifa de sub doji = 100.76, minimul care nu se rupe</text>
<text x="20.0" y="972.0" fill="#777" style="font-size:10px">(șapte bare de 60 min pe zi: ședința 9:30-16:00 are 6 ore și jumătate — ultima bară a zilei e de 30 min)</text> <text x="20.0" y="972.0" fill="#777" style="font-size:10px">(șapte bare de 60 min pe zi: ședința 9:30-16:00 are 6 ore și jumătate — ultima bară a zilei e de 30 min)</text>
</svg></p> </svg>
<!-- /DIAGRAMA: perechi_tf --> <!-- /DIAGRAMA: perechi_tf -->
<table> <table>
@@ -1828,7 +1828,7 @@ multe doji-uri false; rata de 65-70 % nu e dată pe timeframe.</p>
</blockquote> </blockquote>
<h2 id="scanerul-pe-scurt">Scanerul, pe scurt</h2> <h2 id="scanerul-pe-scurt">Scanerul, pe scurt</h2>
<!-- DIAGRAMA: scaner --> <!-- DIAGRAMA: scaner -->
<p><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 670" width="640" height="670" role="img" aria-label="Scanerul Buy Doji în TradeStation — ordinea filtrelor și capcanele"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 670" width="640" height="670" role="img" aria-label="Scanerul Buy Doji în TradeStation — ordinea filtrelor și capcanele">
<rect x="0" y="0" width="640" height="670" fill="#ffffff"/> <rect x="0" y="0" width="640" height="670" fill="#ffffff"/>
<text x="320" y="30" font-family="system-ui, sans-serif" font-size="18" font-weight="700" fill="#000000" text-anchor="middle">Scanerul Buy Doji în TradeStation</text> <text x="320" y="30" font-family="system-ui, sans-serif" font-size="18" font-weight="700" fill="#000000" text-anchor="middle">Scanerul Buy Doji în TradeStation</text>
<text x="320" y="52" font-family="system-ui, sans-serif" font-size="13" font-weight="400" fill="#666666" text-anchor="middle">ordinea filtrelor și capcanele</text> <text x="320" y="52" font-family="system-ui, sans-serif" font-size="13" font-weight="400" fill="#666666" text-anchor="middle">ordinea filtrelor și capcanele</text>
@@ -1887,7 +1887,7 @@ multe doji-uri false; rata de 65-70 % nu e dată pe timeframe.</p>
<text x="165" y="604.8" font-family="system-ui, sans-serif" font-size="13" font-weight="400" fill="#188a3e" text-anchor="middle">→ o verifici pe grafic</text> <text x="165" y="604.8" font-family="system-ui, sans-serif" font-size="13" font-weight="400" fill="#188a3e" text-anchor="middle">→ o verifici pe grafic</text>
<text x="165" y="620.8" font-family="system-ui, sans-serif" font-size="13" font-weight="400" fill="#188a3e" text-anchor="middle">(pașii 2-6).</text> <text x="165" y="620.8" font-family="system-ui, sans-serif" font-size="13" font-weight="400" fill="#188a3e" text-anchor="middle">(pașii 2-6).</text>
<text x="165" y="636.8" font-family="system-ui, sans-serif" font-size="13" font-weight="400" fill="#188a3e" text-anchor="middle">Scanerul nu e undă verde.</text> <text x="165" y="636.8" font-family="system-ui, sans-serif" font-size="13" font-weight="400" fill="#188a3e" text-anchor="middle">Scanerul nu e undă verde.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: scaner --> <!-- /DIAGRAMA: scaner -->
<p>Capcanele: intervalul indicatorului nu se aliniază singur cu TF-ul <p>Capcanele: intervalul indicatorului nu se aliniază singur cu TF-ul
@@ -1899,7 +1899,7 @@ Buy Doji nu apar deloc și le vezi doar cu ochiul.</p>
restul cu ordine limită (se execută doar la prețul dat sau mai bun) mai jos, restul cu ordine limită (se execută doar la prețul dat sau mai bun) mai jos,
în corpul candelei de confirmare.</p> în corpul candelei de confirmare.</p>
<!-- DIAGRAMA: transe --> <!-- DIAGRAMA: transe -->
<p><svg viewBox="0 0 1372 1031" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 1372 1031" 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">Intrarea în trei tranșe — același trade (doji 50.10 / 49.25)</text> <text x="24" y="48" fill="#333" style="font-weight:bold">Intrarea în trei tranșe — același trade (doji 50.10 / 49.25)</text>
<rect x="218.3" y="572.0" width="20.0" height="120.0" fill="#188a3e" fill-opacity="0.08" stroke="#188a3e" stroke-width="1"/> <rect x="218.3" y="572.0" width="20.0" height="120.0" fill="#188a3e" fill-opacity="0.08" stroke="#188a3e" stroke-width="1"/>
<line x1="24" y1="284.0" x2="1358" y2="284.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="2 2"/> <line x1="24" y1="284.0" x2="1358" y2="284.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="2 2"/>
@@ -1964,7 +1964,7 @@ restul cu ordine limită (se execută doar la prețul dat sau mai bun) mai jos,
<line x1="608.3" y1="605.6" x2="958.3" y2="605.6" stroke="#1a5fb4" stroke-width="1.2" stroke-dasharray="2 3"/> <line x1="608.3" y1="605.6" x2="958.3" y2="605.6" stroke="#1a5fb4" stroke-width="1.2" stroke-dasharray="2 3"/>
<text x="608.3" y="621.6" fill="#1a5fb4">prețul mediu al celor trei tranșe: 50.26</text> <text x="608.3" y="621.6" fill="#1a5fb4">prețul mediu al celor trei tranșe: 50.26</text>
<text x="24" y="1019.0" fill="#555">Paranteza de pe candela de confirmare e corpul ei (49.90 → 50.40): pe el se măsoară 1/3 și 1/2. Stopul e unul singur. Exemplu construit.</text> <text x="24" y="1019.0" fill="#555">Paranteza de pe candela de confirmare e corpul ei (49.90 → 50.40): pe el se măsoară 1/3 și 1/2. Stopul e unul singur. Exemplu construit.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: transe --> <!-- /DIAGRAMA: transe -->
<p>Candela de confirmare are corpul între 49.90 și 50.40. O treime o cumperi la <p>Candela de confirmare are corpul între 49.90 și 50.40. O treime o cumperi la
@@ -1981,7 +1981,7 @@ prețuri calculezi ținta. Alege înainte de trade și ține-te de ea. Detalii:
</blockquote> </blockquote>
<h2 id="exemplul-real-labu-de-la-doji-la-30">Exemplul real: LABU, de la doji la +30 %</h2> <h2 id="exemplul-real-labu-de-la-doji-la-30">Exemplul real: LABU, de la doji la +30 %</h2>
<!-- DIAGRAMA: labu --> <!-- DIAGRAMA: labu -->
<p><svg viewBox="0 0 990 622" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 990 622" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="70" fill="#333" style="font-weight:bold">LABU — daily</text> <text x="24" y="70" fill="#333" style="font-weight:bold">LABU — daily</text>
<rect x="34.5" y="129.6" width="274.0" height="240.0" fill="#777" fill-opacity="0.08" stroke="#777" stroke-width="1"/> <rect x="34.5" y="129.6" width="274.0" height="240.0" fill="#777" fill-opacity="0.08" stroke="#777" stroke-width="1"/>
<text x="34.5" y="124.6" fill="#777" style="font-weight:bold">1. setup: scădere lungă, apoi primul test al pivotului 86.00</text> <text x="34.5" y="124.6" fill="#777" style="font-weight:bold">1. setup: scădere lungă, apoi primul test al pivotului 86.00</text>
@@ -2205,7 +2205,7 @@ prețuri calculezi ținta. Alege înainte de trade și ține-te de ea. Detalii:
<text x="24" y="568.2" fill="#c00">doji = corp mic (o 86.10, c 86.00): cumpărătorii și vânzătorii sunt la egalitate, exact pe pivotul lunar 86.00</text> <text x="24" y="568.2" fill="#c00">doji = corp mic (o 86.10, c 86.00): cumpărătorii și vânzătorii sunt la egalitate, exact pe pivotul lunar 86.00</text>
<text x="24" y="585.2" fill="#188a3e">ținta 1:1 (97.55) e atinsă a 6-a bară după intrare: acolo vinzi o treime, restul merge mai departe — de asta nu vinzi tot la 1:1</text> <text x="24" y="585.2" fill="#188a3e">ținta 1:1 (97.55) e atinsă a 6-a bară după intrare: acolo vinzi o treime, restul merge mai departe — de asta nu vinzi tot la 1:1</text>
<text x="24" y="610" fill="#555">Procentele (stop 9 %, +30 %) sunt ale cursului; nivelurile de preț sunt puse de sumarizator.</text> <text x="24" y="610" fill="#555">Procentele (stop 9 %, +30 %) sunt ale cursului; nivelurile de preț sunt puse de sumarizator.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: labu --> <!-- /DIAGRAMA: labu -->
<p><strong>Ce e real:</strong> doar procentele — stop de 9 %, +30 % într-o lună. Prețurile <p><strong>Ce e real:</strong> doar procentele — stop de 9 %, +30 % într-o lună. Prețurile

View File

@@ -782,8 +782,8 @@ dintre ele și pui stopul puțin sub el.**
<text x="24" y="48" fill="#333" style="font-weight:bold">Pasul 5 — stopul: numeri 4 candele înapoi de la confirmare</text> <text x="24" y="48" fill="#333" style="font-weight:bold">Pasul 5 — stopul: numeri 4 candele înapoi de la confirmare</text>
<rect x="178.0" y="289.2" width="80.0" height="88.0" fill="#1a5fb4" fill-opacity="0.08" stroke="#1a5fb4" stroke-width="1"/> <rect x="178.0" y="289.2" width="80.0" height="88.0" fill="#1a5fb4" fill-opacity="0.08" stroke="#1a5fb4" stroke-width="1"/>
<text x="178.0" y="284.2" fill="#1a5fb4" style="font-weight:bold">numeri 4 candele, începând cu confirmarea</text> <text x="178.0" y="284.2" fill="#1a5fb4" style="font-weight:bold">numeri 4 candele, începând cu confirmarea</text>
<line x1="24" y1="371.0" x2="706" y2="371.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="24.0" y1="371.0" x2="706" y2="371.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="365.0" fill="#c00">stopul: 49.20</text> <text x="30.0" y="365.0" fill="#c00">stopul: 49.20</text>
<line x1="48.0" y1="56.0" x2="48.0" y2="119.0" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="48.0" y1="56.0" x2="48.0" y2="119.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="43.0" y="65.0" width="10" height="43.2" fill="#c00"/> <rect x="43.0" y="65.0" width="10" height="43.2" fill="#c00"/>
<line x1="68.0" y1="99.2" x2="68.0" y2="158.6" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="68.0" y1="99.2" x2="68.0" y2="158.6" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -828,14 +828,14 @@ dintre ele și pui stopul puțin sub el.**
<line x1="24" y1="562" x2="706" y2="562" stroke="#ddd"/> <line x1="24" y1="562" x2="706" y2="562" stroke="#ddd"/>
<text x="24" y="617" fill="#333" style="font-weight:bold">Același trade: stop „la ochi” (sub candela de confirmare) vs stopul din regulă</text> <text x="24" y="617" fill="#333" style="font-weight:bold">Același trade: stop „la ochi” (sub candela de confirmare) vs stopul din regulă</text>
<rect x="258.0" y="922.0" width="40.0" height="18.0" fill="#c00" fill-opacity="0.08" stroke="#c00" stroke-width="1"/> <rect x="258.0" y="922.0" width="40.0" height="18.0" fill="#c00" fill-opacity="0.08" stroke="#c00" stroke-width="1"/>
<line x1="24" y1="853.6" x2="706" y2="853.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="2 2"/> <line x1="24.0" y1="853.6" x2="706" y2="853.6" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="2 2"/>
<text x="30" y="847.6" fill="#188a3e">ținta 1: 51.60</text> <text x="30.0" y="847.6" fill="#188a3e">ținta 1: 51.60</text>
<line x1="24" y1="896.8" x2="706" y2="896.8" stroke="#555" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="24.0" y1="896.8" x2="706" y2="896.8" stroke="#555" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="890.8" fill="#555">intrarea: 50.40</text> <text x="30.0" y="890.8" fill="#555">intrarea: 50.40</text>
<line x1="24" y1="922.0" x2="706" y2="922.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="243.0" y1="922.0" x2="706" y2="922.0" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="916.0" fill="#b06000">stop pus la ochi: 49.70</text> <text x="692" y="916.0" fill="#b06000" text-anchor="end">stop pus la ochi: 49.70</text>
<line x1="24" y1="940.0" x2="706" y2="940.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="24.0" y1="940.0" x2="706" y2="940.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="934.0" fill="#c00">stopul din regulă: 49.20</text> <text x="30.0" y="934.0" fill="#c00">stopul din regulă: 49.20</text>
<line x1="48.0" y1="625.0" x2="48.0" y2="688.0" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="48.0" y1="625.0" x2="48.0" y2="688.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="43.0" y="634.0" width="10" height="43.2" fill="#c00"/> <rect x="43.0" y="634.0" width="10" height="43.2" fill="#c00"/>
<line x1="68.0" y1="668.2" x2="68.0" y2="727.6" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="68.0" y1="668.2" x2="68.0" y2="727.6" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -888,7 +888,7 @@ dintre ele și pui stopul puțin sub el.**
<text x="518.0" y="804.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">dar numai cu stopul corect</text> <text x="518.0" y="804.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">dar numai cu stopul corect</text>
<text x="518.0" y="818.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">mai erai în trade</text> <text x="518.0" y="818.6" fill="#188a3e" text-anchor="middle" style="font-weight:bold">mai erai în trade</text>
<text x="24" y="1143" fill="#555">Barele de după intrare și stopul la ochi sunt construite, pentru contrast.</text> <text x="24" y="1143" fill="#555">Barele de după intrare și stopul la ochi sunt construite, pentru contrast.</text>
<text x="318.0" y="916.0" fill="#c00" style="font-weight:bold">pe aici trece al doilea picior</text> <text x="338.0" y="916.0" fill="#c00" style="font-weight:bold">pe aici trece al doilea picior</text>
</svg> </svg>
<!-- /DIAGRAMA: stop --> <!-- /DIAGRAMA: stop -->

View File

@@ -77,7 +77,7 @@ panoul de 15 minute: pe panoul mic e sub scara desenată, deci e marcat pe cel
mare și trimis acolo prin etichetă, nu printr-un conector. E o lupă, nu o mare și trimis acolo prin etichetă, nu printr-un conector. E o lupă, nu o
eroare de desen.</p> eroare de desen.</p>
<!-- DIAGRAMA: ansamblu --> <!-- DIAGRAMA: ansamblu -->
<p><svg viewBox="0 0 720 368" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 720 368" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<defs><marker id="pt" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0,0 L10,5 L0,10 z" fill="#c00"/></marker><marker id="pt-o" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0,0 L10,5 L0,10 z" fill="#b06000"/></marker></defs> <defs><marker id="pt" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0,0 L10,5 L0,10 z" fill="#c00"/></marker><marker id="pt-o" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0,0 L10,5 L0,10 z" fill="#b06000"/></marker></defs>
<text x="20.0" y="24.0" fill="#333" style="font-size:14px;font-weight:bold">M2D long, tot trade-ul: 15 min dă direcția, 3 min dă intrarea</text> <text x="20.0" y="24.0" fill="#333" style="font-size:14px;font-weight:bold">M2D long, tot trade-ul: 15 min dă direcția, 3 min dă intrarea</text>
<text x="20.0" y="42.0" fill="#555" style="font-size:11px">Graficul din dreapta nu e altă bucată de piață: e aceeași, mărită. O candelă de 15 min = 5 candele de 3 min.</text> <text x="20.0" y="42.0" fill="#555" style="font-size:11px">Graficul din dreapta nu e altă bucată de piață: e aceeași, mărită. O candelă de 15 min = 5 candele de 3 min.</text>
@@ -187,7 +187,7 @@ eroare de desen.</p>
<text x="367.0" y="320.0" fill="#188a3e" style="font-size:11px">pentru că 15 min e încă în Buy.</text> <text x="367.0" y="320.0" fill="#188a3e" style="font-size:11px">pentru că 15 min e încă în Buy.</text>
<text x="367.0" y="334.0" fill="#555" style="font-size:11px">Wick-urile nu contează: se citește close-ul.</text> <text x="367.0" y="334.0" fill="#555" style="font-size:11px">Wick-urile nu contează: se citește close-ul.</text>
<text x="20.0" y="350.0" fill="#555" style="font-size:11px">Serie construită, fără ticker. Risc = 100.40 − 99.90 = 0.50; TP1 la aceeași distanță în sus; ieșirea pe trail la 1.4R.</text> <text x="20.0" y="350.0" fill="#555" style="font-size:11px">Serie construită, fără ticker. Risc = 100.40 − 99.90 = 0.50; TP1 la aceeași distanță în sus; ieșirea pe trail la 1.4R.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: ansamblu --> <!-- /DIAGRAMA: ansamblu -->
<p>De la stânga la dreapta: pe 15 minute prețul urcă și dă semnalul de Buy <p>De la stânga la dreapta: pe 15 minute prețul urcă și dă semnalul de Buy
@@ -337,72 +337,72 @@ pentru pullback; pentru day trading 3×15, 5×25, 5×60 și 15×60; pentru swing
lista nu e închisă (sesiunile de întrebări adaugă 5×40 și 15×75), dar fiecare lista nu e închisă (sesiunile de întrebări adaugă 5×40 și 15×75), dar fiecare
pereche își are propria statistică, iar tu n-ai măsurat-o pe a ta.</p> pereche își are propria statistică, iar tu n-ai măsurat-o pe a ta.</p>
<!-- DIAGRAMA: directie --> <!-- DIAGRAMA: directie -->
<p><svg viewBox="0 0 680 681" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 680 681" 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="22" fill="#188a3e" style="font-weight:bold">DA — 15 min e încă în Buy când vine trigger-ul de pe 3 min</text><rect x="284.0" y="48.4" width="132.0" height="85.7" fill="#188a3e" fill-opacity="0.12" stroke="#188a3e" stroke-width="1"/><text x="290.0" y="41.4" fill="#188a3e" style="font-weight:bold">zona în care ai voie long</text><line x1="24" y1="89.3" x2="666" y2="89.3" stroke="#0891b2" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="83.3" fill="#0891b2" text-anchor="end" style="font-weight:bold">close-ul candelei de semnal 100.60</text><line x1="24" y1="126.1" x2="666" y2="126.1" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="147.1" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit mișcarea 99.80</text> <g transform="translate(0,0)"><text x="24" y="22" fill="#188a3e" style="font-weight:bold">DA — 15 min e încă în Buy când vine trigger-ul de pe 3 min</text><rect x="270.0" y="48.4" width="132.0" height="85.7" fill="#188a3e" fill-opacity="0.12" stroke="#188a3e" stroke-width="1"/><text x="276.0" y="41.4" fill="#188a3e" style="font-weight:bold">zona în care ai voie long</text><line x1="24" y1="89.3" x2="666" y2="89.3" stroke="#0891b2" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="83.3" fill="#0891b2" text-anchor="end" style="font-weight:bold">close-ul candelei de semnal 100.60</text><line x1="24" y1="126.1" x2="666" y2="126.1" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="147.1" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit</text><text x="30" y="161.1" fill="#555" text-anchor="start" style="font-weight:bold">mișcarea 99.80</text>
<line x1="74.0" y1="192.8" x2="74.0" y2="215.8" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="60.0" y1="192.8" x2="60.0" y2="215.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="66.5" y="197.4" width="15" height="11.5" fill="#188a3e"/> <rect x="52.5" y="197.4" width="15" height="11.5" fill="#188a3e"/>
<line x1="120.0" y1="176.7" x2="120.0" y2="202.0" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="106.0" y1="176.7" x2="106.0" y2="202.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="112.5" y="181.3" width="15" height="16.1" fill="#188a3e"/> <rect x="98.5" y="181.3" width="15" height="16.1" fill="#188a3e"/>
<line x1="166.0" y1="158.3" x2="166.0" y2="185.9" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="152.0" y1="158.3" x2="152.0" y2="185.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="158.5" y="162.9" width="15" height="18.4" fill="#188a3e"/> <rect x="144.5" y="162.9" width="15" height="18.4" fill="#188a3e"/>
<line x1="212.0" y1="142.2" x2="212.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="198.0" y1="142.2" x2="198.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="149.1" width="15" height="13.8" fill="#188a3e"/> <rect x="190.5" y="149.1" width="15" height="13.8" fill="#188a3e"/>
<line x1="258.0" y1="119.2" x2="258.0" y2="153.7" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="244.0" y1="119.2" x2="244.0" y2="153.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="250.5" y="123.8" width="15" height="25.3" fill="#188a3e"/> <rect x="236.5" y="123.8" width="15" height="25.3" fill="#188a3e"/>
<line x1="304.0" y1="82.4" x2="304.0" y2="126.1" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="290.0" y1="82.4" x2="290.0" y2="126.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="296.5" y="89.3" width="15" height="34.5" fill="#188a3e"/> <rect x="282.5" y="89.3" width="15" height="34.5" fill="#188a3e"/>
<line x1="350.0" y1="84.7" x2="350.0" y2="116.9" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="336.0" y1="84.7" x2="336.0" y2="116.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="342.5" y="89.3" width="15" height="25.3" fill="#c00"/> <rect x="328.5" y="89.3" width="15" height="25.3" fill="#c00"/>
<line x1="396.0" y1="96.2" x2="396.0" y2="121.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="382.0" y1="96.2" x2="382.0" y2="121.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="388.5" y="98.5" width="15" height="16.1" fill="#188a3e"/> <rect x="374.5" y="98.5" width="15" height="16.1" fill="#188a3e"/>
<line x1="442.0" y1="64.0" x2="442.0" y2="100.8" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="428.0" y1="64.0" x2="428.0" y2="100.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="434.5" y="70.9" width="15" height="27.6" fill="#188a3e"/> <rect x="420.5" y="70.9" width="15" height="27.6" fill="#188a3e"/>
<line x1="244.0" y1="247.9" x2="300.4" y2="137.2" stroke="#0891b2" stroke-width="1.8"/> <line x1="230.0" y1="247.9" x2="286.4" y2="137.2" stroke="#0891b2" stroke-width="1.8"/>
<polygon points="304.0,130.1 303.9,139.0 296.8,135.4" fill="#0891b2"/> <polygon points="290.0,130.1 289.9,139.0 282.8,135.4" fill="#0891b2"/>
<text x="244.0" y="261.9" fill="#0891b2" text-anchor="middle" style="font-weight:bold">Buy Momentum pe 15 min:</text> <text x="230.0" y="261.9" fill="#0891b2" text-anchor="middle" style="font-weight:bold">Buy Momentum pe 15 min:</text>
<text x="244.0" y="275.9" fill="#0891b2" text-anchor="middle" style="font-weight:bold">de aici ai voie doar long</text> <text x="230.0" y="275.9" fill="#0891b2" text-anchor="middle" style="font-weight:bold">de aici ai voie doar long</text>
<line x1="320.0" y1="201.5" x2="347.2" y2="128.4" stroke="#555" stroke-width="1.8"/> <line x1="306.0" y1="201.5" x2="333.2" y2="128.4" stroke="#555" stroke-width="1.8"/>
<polygon points="350.0,120.9 351.0,129.8 343.5,127.0" fill="#555"/> <polygon points="336.0,120.9 337.0,129.8 329.5,127.0" fill="#555"/>
<text x="320.0" y="215.5" fill="#555" text-anchor="middle" style="font-weight:bold">candelă roșie pe 15 min, dar close-ul</text> <text x="306.0" y="215.5" fill="#555" text-anchor="middle" style="font-weight:bold">candelă roșie pe 15 min, dar close-ul</text>
<text x="320.0" y="229.5" fill="#555" text-anchor="middle" style="font-weight:bold">rămâne peste 99.80: pullback, nu întoarcere</text> <text x="306.0" y="229.5" fill="#555" text-anchor="middle" style="font-weight:bold">rămâne peste 99.80: pullback, nu întoarcere</text>
<line x1="372.0" y1="74.0" x2="389.6" y2="87.4" stroke="#188a3e" stroke-width="1.8"/> <line x1="358.0" y1="74.0" x2="375.6" y2="87.4" stroke="#188a3e" stroke-width="1.8"/>
<polygon points="396.0,92.2 387.2,90.6 392.0,84.2" fill="#188a3e"/> <polygon points="382.0,92.2 373.2,90.6 378.0,84.2" fill="#188a3e"/>
<text x="372.0" y="69.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">aici cade trigger-ul de pe 3 min</text> <text x="358.0" y="69.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">aici cade trigger-ul de pe 3 min</text>
</g> </g>
<g transform="translate(0,311)"><text x="24" y="22" fill="#c00" style="font-weight:bold">NU — 15 min s-a închis Sell: setup-ul long e anulat</text><rect x="376.0" y="85.9" width="86.0" height="85.0" fill="#c00" fill-opacity="0.12" stroke="#c00" stroke-width="1"/><text x="382.0" y="78.9" fill="#c00" style="font-weight:bold">setup anulat</text><line x1="24" y1="70.9" x2="666" y2="70.9" stroke="#0891b2" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="64.9" fill="#0891b2" text-anchor="end" style="font-weight:bold">close-ul candelei de semnal 100.60</text><line x1="24" y1="107.7" x2="666" y2="107.7" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="128.7" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit mișcarea 99.80</text> <g transform="translate(0,311)"><text x="24" y="22" fill="#c00" style="font-weight:bold">NU — 15 min s-a închis Sell: setup-ul long e anulat</text><rect x="362.0" y="85.9" width="86.0" height="85.0" fill="#c00" fill-opacity="0.12" stroke="#c00" stroke-width="1"/><text x="368.0" y="78.9" fill="#c00" style="font-weight:bold">setup anulat</text><line x1="24" y1="70.9" x2="666" y2="70.9" stroke="#0891b2" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="64.9" fill="#0891b2" text-anchor="end" style="font-weight:bold">close-ul candelei de semnal 100.60</text><line x1="24" y1="107.7" x2="666" y2="107.7" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="128.7" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit</text><text x="30" y="142.7" fill="#555" text-anchor="start" style="font-weight:bold">mișcarea 99.80</text>
<line x1="74.0" y1="174.4" x2="74.0" y2="197.4" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="60.0" y1="174.4" x2="60.0" y2="197.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="66.5" y="179.0" width="15" height="11.5" fill="#188a3e"/> <rect x="52.5" y="179.0" width="15" height="11.5" fill="#188a3e"/>
<line x1="120.0" y1="158.3" x2="120.0" y2="183.6" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="106.0" y1="158.3" x2="106.0" y2="183.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="112.5" y="162.9" width="15" height="16.1" fill="#188a3e"/> <rect x="98.5" y="162.9" width="15" height="16.1" fill="#188a3e"/>
<line x1="166.0" y1="139.9" x2="166.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="152.0" y1="139.9" x2="152.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="158.5" y="144.5" width="15" height="18.4" fill="#188a3e"/> <rect x="144.5" y="144.5" width="15" height="18.4" fill="#188a3e"/>
<line x1="212.0" y1="123.8" x2="212.0" y2="149.1" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="198.0" y1="123.8" x2="198.0" y2="149.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="130.7" width="15" height="13.8" fill="#188a3e"/> <rect x="190.5" y="130.7" width="15" height="13.8" fill="#188a3e"/>
<line x1="258.0" y1="100.8" x2="258.0" y2="135.3" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="244.0" y1="100.8" x2="244.0" y2="135.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="250.5" y="105.4" width="15" height="25.3" fill="#188a3e"/> <rect x="236.5" y="105.4" width="15" height="25.3" fill="#188a3e"/>
<line x1="304.0" y1="64.0" x2="304.0" y2="107.7" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="290.0" y1="64.0" x2="290.0" y2="107.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="296.5" y="70.9" width="15" height="34.5" fill="#188a3e"/> <rect x="282.5" y="70.9" width="15" height="34.5" fill="#188a3e"/>
<line x1="350.0" y1="66.3" x2="350.0" y2="98.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="336.0" y1="66.3" x2="336.0" y2="98.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="342.5" y="70.9" width="15" height="25.3" fill="#c00"/> <rect x="328.5" y="70.9" width="15" height="25.3" fill="#c00"/>
<line x1="396.0" y1="93.9" x2="396.0" y2="135.3" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="382.0" y1="93.9" x2="382.0" y2="135.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="388.5" y="96.2" width="15" height="34.5" fill="#c00"/> <rect x="374.5" y="96.2" width="15" height="34.5" fill="#c00"/>
<line x1="442.0" y1="126.1" x2="442.0" y2="162.9" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="428.0" y1="126.1" x2="428.0" y2="162.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="434.5" y="130.7" width="15" height="25.3" fill="#c00"/> <rect x="420.5" y="130.7" width="15" height="25.3" fill="#c00"/>
<line x1="244.0" y1="229.5" x2="300.4" y2="118.8" stroke="#0891b2" stroke-width="1.8"/> <line x1="230.0" y1="229.5" x2="286.4" y2="118.8" stroke="#0891b2" stroke-width="1.8"/>
<polygon points="304.0,111.7 303.9,120.6 296.8,117.0" fill="#0891b2"/> <polygon points="290.0,111.7 289.9,120.6 282.8,117.0" fill="#0891b2"/>
<text x="244.0" y="243.5" fill="#0891b2" text-anchor="middle" style="font-weight:bold">Buy Momentum pe 15 min:</text> <text x="230.0" y="243.5" fill="#0891b2" text-anchor="middle" style="font-weight:bold">Buy Momentum pe 15 min:</text>
<text x="244.0" y="257.5" fill="#0891b2" text-anchor="middle" style="font-weight:bold">de aici ai voie doar long</text> <text x="230.0" y="257.5" fill="#0891b2" text-anchor="middle" style="font-weight:bold">de aici ai voie doar long</text>
<line x1="356.0" y1="190.9" x2="391.1" y2="145.6" stroke="#c00" stroke-width="1.8"/> <line x1="342.0" y1="190.9" x2="377.1" y2="145.6" stroke="#c00" stroke-width="1.8"/>
<polygon points="396.0,139.3 394.3,148.1 387.9,143.2" fill="#c00"/> <polygon points="382.0,139.3 380.3,148.1 373.9,143.2" fill="#c00"/>
<text x="356.0" y="204.9" fill="#c00" text-anchor="middle" style="font-weight:bold">close 99.30, sub 99.80: direcția mare</text> <text x="342.0" y="204.9" fill="#c00" text-anchor="middle" style="font-weight:bold">close 99.30, sub 99.80: direcția mare</text>
<text x="356.0" y="218.9" fill="#c00" text-anchor="middle" style="font-weight:bold">s-a răsucit — nu mai intri long</text> <text x="342.0" y="218.9" fill="#c00" text-anchor="middle" style="font-weight:bold">s-a răsucit — nu mai intri long</text>
<line x1="322.0" y1="274.9" x2="436.1" y2="172.3" stroke="#c00" stroke-width="1.8"/> <line x1="308.0" y1="274.9" x2="422.1" y2="172.3" stroke="#c00" stroke-width="1.8"/>
<polygon points="442.0,166.9 438.7,175.2 433.4,169.3" fill="#c00"/> <polygon points="428.0,166.9 424.7,175.2 419.4,169.3" fill="#c00"/>
<text x="322.0" y="288.9" fill="#c00" text-anchor="middle" style="font-weight:bold">de aici cauți short, nu long</text> <text x="308.0" y="288.9" fill="#c00" text-anchor="middle" style="font-weight:bold">de aici cauți short, nu long</text>
</g> </g>
<text x="24" y="641" fill="#555">Același grafic de 15 minute ca în diagrama de ansamblu; serie construită, fără ticker.</text> <text x="24" y="641" fill="#555">Același grafic de 15 minute ca în diagrama de ansamblu; serie construită, fără ticker.</text>
<text x="24" y="658" fill="#555">Pe 15 min se citește DIRECȚIA, nu intrarea. Intrarea vine de pe 3 min (pasul 3).</text> <text x="24" y="658" fill="#555">Pe 15 min se citește DIRECȚIA, nu intrarea. Intrarea vine de pe 3 min (pasul 3).</text>
</svg></p> </svg>
<!-- /DIAGRAMA: directie --> <!-- /DIAGRAMA: directie -->
<p>Sus, cazul bun: semnalul de Buy Momentum vine pe candela de 15 minute care se <p>Sus, cazul bun: semnalul de Buy Momentum vine pe candela de 15 minute care se
@@ -425,7 +425,7 @@ forță, e o strategie de intrare pe <strong>reluare după pauză</strong>. Dac
bară după bară, fără nicio pauză în jos, nu ai unde să pui stopul: n-ai niciun bară după bară, fără nicio pauză în jos, nu ai unde să pui stopul: n-ai niciun
minim recent sub care ideea să fie moartă.</p> minim recent sub care ideea să fie moartă.</p>
<!-- DIAGRAMA: secventa --> <!-- DIAGRAMA: secventa -->
<p><svg viewBox="0 0 680 743" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 680 743" 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="22" fill="#188a3e" style="font-weight:bold">DA — pullback pe 3 min, care nu rupe minimul de referință</text><rect x="54.0" y="62.4" width="280.0" height="128.4" fill="#c00" fill-opacity="0.12" stroke="#c00" stroke-width="1"/><text x="60.0" y="55.4" fill="#c00" style="font-weight:bold">M: pullback</text><line x1="24" y1="193.6" x2="666" y2="193.6" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="214.6" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit mișcarea 99.80 — sub el nu mai e pullback</text><line x1="24" y1="182.8" x2="666" y2="182.8" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="176.8" fill="#c00" text-anchor="end" style="font-weight:bold">cel mai jos punct al pullback-ului 99.90</text> <g transform="translate(0,0)"><text x="24" y="22" fill="#188a3e" style="font-weight:bold">DA — pullback pe 3 min, care nu rupe minimul de referință</text><rect x="54.0" y="62.4" width="280.0" height="128.4" fill="#c00" fill-opacity="0.12" stroke="#c00" stroke-width="1"/><text x="60.0" y="55.4" fill="#c00" style="font-weight:bold">M: pullback</text><line x1="24" y1="193.6" x2="666" y2="193.6" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="214.6" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit mișcarea 99.80 — sub el nu mai e pullback</text><line x1="24" y1="182.8" x2="666" y2="182.8" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="176.8" fill="#c00" text-anchor="end" style="font-weight:bold">cel mai jos punct al pullback-ului 99.90</text>
<line x1="66.0" y1="96.4" x2="66.0" y2="128.8" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="66.0" y1="96.4" x2="66.0" y2="128.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="60.5" y="107.2" width="11" height="16.2" fill="#c00"/> <rect x="60.5" y="107.2" width="11" height="16.2" fill="#c00"/>
@@ -496,7 +496,7 @@ minim recent sub care ideea să fie moartă.</p>
</g> </g>
<text x="24" y="703" fill="#555">Ambele panouri: 3 minute, serie construită, aceleași cifre ca în diagrama de ansamblu.</text> <text x="24" y="703" fill="#555">Ambele panouri: 3 minute, serie construită, aceleași cifre ca în diagrama de ansamblu.</text>
<text x="24" y="720" fill="#555">Pullback nu înseamnă „nu mai face minim nou": înseamnă că nu rupe minimul din care a pornit mișcarea.</text> <text x="24" y="720" fill="#555">Pullback nu înseamnă „nu mai face minim nou": înseamnă că nu rupe minimul din care a pornit mișcarea.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: secventa --> <!-- /DIAGRAMA: secventa -->
<p>Sus, pullback corect: nouă bare de 3 minute care coboară de la 100.45 până la <p>Sus, pullback corect: nouă bare de 3 minute care coboară de la 100.45 până la
@@ -526,7 +526,7 @@ treilea, ai altă strategie, construită din alegerile tale, cu o statistică pe
care n-o cunoaște nimeni. Iar dacă ai ratat semnalul, ai ratat trade-ul: nu care n-o cunoaște nimeni. Iar dacă ai ratat semnalul, ai ratat trade-ul: nu
intri pe amintirea lui.</p> intri pe amintirea lui.</p>
<!-- DIAGRAMA: trigger --> <!-- DIAGRAMA: trigger -->
<p><svg viewBox="0 0 680 662" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 680 662" 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="22" fill="#188a3e" style="font-weight:bold">DA — bara se închide peste capăt</text><rect x="253.0" y="83.2" width="86.0" height="103.2" fill="#188a3e" fill-opacity="0.12" stroke="#188a3e" stroke-width="1"/><text x="259.0" y="76.2" fill="#188a3e" style="font-weight:bold">aici se decide intrarea</text><line x1="24" y1="159.7" x2="666" y2="159.7" stroke="#555" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="180.7" fill="#555" text-anchor="end" style="font-weight:bold">capătul pullback-ului 100.08</text><text x="656" y="194.7" fill="#555" text-anchor="end" style="font-weight:bold">peste el trebuie ÎNCHIS, nu doar atins</text> <g transform="translate(0,0)"><text x="24" y="22" fill="#188a3e" style="font-weight:bold">DA — bara se închide peste capăt</text><rect x="253.0" y="83.2" width="86.0" height="103.2" fill="#188a3e" fill-opacity="0.12" stroke="#188a3e" stroke-width="1"/><text x="259.0" y="76.2" fill="#188a3e" style="font-weight:bold">aici se decide intrarea</text><line x1="24" y1="159.7" x2="666" y2="159.7" stroke="#555" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="180.7" fill="#555" text-anchor="end" style="font-weight:bold">capătul pullback-ului 100.08</text><text x="656" y="194.7" fill="#555" text-anchor="end" style="font-weight:bold">peste el trebuie ÎNCHIS, nu doar atins</text>
<line x1="56.0" y1="95.2" x2="56.0" y2="126.4" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="56.0" y1="95.2" x2="56.0" y2="126.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="50.0" y="105.6" width="12" height="15.6" fill="#c00"/> <rect x="50.0" y="105.6" width="12" height="15.6" fill="#c00"/>
@@ -601,7 +601,7 @@ intri pe amintirea lui.</p>
</g> </g>
<text x="24" y="622" fill="#555">Primele 9 bare sunt identice pe ambele panouri; se schimbă doar ce urmează.</text> <text x="24" y="622" fill="#555">Primele 9 bare sunt identice pe ambele panouri; se schimbă doar ce urmează.</text>
<text x="24" y="639" fill="#555">Trigger-ul se citește pe bară ÎNCHISĂ, nu pe fitil — la fel se citește și ieșirea pe trail (pasul 5).</text> <text x="24" y="639" fill="#555">Trigger-ul se citește pe bară ÎNCHISĂ, nu pe fitil — la fel se citește și ieșirea pe trail (pasul 5).</text>
</svg></p> </svg>
<!-- /DIAGRAMA: trigger --> <!-- /DIAGRAMA: trigger -->
<p>Sus: capătul pullback-ului e 100.08 și bara se închide la 100.40, peste el — <p>Sus: capătul pullback-ului e 100.08 și bara se închide la 100.40, peste el —
@@ -621,7 +621,7 @@ ele și pui stopul acolo. La short: cea mai înaltă.</strong></p>
capitolul. Materialul <strong>nu explică de ce 4</strong> bare; o tratează ca regulă capitolul. Materialul <strong>nu explică de ce 4</strong> bare; o tratează ca regulă
mecanică, iar eu n-o să inventez o justificare.</p> mecanică, iar eu n-o să inventez o justificare.</p>
<!-- DIAGRAMA: stop --> <!-- DIAGRAMA: stop -->
<p><svg viewBox="0 0 680 765" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 680 765" 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="22" fill="#c00" style="font-weight:bold">Metoda de bază — cele 4 bare</text><rect x="253.0" y="71.0" width="128.0" height="128.5" fill="#c00" fill-opacity="0.12" stroke="#c00" stroke-width="1"/><text x="259.0" y="64.0" fill="#c00" style="font-weight:bold">4 bare, numărate de la trigger înapoi</text><line x1="24" y1="116.5" x2="666" y2="116.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="110.5" fill="#188a3e" text-anchor="end" style="font-weight:bold">intrare 100.40</text><line x1="24" y1="191.5" x2="666" y2="191.5" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/><text x="30" y="212.5" fill="#c00" text-anchor="start" style="font-weight:bold">stop 99.90 — risc 0.50 pe acțiune (0,50 %)</text> <g transform="translate(0,0)"><text x="24" y="22" fill="#c00" style="font-weight:bold">Metoda de bază — cele 4 bare</text><rect x="253.0" y="71.0" width="128.0" height="128.5" fill="#c00" fill-opacity="0.12" stroke="#c00" stroke-width="1"/><text x="259.0" y="64.0" fill="#c00" style="font-weight:bold">4 bare, numărate de la trigger înapoi</text><line x1="24" y1="116.5" x2="666" y2="116.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="110.5" fill="#188a3e" text-anchor="end" style="font-weight:bold">intrare 100.40</text><line x1="24" y1="191.5" x2="666" y2="191.5" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/><text x="30" y="212.5" fill="#c00" text-anchor="start" style="font-weight:bold">stop 99.90 — risc 0.50 pe acțiune (0,50 %)</text>
<line x1="62.0" y1="71.5" x2="62.0" y2="116.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="62.0" y1="71.5" x2="62.0" y2="116.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="55.5" y="86.5" width="13" height="22.5" fill="#c00"/> <rect x="55.5" y="86.5" width="13" height="22.5" fill="#c00"/>
@@ -690,7 +690,7 @@ mecanică, iar eu n-o să inventez o justificare.</p>
<text x="24" y="708" fill="#555">Jos: din curs sunt reale doar 517.78, ATR(10) = 2.88, 512.02 și 512.87; restul barelor sunt construite.</text> <text x="24" y="708" fill="#555">Jos: din curs sunt reale doar 517.78, ATR(10) = 2.88, 512.02 și 512.87; restul barelor sunt construite.</text>
<text x="24" y="725" fill="#555">ATR-ul dă un stop mai larg, deci un risc mai mare pe acțiune — și, la același</text> <text x="24" y="725" fill="#555">ATR-ul dă un stop mai larg, deci un risc mai mare pe acțiune — și, la același</text>
<text x="24" y="742" fill="#555">risc în dolari, mai puține acțiuni.</text> <text x="24" y="742" fill="#555">risc în dolari, mai puține acțiuni.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: stop --> <!-- /DIAGRAMA: stop -->
<p>Sus, exemplul construit: cea mai joasă bară dintre cele 4 are minimul 99.90, <p>Sus, exemplul construit: cea mai joasă bară dintre cele 4 are minimul 99.90,
@@ -734,7 +734,7 @@ dedesubt, iar restul poziției îl ții pe trailing stop până la prima bară
low-uri. Regula standard rămâne cea de mai sus.</li> low-uri. Regula standard rămâne cea de mai sus.</li>
</ol> </ol>
<!-- DIAGRAMA: iesire --> <!-- DIAGRAMA: iesire -->
<p><svg viewBox="0 0 680 737" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 680 737" 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="22" fill="#188a3e" style="font-weight:bold">LONG — bull trail: linia urcă, nu coboară</text><line x1="126.0" y1="250.0" x2="166.0" y2="250.0" stroke="#b06000" stroke-width="2"/><line x1="166.0" y1="227.5" x2="206.0" y2="227.5" stroke="#b06000" stroke-width="2"/><line x1="166.0" y1="250.0" x2="166.0" y2="227.5" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 2"/><line x1="206.0" y1="205.0" x2="246.0" y2="205.0" stroke="#b06000" stroke-width="2"/><line x1="206.0" y1="227.5" x2="206.0" y2="205.0" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 2"/><line x1="246.0" y1="170.5" x2="286.0" y2="170.5" stroke="#b06000" stroke-width="2"/><line x1="246.0" y1="205.0" x2="246.0" y2="170.5" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 2"/><line x1="286.0" y1="170.5" x2="326.0" y2="170.5" stroke="#b06000" stroke-width="2"/><line x1="326.0" y1="160.0" x2="366.0" y2="160.0" stroke="#b06000" stroke-width="2"/><line x1="326.0" y1="170.5" x2="326.0" y2="160.0" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 2"/><line x1="366.0" y1="115.0" x2="406.0" y2="115.0" stroke="#b06000" stroke-width="2"/><line x1="366.0" y1="160.0" x2="366.0" y2="115.0" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 2"/><line x1="406.0" y1="115.0" x2="446.0" y2="115.0" stroke="#b06000" stroke-width="2"/><line x1="446.0" y1="115.0" x2="486.0" y2="115.0" stroke="#b06000" stroke-width="2"/><line x1="24" y1="167.5" x2="666" y2="167.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="161.5" fill="#188a3e" text-anchor="end" style="font-weight:bold">TP1 100.90 = 1:1</text><line x1="24" y1="242.5" x2="666" y2="242.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="263.5" fill="#188a3e" text-anchor="end" style="font-weight:bold">intrare 100.40</text><line x1="24" y1="317.5" x2="666" y2="317.5" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/><text x="30" y="338.5" fill="#c00" text-anchor="start" style="font-weight:bold">stop 99.90 (pasul 4)</text> <g transform="translate(0,0)"><text x="24" y="22" fill="#188a3e" style="font-weight:bold">LONG — bull trail: linia urcă, nu coboară</text><line x1="126.0" y1="250.0" x2="166.0" y2="250.0" stroke="#b06000" stroke-width="2"/><line x1="166.0" y1="227.5" x2="206.0" y2="227.5" stroke="#b06000" stroke-width="2"/><line x1="166.0" y1="250.0" x2="166.0" y2="227.5" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 2"/><line x1="206.0" y1="205.0" x2="246.0" y2="205.0" stroke="#b06000" stroke-width="2"/><line x1="206.0" y1="227.5" x2="206.0" y2="205.0" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 2"/><line x1="246.0" y1="170.5" x2="286.0" y2="170.5" stroke="#b06000" stroke-width="2"/><line x1="246.0" y1="205.0" x2="246.0" y2="170.5" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 2"/><line x1="286.0" y1="170.5" x2="326.0" y2="170.5" stroke="#b06000" stroke-width="2"/><line x1="326.0" y1="160.0" x2="366.0" y2="160.0" stroke="#b06000" stroke-width="2"/><line x1="326.0" y1="170.5" x2="326.0" y2="160.0" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 2"/><line x1="366.0" y1="115.0" x2="406.0" y2="115.0" stroke="#b06000" stroke-width="2"/><line x1="366.0" y1="160.0" x2="366.0" y2="115.0" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 2"/><line x1="406.0" y1="115.0" x2="446.0" y2="115.0" stroke="#b06000" stroke-width="2"/><line x1="446.0" y1="115.0" x2="486.0" y2="115.0" stroke="#b06000" stroke-width="2"/><line x1="24" y1="167.5" x2="666" y2="167.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="161.5" fill="#188a3e" text-anchor="end" style="font-weight:bold">TP1 100.90 = 1:1</text><line x1="24" y1="242.5" x2="666" y2="242.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="263.5" fill="#188a3e" text-anchor="end" style="font-weight:bold">intrare 100.40</text><line x1="24" y1="317.5" x2="666" y2="317.5" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/><text x="30" y="338.5" fill="#c00" text-anchor="start" style="font-weight:bold">stop 99.90 (pasul 4)</text>
<line x1="66.0" y1="290.5" x2="66.0" y2="311.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="66.0" y1="290.5" x2="66.0" y2="311.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="59.0" y="299.5" width="14" height="6.0" fill="#188a3e"/> <rect x="59.0" y="299.5" width="14" height="6.0" fill="#188a3e"/>
@@ -808,7 +808,7 @@ dedesubt, iar restul poziției îl ții pe trailing stop până la prima bară
<text x="24" y="680" fill="#555">Serii construite, aceleași cifre ca în restul capitolului.</text> <text x="24" y="680" fill="#555">Serii construite, aceleași cifre ca în restul capitolului.</text>
<text x="24" y="697" fill="#555">Scara portocalie e linia de trail, palier cu palier.</text> <text x="24" y="697" fill="#555">Scara portocalie e linia de trail, palier cu palier.</text>
<text x="24" y="714" fill="#555">Panoul de jos e panoul de sus oglindit în jurul lui 100.00, calculat, nu desenat din ochi.</text> <text x="24" y="714" fill="#555">Panoul de jos e panoul de sus oglindit în jurul lui 100.00, calculat, nu desenat din ochi.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: iesire --> <!-- /DIAGRAMA: iesire -->
<p>Sus, long: prima tranșă iese la 100.90. Scara portocalie e linia de trail, <p>Sus, long: prima tranșă iese la 100.90. Scara portocalie e linia de trail,
@@ -834,7 +834,7 @@ ultimele 4 bare, ținta la aceeași distanță în jos, iar linia de trail coboa
în loc să urce. Diagrama de la pasul 5 arată oglinda pe serie construită; mai în loc să urce. Diagrama de la pasul 5 arată oglinda pe serie construită; mai
jos e singurul trade short cu cifre reale din material.</p> jos e singurul trade short cu cifre reale din material.</p>
<!-- DIAGRAMA: exemplu --> <!-- DIAGRAMA: exemplu -->
<p><svg viewBox="0 0 700 444" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 700 444" 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> <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"/> <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> <text x="672" y="50.0" fill="#c00" text-anchor="end">SL 100.85 = +0.85%</text>
@@ -968,7 +968,7 @@ jos e singurul trade short cu cifre reale din material.</p>
<line x1="456.5" y1="266.0" x2="456.5" y2="291.2" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 2"/> <line x1="456.5" y1="266.0" x2="456.5" y2="291.2" stroke="#b06000" stroke-width="1.2" stroke-dasharray="2 2"/>
<line x1="471.5" y1="291.2" x2="486.5" y2="291.2" stroke="#b06000" stroke-width="2"/> <line x1="471.5" y1="291.2" x2="486.5" y2="291.2" stroke="#b06000" stroke-width="2"/>
<text x="233.0" y="71.4" fill="#b06000" text-anchor="end" style="font-weight:bold">bear trail</text> <text x="233.0" y="71.4" fill="#b06000" text-anchor="end" style="font-weight:bold">bear trail</text>
</svg></p> </svg>
<!-- /DIAGRAMA: exemplu --> <!-- /DIAGRAMA: exemplu -->
<p><strong>Riot, TF mare 15 minute, TF mic 3 minute.</strong> Graficul de 15 minute intră în <p><strong>Riot, TF mare 15 minute, TF mic 3 minute.</strong> Graficul de 15 minute intră în

View File

@@ -324,67 +324,67 @@ pereche își are propria statistică, iar tu n-ai măsurat-o pe a ta.
<!-- DIAGRAMA: directie --> <!-- DIAGRAMA: directie -->
<svg viewBox="0 0 680 681" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 680 681" 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="22" fill="#188a3e" style="font-weight:bold">DA — 15 min e încă în Buy când vine trigger-ul de pe 3 min</text><rect x="284.0" y="48.4" width="132.0" height="85.7" fill="#188a3e" fill-opacity="0.12" stroke="#188a3e" stroke-width="1"/><text x="290.0" y="41.4" fill="#188a3e" style="font-weight:bold">zona în care ai voie long</text><line x1="24" y1="89.3" x2="666" y2="89.3" stroke="#0891b2" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="83.3" fill="#0891b2" text-anchor="end" style="font-weight:bold">close-ul candelei de semnal 100.60</text><line x1="24" y1="126.1" x2="666" y2="126.1" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="147.1" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit mișcarea 99.80</text> <g transform="translate(0,0)"><text x="24" y="22" fill="#188a3e" style="font-weight:bold">DA — 15 min e încă în Buy când vine trigger-ul de pe 3 min</text><rect x="270.0" y="48.4" width="132.0" height="85.7" fill="#188a3e" fill-opacity="0.12" stroke="#188a3e" stroke-width="1"/><text x="276.0" y="41.4" fill="#188a3e" style="font-weight:bold">zona în care ai voie long</text><line x1="24" y1="89.3" x2="666" y2="89.3" stroke="#0891b2" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="83.3" fill="#0891b2" text-anchor="end" style="font-weight:bold">close-ul candelei de semnal 100.60</text><line x1="24" y1="126.1" x2="666" y2="126.1" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="147.1" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit</text><text x="30" y="161.1" fill="#555" text-anchor="start" style="font-weight:bold">mișcarea 99.80</text>
<line x1="74.0" y1="192.8" x2="74.0" y2="215.8" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="60.0" y1="192.8" x2="60.0" y2="215.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="66.5" y="197.4" width="15" height="11.5" fill="#188a3e"/> <rect x="52.5" y="197.4" width="15" height="11.5" fill="#188a3e"/>
<line x1="120.0" y1="176.7" x2="120.0" y2="202.0" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="106.0" y1="176.7" x2="106.0" y2="202.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="112.5" y="181.3" width="15" height="16.1" fill="#188a3e"/> <rect x="98.5" y="181.3" width="15" height="16.1" fill="#188a3e"/>
<line x1="166.0" y1="158.3" x2="166.0" y2="185.9" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="152.0" y1="158.3" x2="152.0" y2="185.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="158.5" y="162.9" width="15" height="18.4" fill="#188a3e"/> <rect x="144.5" y="162.9" width="15" height="18.4" fill="#188a3e"/>
<line x1="212.0" y1="142.2" x2="212.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="198.0" y1="142.2" x2="198.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="149.1" width="15" height="13.8" fill="#188a3e"/> <rect x="190.5" y="149.1" width="15" height="13.8" fill="#188a3e"/>
<line x1="258.0" y1="119.2" x2="258.0" y2="153.7" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="244.0" y1="119.2" x2="244.0" y2="153.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="250.5" y="123.8" width="15" height="25.3" fill="#188a3e"/> <rect x="236.5" y="123.8" width="15" height="25.3" fill="#188a3e"/>
<line x1="304.0" y1="82.4" x2="304.0" y2="126.1" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="290.0" y1="82.4" x2="290.0" y2="126.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="296.5" y="89.3" width="15" height="34.5" fill="#188a3e"/> <rect x="282.5" y="89.3" width="15" height="34.5" fill="#188a3e"/>
<line x1="350.0" y1="84.7" x2="350.0" y2="116.9" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="336.0" y1="84.7" x2="336.0" y2="116.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="342.5" y="89.3" width="15" height="25.3" fill="#c00"/> <rect x="328.5" y="89.3" width="15" height="25.3" fill="#c00"/>
<line x1="396.0" y1="96.2" x2="396.0" y2="121.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="382.0" y1="96.2" x2="382.0" y2="121.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="388.5" y="98.5" width="15" height="16.1" fill="#188a3e"/> <rect x="374.5" y="98.5" width="15" height="16.1" fill="#188a3e"/>
<line x1="442.0" y1="64.0" x2="442.0" y2="100.8" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="428.0" y1="64.0" x2="428.0" y2="100.8" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="434.5" y="70.9" width="15" height="27.6" fill="#188a3e"/> <rect x="420.5" y="70.9" width="15" height="27.6" fill="#188a3e"/>
<line x1="244.0" y1="247.9" x2="300.4" y2="137.2" stroke="#0891b2" stroke-width="1.8"/> <line x1="230.0" y1="247.9" x2="286.4" y2="137.2" stroke="#0891b2" stroke-width="1.8"/>
<polygon points="304.0,130.1 303.9,139.0 296.8,135.4" fill="#0891b2"/> <polygon points="290.0,130.1 289.9,139.0 282.8,135.4" fill="#0891b2"/>
<text x="244.0" y="261.9" fill="#0891b2" text-anchor="middle" style="font-weight:bold">Buy Momentum pe 15 min:</text> <text x="230.0" y="261.9" fill="#0891b2" text-anchor="middle" style="font-weight:bold">Buy Momentum pe 15 min:</text>
<text x="244.0" y="275.9" fill="#0891b2" text-anchor="middle" style="font-weight:bold">de aici ai voie doar long</text> <text x="230.0" y="275.9" fill="#0891b2" text-anchor="middle" style="font-weight:bold">de aici ai voie doar long</text>
<line x1="320.0" y1="201.5" x2="347.2" y2="128.4" stroke="#555" stroke-width="1.8"/> <line x1="306.0" y1="201.5" x2="333.2" y2="128.4" stroke="#555" stroke-width="1.8"/>
<polygon points="350.0,120.9 351.0,129.8 343.5,127.0" fill="#555"/> <polygon points="336.0,120.9 337.0,129.8 329.5,127.0" fill="#555"/>
<text x="320.0" y="215.5" fill="#555" text-anchor="middle" style="font-weight:bold">candelă roșie pe 15 min, dar close-ul</text> <text x="306.0" y="215.5" fill="#555" text-anchor="middle" style="font-weight:bold">candelă roșie pe 15 min, dar close-ul</text>
<text x="320.0" y="229.5" fill="#555" text-anchor="middle" style="font-weight:bold">rămâne peste 99.80: pullback, nu întoarcere</text> <text x="306.0" y="229.5" fill="#555" text-anchor="middle" style="font-weight:bold">rămâne peste 99.80: pullback, nu întoarcere</text>
<line x1="372.0" y1="74.0" x2="389.6" y2="87.4" stroke="#188a3e" stroke-width="1.8"/> <line x1="358.0" y1="74.0" x2="375.6" y2="87.4" stroke="#188a3e" stroke-width="1.8"/>
<polygon points="396.0,92.2 387.2,90.6 392.0,84.2" fill="#188a3e"/> <polygon points="382.0,92.2 373.2,90.6 378.0,84.2" fill="#188a3e"/>
<text x="372.0" y="69.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">aici cade trigger-ul de pe 3 min</text> <text x="358.0" y="69.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">aici cade trigger-ul de pe 3 min</text>
</g> </g>
<g transform="translate(0,311)"><text x="24" y="22" fill="#c00" style="font-weight:bold">NU — 15 min s-a închis Sell: setup-ul long e anulat</text><rect x="376.0" y="85.9" width="86.0" height="85.0" fill="#c00" fill-opacity="0.12" stroke="#c00" stroke-width="1"/><text x="382.0" y="78.9" fill="#c00" style="font-weight:bold">setup anulat</text><line x1="24" y1="70.9" x2="666" y2="70.9" stroke="#0891b2" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="64.9" fill="#0891b2" text-anchor="end" style="font-weight:bold">close-ul candelei de semnal 100.60</text><line x1="24" y1="107.7" x2="666" y2="107.7" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="128.7" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit mișcarea 99.80</text> <g transform="translate(0,311)"><text x="24" y="22" fill="#c00" style="font-weight:bold">NU — 15 min s-a închis Sell: setup-ul long e anulat</text><rect x="362.0" y="85.9" width="86.0" height="85.0" fill="#c00" fill-opacity="0.12" stroke="#c00" stroke-width="1"/><text x="368.0" y="78.9" fill="#c00" style="font-weight:bold">setup anulat</text><line x1="24" y1="70.9" x2="666" y2="70.9" stroke="#0891b2" stroke-width="1.5" stroke-dasharray="4 3"/><text x="656" y="64.9" fill="#0891b2" text-anchor="end" style="font-weight:bold">close-ul candelei de semnal 100.60</text><line x1="24" y1="107.7" x2="666" y2="107.7" stroke="#555" stroke-width="1.5" stroke-dasharray="2 3"/><text x="30" y="128.7" fill="#555" text-anchor="start" style="font-weight:bold">minimul din care a pornit</text><text x="30" y="142.7" fill="#555" text-anchor="start" style="font-weight:bold">mișcarea 99.80</text>
<line x1="74.0" y1="174.4" x2="74.0" y2="197.4" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="60.0" y1="174.4" x2="60.0" y2="197.4" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="66.5" y="179.0" width="15" height="11.5" fill="#188a3e"/> <rect x="52.5" y="179.0" width="15" height="11.5" fill="#188a3e"/>
<line x1="120.0" y1="158.3" x2="120.0" y2="183.6" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="106.0" y1="158.3" x2="106.0" y2="183.6" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="112.5" y="162.9" width="15" height="16.1" fill="#188a3e"/> <rect x="98.5" y="162.9" width="15" height="16.1" fill="#188a3e"/>
<line x1="166.0" y1="139.9" x2="166.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="152.0" y1="139.9" x2="152.0" y2="167.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="158.5" y="144.5" width="15" height="18.4" fill="#188a3e"/> <rect x="144.5" y="144.5" width="15" height="18.4" fill="#188a3e"/>
<line x1="212.0" y1="123.8" x2="212.0" y2="149.1" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="198.0" y1="123.8" x2="198.0" y2="149.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="204.5" y="130.7" width="15" height="13.8" fill="#188a3e"/> <rect x="190.5" y="130.7" width="15" height="13.8" fill="#188a3e"/>
<line x1="258.0" y1="100.8" x2="258.0" y2="135.3" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="244.0" y1="100.8" x2="244.0" y2="135.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="250.5" y="105.4" width="15" height="25.3" fill="#188a3e"/> <rect x="236.5" y="105.4" width="15" height="25.3" fill="#188a3e"/>
<line x1="304.0" y1="64.0" x2="304.0" y2="107.7" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="290.0" y1="64.0" x2="290.0" y2="107.7" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="296.5" y="70.9" width="15" height="34.5" fill="#188a3e"/> <rect x="282.5" y="70.9" width="15" height="34.5" fill="#188a3e"/>
<line x1="350.0" y1="66.3" x2="350.0" y2="98.5" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="336.0" y1="66.3" x2="336.0" y2="98.5" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="342.5" y="70.9" width="15" height="25.3" fill="#c00"/> <rect x="328.5" y="70.9" width="15" height="25.3" fill="#c00"/>
<line x1="396.0" y1="93.9" x2="396.0" y2="135.3" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="382.0" y1="93.9" x2="382.0" y2="135.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="388.5" y="96.2" width="15" height="34.5" fill="#c00"/> <rect x="374.5" y="96.2" width="15" height="34.5" fill="#c00"/>
<line x1="442.0" y1="126.1" x2="442.0" y2="162.9" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="428.0" y1="126.1" x2="428.0" y2="162.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="434.5" y="130.7" width="15" height="25.3" fill="#c00"/> <rect x="420.5" y="130.7" width="15" height="25.3" fill="#c00"/>
<line x1="244.0" y1="229.5" x2="300.4" y2="118.8" stroke="#0891b2" stroke-width="1.8"/> <line x1="230.0" y1="229.5" x2="286.4" y2="118.8" stroke="#0891b2" stroke-width="1.8"/>
<polygon points="304.0,111.7 303.9,120.6 296.8,117.0" fill="#0891b2"/> <polygon points="290.0,111.7 289.9,120.6 282.8,117.0" fill="#0891b2"/>
<text x="244.0" y="243.5" fill="#0891b2" text-anchor="middle" style="font-weight:bold">Buy Momentum pe 15 min:</text> <text x="230.0" y="243.5" fill="#0891b2" text-anchor="middle" style="font-weight:bold">Buy Momentum pe 15 min:</text>
<text x="244.0" y="257.5" fill="#0891b2" text-anchor="middle" style="font-weight:bold">de aici ai voie doar long</text> <text x="230.0" y="257.5" fill="#0891b2" text-anchor="middle" style="font-weight:bold">de aici ai voie doar long</text>
<line x1="356.0" y1="190.9" x2="391.1" y2="145.6" stroke="#c00" stroke-width="1.8"/> <line x1="342.0" y1="190.9" x2="377.1" y2="145.6" stroke="#c00" stroke-width="1.8"/>
<polygon points="396.0,139.3 394.3,148.1 387.9,143.2" fill="#c00"/> <polygon points="382.0,139.3 380.3,148.1 373.9,143.2" fill="#c00"/>
<text x="356.0" y="204.9" fill="#c00" text-anchor="middle" style="font-weight:bold">close 99.30, sub 99.80: direcția mare</text> <text x="342.0" y="204.9" fill="#c00" text-anchor="middle" style="font-weight:bold">close 99.30, sub 99.80: direcția mare</text>
<text x="356.0" y="218.9" fill="#c00" text-anchor="middle" style="font-weight:bold">s-a răsucit — nu mai intri long</text> <text x="342.0" y="218.9" fill="#c00" text-anchor="middle" style="font-weight:bold">s-a răsucit — nu mai intri long</text>
<line x1="322.0" y1="274.9" x2="436.1" y2="172.3" stroke="#c00" stroke-width="1.8"/> <line x1="308.0" y1="274.9" x2="422.1" y2="172.3" stroke="#c00" stroke-width="1.8"/>
<polygon points="442.0,166.9 438.7,175.2 433.4,169.3" fill="#c00"/> <polygon points="428.0,166.9 424.7,175.2 419.4,169.3" fill="#c00"/>
<text x="322.0" y="288.9" fill="#c00" text-anchor="middle" style="font-weight:bold">de aici cauți short, nu long</text> <text x="308.0" y="288.9" fill="#c00" text-anchor="middle" style="font-weight:bold">de aici cauți short, nu long</text>
</g> </g>
<text x="24" y="641" fill="#555">Același grafic de 15 minute ca în diagrama de ansamblu; serie construită, fără ticker.</text> <text x="24" y="641" fill="#555">Același grafic de 15 minute ca în diagrama de ansamblu; serie construită, fără ticker.</text>
<text x="24" y="658" fill="#555">Pe 15 min se citește DIRECȚIA, nu intrarea. Intrarea vine de pe 3 min (pasul 3).</text> <text x="24" y="658" fill="#555">Pe 15 min se citește DIRECȚIA, nu intrarea. Intrarea vine de pe 3 min (pasul 3).</text>

View File

@@ -83,7 +83,7 @@ nu pui stop, și vinzi <strong>toată</strong> poziția când ai +10 %. Banii st
la următoarea ocazie, unde intră înapoi integral, plus o contribuție nouă.</p> la următoarea ocazie, unde intră înapoi integral, plus o contribuție nouă.</p>
<p>Tot trade-ul, pe structura exemplului din curs:</p> <p>Tot trade-ul, pe structura exemplului din curs:</p>
<!-- DIAGRAMA: ansamblu --> <!-- DIAGRAMA: ansamblu -->
<p><svg viewBox="0 0 720 510" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 720 510" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<rect x="24" y="297.0" width="682" height="13.2" fill="#7b2fbf" opacity="0.10"/><text x="28" y="324.2" fill="#7b2fbf">zona PPQ 95.80 — aici cumperi</text> <rect x="24" y="297.0" width="682" height="13.2" fill="#7b2fbf" opacity="0.10"/><text x="28" y="324.2" fill="#7b2fbf">zona PPQ 95.80 — aici cumperi</text>
<text x="367" y="345.2" fill="#c00" text-anchor="middle">fără stop-loss standard — nicio linie sub intrare</text> <text x="367" y="345.2" fill="#c00" text-anchor="middle">fără stop-loss standard — nicio linie sub intrare</text>
<text x="24" y="26" fill="#333" style="font-weight:bold">SPY — daily: corecție ≥4 % → zona PPQ → BIM + verde → intrare → TP +10 %</text> <text x="24" y="26" fill="#333" style="font-weight:bold">SPY — daily: corecție ≥4 % → zona PPQ → BIM + verde → intrare → TP +10 %</text>
@@ -197,7 +197,7 @@ la următoarea ocazie, unde intră înapoi integral, plus o contribuție nouă.<
<text x="571.0" y="149.8" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">ieși cu tot</text> <text x="571.0" y="149.8" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">ieși cu tot</text>
<text x="24" y="481" fill="#555">100.00 / 96.00 / 105.60 sunt cifrele exemplului din curs; PPQ 95.80 e calculat</text> <text x="24" y="481" fill="#555">100.00 / 96.00 / 105.60 sunt cifrele exemplului din curs; PPQ 95.80 e calculat</text>
<text x="24" y="498" fill="#555">în diagrama pasului 1 (cursul nu dă valorile pivoților).</text> <text x="24" y="498" fill="#555">în diagrama pasului 1 (cursul nu dă valorile pivoților).</text>
</svg></p> </svg>
<!-- /DIAGRAMA: ansamblu --> <!-- /DIAGRAMA: ansamblu -->
<p>De la stânga la dreapta: prețul urcă până la un maxim de <strong>100.00</strong>, cade 4,0 % <p>De la stânga la dreapta: prețul urcă până la un maxim de <strong>100.00</strong>, cade 4,0 %
@@ -318,7 +318,7 @@ prag de volum sau de preț pentru ATMI; singura grijă de lichiditate apare mai
târziu, la ETF-urile cu levier.</p> târziu, la ETF-urile cu levier.</p>
<p>Nivelurile se calculează o dată la trei luni și rămân fixe pe tot trimestrul.</p> <p>Nivelurile se calculează o dată la trei luni și rămân fixe pe tot trimestrul.</p>
<!-- DIAGRAMA: pivoti --> <!-- DIAGRAMA: pivoti -->
<p><svg viewBox="0 0 720 401" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 720 401" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="22" fill="#333" style="font-weight:bold">SPY — daily: pivoții trimestrului nou, calculați din trimestrul precedent</text> <text x="24" y="22" fill="#333" style="font-weight:bold">SPY — daily: pivoții trimestrului nou, calculați din trimestrul precedent</text>
<rect x="24" y="34" width="430" height="54" fill="#f4f4f8" stroke="#ccc"/> <rect x="24" y="34" width="430" height="54" fill="#f4f4f8" stroke="#ccc"/>
<text x="46" y="110" fill="#777" style="font-size:11px;font-weight:bold">trimestrul precedent</text> <text x="46" y="110" fill="#777" style="font-size:11px;font-weight:bold">trimestrul precedent</text>
@@ -442,7 +442,7 @@ târziu, la ETF-urile cu levier.</p>
<text x="484.0" y="124.4" fill="#c00" text-anchor="middle" style="font-weight:bold">swing high 100.00</text> <text x="484.0" y="124.4" fill="#c00" text-anchor="middle" style="font-weight:bold">swing high 100.00</text>
<text x="532.0" y="225.5" fill="#7b2fbf" text-anchor="middle" style="font-weight:bold">corecție 4,0 % — prețul intră în zona PPQ: treci la pasul 2</text> <text x="532.0" y="225.5" fill="#7b2fbf" text-anchor="middle" style="font-weight:bold">corecție 4,0 % — prețul intră în zona PPQ: treci la pasul 2</text>
<text x="24" y="389" fill="#555">Completare proprie: PPQ/SQ calculate din serie; cursul dă regula, nu valorile. Formula standard, confirmată în material.</text> <text x="24" y="389" fill="#555">Completare proprie: PPQ/SQ calculate din serie; cursul dă regula, nu valorile. Formula standard, confirmată în material.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: pivoti --> <!-- /DIAGRAMA: pivoti -->
<p>Din trimestrul precedent iei maximul <strong>100.80</strong>, minimul <strong>90.40</strong> și <p>Din trimestrul precedent iei maximul <strong>100.80</strong>, minimul <strong>90.40</strong> și
@@ -466,7 +466,7 @@ chiar e mare. Pragul e al cursului și e dur: în material există cazul unei
corecții de <strong>3,93 %</strong> (graficul lecției scrie 3,9 %) care <strong>nu</strong> se corecții de <strong>3,93 %</strong> (graficul lecției scrie 3,9 %) care <strong>nu</strong> se
marchează, oricât de abruptă pare linia.</p> marchează, oricât de abruptă pare linia.</p>
<!-- DIAGRAMA: corectie --> <!-- DIAGRAMA: corectie -->
<p><svg viewBox="0 0 680 557" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 680 557" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<rect x="24" y="233.5" width="642" height="12.6" fill="#7b2fbf" opacity="0.12"/> <rect x="24" y="233.5" width="642" height="12.6" fill="#7b2fbf" opacity="0.12"/>
<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> <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="173.6" x2="666" y2="173.6" stroke="#333" stroke-width="1.5" stroke-dasharray="4 3"/> <line x1="24" y1="173.6" x2="666" y2="173.6" stroke="#333" stroke-width="1.5" stroke-dasharray="4 3"/>
@@ -584,7 +584,7 @@ marchează, oricât de abruptă pare linia.</p>
<text x="30" y="280.1" fill="#7b2fbf">zona PPQ 95.80 — aici cumperi</text> <text x="30" y="280.1" fill="#7b2fbf">zona PPQ 95.80 — aici cumperi</text>
<text x="24" y="202.0" fill="#188a3e" style="font-weight:bold">calea DA (candelele)</text> <text x="24" y="202.0" fill="#188a3e" style="font-weight:bold">calea DA (candelele)</text>
<text x="444.0" y="298.1" fill="#c00" style="font-weight:bold">calea NU (continuă în jos)</text> <text x="444.0" y="298.1" fill="#c00" style="font-weight:bold">calea NU (continuă în jos)</text>
</svg></p> </svg>
<!-- /DIAGRAMA: corectie --> <!-- /DIAGRAMA: corectie -->
<p>Ambele trasee pornesc din același swing high, <strong>100.00</strong>. Calea desenată cu <p>Ambele trasee pornesc din același swing high, <strong>100.00</strong>. Calea desenată cu
@@ -607,7 +607,7 @@ cobori pe graficul zilnic ca să vezi unde s-a oprit.</strong></p>
oprit: o singură candelă înghite o săptămână întreagă. De asta pasul ăsta are oprit: o singură candelă înghite o săptămână întreagă. De asta pasul ăsta are
două panouri.</p> două panouri.</p>
<!-- DIAGRAMA: perechi_tf --> <!-- DIAGRAMA: perechi_tf -->
<p><svg viewBox="0 0 720 370" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 720 370" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<defs><marker id="pt" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0,0 L10,5 L0,10 z" fill="#c00"/></marker></defs> <defs><marker id="pt" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0,0 L10,5 L0,10 z" fill="#c00"/></marker></defs>
<text x="20.0" y="22.0" fill="#333" style="font-size:13px;font-weight:bold">Nivelul trăiește pe weekly, declanșatorul pe daily</text> <text x="20.0" y="22.0" fill="#333" style="font-size:13px;font-weight:bold">Nivelul trăiește pe weekly, declanșatorul pe daily</text>
<text x="20.0" y="38.0" fill="#555" style="font-size:11px">Fiecare candelă weekly din casetă = 5 bare daily (o săptămână de bursă):</text> <text x="20.0" y="38.0" fill="#555" style="font-size:11px">Fiecare candelă weekly din casetă = 5 bare daily (o săptămână de bursă):</text>
@@ -694,7 +694,7 @@ două panouri.</p>
<text x="568.0" y="322.0" fill="#0a7f9e" text-anchor="middle" style="font-size:11px;font-weight:bold">BIM: aici se oprește vânzarea</text> <text x="568.0" y="322.0" fill="#0a7f9e" text-anchor="middle" style="font-size:11px;font-weight:bold">BIM: aici se oprește vânzarea</text>
<text x="568.0" y="336.0" fill="#0a7f9e" text-anchor="middle" style="font-size:10px">(fundul e la 0,26 % de PPQ)</text> <text x="568.0" y="336.0" fill="#0a7f9e" text-anchor="middle" style="font-size:10px">(fundul e la 0,26 % de PPQ)</text>
<text x="20.0" y="352.0" fill="#555" style="font-size:11px">Pe weekly nu vezi unde s-a oprit căderea; pe daily, da — de aceea intri de aici.</text> <text x="20.0" y="352.0" fill="#555" style="font-size:11px">Pe weekly nu vezi unde s-a oprit căderea; pe daily, da — de aceea intri de aici.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: perechi_tf --> <!-- /DIAGRAMA: perechi_tf -->
<p>În stânga, săptămânalul: swing high-ul <strong>100.00</strong>, scăderea de 4,0 % și cele <p>În stânga, săptămânalul: swing high-ul <strong>100.00</strong>, scăderea de 4,0 % și cele
@@ -720,7 +720,7 @@ vânzarea s-a terminat. BIM e ce adaugă informația care lipsește — momentul
care presiunea de vânzare se oprește — iar candela verde de după el e dovada care presiunea de vânzare se oprește — iar candela verde de după el e dovada
că cineva chiar cumpără.</p> că cineva chiar cumpără.</p>
<!-- DIAGRAMA: trigger --> <!-- DIAGRAMA: trigger -->
<p><svg viewBox="0 0 660 821" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 660 821" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<g transform="translate(0,0)"><rect x="225.0" y="149.3" width="78.0" height="75.7" fill="#1a5fb4" fill-opacity="0.12" stroke="#1a5fb4" stroke-width="1"/><text x="231.0" y="142.3" fill="#1a5fb4" style="font-weight:bold">zona de decizie: BIM + verde</text><line x1="24" y1="205.5" x2="646" y2="205.5" stroke="#7b2fbf" stroke-width="1.5" stroke-dasharray="4 3"/><text x="30" y="220.5" fill="#7b2fbf" style="font-weight:bold">PPQ 95.80 — pivotul trimestrial</text> <g transform="translate(0,0)"><rect x="225.0" y="149.3" width="78.0" height="75.7" fill="#1a5fb4" fill-opacity="0.12" stroke="#1a5fb4" stroke-width="1"/><text x="231.0" y="142.3" fill="#1a5fb4" style="font-weight:bold">zona de decizie: BIM + verde</text><line x1="24" y1="205.5" x2="646" y2="205.5" stroke="#7b2fbf" stroke-width="1.5" stroke-dasharray="4 3"/><text x="30" y="220.5" fill="#7b2fbf" style="font-weight:bold">PPQ 95.80 — pivotul trimestrial</text>
<text x="24" y="48" fill="#333" style="font-weight:bold">DA — BIM, apoi prima candelă verde daily</text> <text x="24" y="48" fill="#333" style="font-weight:bold">DA — BIM, apoi prima candelă verde daily</text>
<line x1="66.0" y1="56.0" x2="66.0" y2="83.6" stroke="#1a1a1a" stroke-width="1.2"/> <line x1="66.0" y1="56.0" x2="66.0" y2="83.6" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -781,7 +781,7 @@ că cineva chiar cumpără.</p>
</g> </g>
<text x="24" y="797" fill="#555">Aceleași patru bare de corecție pe ambele panouri, aceeași scară.</text> <text x="24" y="797" fill="#555">Aceleași patru bare de corecție pe ambele panouri, aceeași scară.</text>
<text x="24" y="813" fill="#555">PPQ 95.80 e calculat în diagrama pasului 1; intrarea 96.00 e close-ul candelei verzi.</text> <text x="24" y="813" fill="#555">PPQ 95.80 e calculat în diagrama pasului 1; intrarea 96.00 e close-ul candelei verzi.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: trigger --> <!-- /DIAGRAMA: trigger -->
<p>Ambele panouri pornesc din exact aceleași patru bare de corecție. Sus, cazul <p>Ambele panouri pornesc din exact aceleași patru bare de corecție. Sus, cazul
@@ -808,7 +808,7 @@ indicelui. Un stop ar transforma o teză de un an într-o ieșire pe zgomot de
două săptămâni.</p> două săptămâni.</p>
<p>Prețul îl plătești în drum:</p> <p>Prețul îl plătești în drum:</p>
<!-- DIAGRAMA: risc --> <!-- DIAGRAMA: risc -->
<p><svg viewBox="0 0 720 441" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 720 441" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<text x="24" y="24" fill="#333" style="font-weight:bold">SPY — daily: fără stop, între intrare și țintă treci prin toată căderea</text> <text x="24" y="24" fill="#333" style="font-weight:bold">SPY — daily: fără stop, între intrare și țintă treci prin toată căderea</text>
<text x="24" y="42" fill="#555" style="font-size:11px">24 de bare sub prețul de intrare, fără niciun ordin care să te scoată — ăsta e costul regulii „fără stop-loss".</text> <text x="24" y="42" fill="#555" style="font-size:11px">24 de bare sub prețul de intrare, fără niciun ordin care să te scoată — ăsta e costul regulii „fără stop-loss".</text>
<rect x="424" y="58" width="284" height="76" fill="#fff4f4" stroke="#c00" stroke-opacity="0.5"/> <rect x="424" y="58" width="284" height="76" fill="#fff4f4" stroke="#c00" stroke-opacity="0.5"/>
@@ -933,7 +933,7 @@ două săptămâni.</p>
<text x="488.0" y="171.8" fill="#777" text-anchor="middle" style="font-weight:bold">abia aici ești pe zero</text> <text x="488.0" y="171.8" fill="#777" text-anchor="middle" style="font-weight:bold">abia aici ești pe zero</text>
<text x="600.0" y="180.1" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP</text> <text x="600.0" y="180.1" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP</text>
<text x="24" y="429" fill="#555">Cifra de 20-30 % pe poziție fără levier e a cursului; Completare proprie: traseul barelor, ca să se vadă cât durează.</text> <text x="24" y="429" fill="#555">Cifra de 20-30 % pe poziție fără levier e a cursului; Completare proprie: traseul barelor, ca să se vadă cât durează.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: risc --> <!-- /DIAGRAMA: risc -->
<p>Același trade: intrare <strong>96.00</strong>, țintă <strong>105.60</strong>. Între ele, poziția coboară <p>Același trade: intrare <strong>96.00</strong>, țintă <strong>105.60</strong>. Între ele, poziția coboară
@@ -971,7 +971,7 @@ ajung la +10 % cam în aceeași perioadă. Autorul le compară cu mai multe
depozite cu scadențe diferite.</p> depozite cu scadențe diferite.</p>
<p>Partea care produce rezultatul nu e ținta, e ce faci cu banii după:</p> <p>Partea care produce rezultatul nu e ținta, e ce faci cu banii după:</p>
<!-- DIAGRAMA: reinvestire --> <!-- DIAGRAMA: reinvestire -->
<p><svg viewBox="0 0 700 398" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 700 398" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<defs><marker id="ar" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0,0 L10,5 L0,10 z" fill="#1a5fb4"/></marker></defs> <defs><marker id="ar" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto"><path d="M0,0 L10,5 L0,10 z" fill="#1a5fb4"/></marker></defs>
<text x="20.0" y="22.0" fill="#333" style="font-size:13px;font-weight:bold">Ciclul ATMI: ieși cu tot la +10 %, stai în cash, reintri cu tot plus contribuția</text> <text x="20.0" y="22.0" fill="#333" style="font-size:13px;font-weight:bold">Ciclul ATMI: ieși cu tot la +10 %, stai în cash, reintri cu tot plus contribuția</text>
<text x="20.0" y="40.0" fill="#555" style="font-size:11px">Contribuție 600 $ la fiecare trigger valid; ținta +10 % pe poziție.</text> <text x="20.0" y="40.0" fill="#555" style="font-size:11px">Contribuție 600 $ la fiecare trigger valid; ținta +10 % pe poziție.</text>
@@ -1008,7 +1008,7 @@ depozite cu scadențe diferite.</p>
<text x="34.0" y="342.0" fill="#333" style="font-size:11px;font-weight:bold">Ai pus în total 1.800 $, în trei contribuții egale.</text> <text x="34.0" y="342.0" fill="#333" style="font-size:11px;font-weight:bold">Ai pus în total 1.800 $, în trei contribuții egale.</text>
<text x="34.0" y="359.0" fill="#333" style="font-size:11px">Cu reinvestire integrală: 2.184,60 $ · dacă lași profitul deoparte: 1.980 $ · diferența: 204,60 $</text> <text x="34.0" y="359.0" fill="#333" style="font-size:11px">Cu reinvestire integrală: 2.184,60 $ · dacă lași profitul deoparte: 1.980 $ · diferența: 204,60 $</text>
<text x="34.0" y="376.0" fill="#777" style="font-size:10px">Completare proprie: cifrele astea sunt calculate pe trei cicluri, nu backtest-ul cursului.</text> <text x="34.0" y="376.0" fill="#777" style="font-size:10px">Completare proprie: cifrele astea sunt calculate pe trei cicluri, nu backtest-ul cursului.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: reinvestire --> <!-- /DIAGRAMA: reinvestire -->
<p>Trei cicluri, cu aceeași contribuție de 600 $ la fiecare semnal valid. Cu <p>Trei cicluri, cu aceeași contribuție de 600 $ la fiecare semnal valid. Cu
@@ -1128,7 +1128,7 @@ vezi <a href="00_harta.html"><code>00_harta.md</code></a>.</p>
<p>Singurul trade cu cifre din curs: intrare pe <strong>27 ianuarie 2005 la 117.43</strong>, <p>Singurul trade cu cifre din curs: intrare pe <strong>27 ianuarie 2005 la 117.43</strong>,
țintă +10 % = <strong>129.17</strong>, atinsă „aproximativ un an mai târziu".</p> țintă +10 % = <strong>129.17</strong>, atinsă „aproximativ un an mai târziu".</p>
<!-- DIAGRAMA: exemplu --> <!-- DIAGRAMA: exemplu -->
<p><svg viewBox="0 0 660 380" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif"> <svg viewBox="0 0 660 380" 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 — monthly: intrare ianuarie 2005 la 117.43 → TP1 +10 % = 129.17</text> <text x="24" y="48" fill="#333" style="font-weight:bold">SPY — monthly: intrare ianuarie 2005 la 117.43 → TP1 +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"/> <line x1="24" y1="167.5" x2="646" y2="167.5" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="632" y="161.5" fill="#188a3e" text-anchor="end">intrare 117.43</text> <text x="632" y="161.5" fill="#188a3e" text-anchor="end">intrare 117.43</text>
@@ -1238,7 +1238,7 @@ vezi <a href="00_harta.html"><code>00_harta.md</code></a>.</p>
<text x="24" y="326.1" fill="#188a3e">după TP: capital + profit → cash până la următorul trigger valid</text> <text x="24" y="326.1" fill="#188a3e">după TP: capital + profit → cash până la următorul trigger valid</text>
<text x="24" y="343.1" fill="#188a3e">TP1: 13 candele lunare în desen; materialul spune „aproximativ un an" (ziua exactă e neclară în transcriere)</text> <text x="24" y="343.1" fill="#188a3e">TP1: 13 candele lunare în desen; materialul spune „aproximativ un an" (ziua exactă e neclară în transcriere)</text>
<text x="24" y="368" fill="#555">Grafic lunar, ca să încapă orizontul poziției. Completare proprie: swing high-ul; restul e din material.</text> <text x="24" y="368" fill="#555">Grafic lunar, ca să încapă orizontul poziției. Completare proprie: swing high-ul; restul e din material.</text>
</svg></p> </svg>
<!-- /DIAGRAMA: exemplu --> <!-- /DIAGRAMA: exemplu -->
<p>Graficul e <strong>lunar</strong>, ca să încapă tot orizontul poziției: o candelă e o lună. <p>Graficul e <strong>lunar</strong>, ca să încapă tot orizontul poziției: o candelă e o lună.
@@ -1264,7 +1264,7 @@ ATMI ca investiție pe luni-ani, cu ținta atinsă după circa un an. O sesiune
întrebări descrie aceeași strategie ca swing de <strong>două săptămâni</strong>, ca mijloc întrebări descrie aceeași strategie ca swing de <strong>două săptămâni</strong>, ca mijloc
de a te califica pe un cont de prop.</p> de a te califica pe un cont de prop.</p>
<!-- DIAGRAMA: orizont --> <!-- DIAGRAMA: orizont -->
<p><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"> <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"> <g font-family="system-ui, sans-serif">
<rect x="0" y="0" width="700" height="670" fill="#ffffff"/> <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="34.0" font-size="19" font-weight="700" fill="#000000" text-anchor="middle">Cât ții poziția? Două descrieri, același nume</text>
@@ -1296,7 +1296,7 @@ de a te califica pe un cont de prop.</p>
<rect x="60.0" y="298.0" width="22.7" height="42" rx="6" fill="#fdf0e0" stroke="#b06000" stroke-width="1.5"/> <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="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"/> <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> <text x="72.0" y="368.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"/> <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="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="334.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">swing, 2 săptămâni în poziție”</text>
@@ -1310,7 +1310,7 @@ de a te califica pe un cont de prop.</p>
<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="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="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> <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></p> </g></svg>
<!-- /DIAGRAMA: orizont --> <!-- /DIAGRAMA: orizont -->
<p>Cele două descrieri, pe aceeași axă de timp. Nu le rezolv aici: varianta de <p>Cele două descrieri, pe aceeași axă de timp. Nu le rezolv aici: varianta de

View File

@@ -1270,7 +1270,7 @@ de a te califica pe un cont de prop.
<rect x="60.0" y="298.0" width="22.7" height="42" rx="6" fill="#fdf0e0" stroke="#b06000" stroke-width="1.5"/> <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="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"/> <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> <text x="72.0" y="368.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"/> <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="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="334.0" font-size="13" font-weight="400" fill="#000000" text-anchor="middle">swing, 2 săptămâni în poziție”</text>

View File

@@ -77,6 +77,8 @@ class Mark:
color: str = "#1a5fb4" color: str = "#1a5fb4"
where: str = "above" # "above" | "below" — față de candelă where: str = "above" # "above" | "below" — față de candelă
dy: float = 0.0 # ajustare fină, dacă se suprapune cu altceva dy: float = 0.0 # ajustare fină, dacă se suprapune cu altceva
dx: float = 0.0 # idem, pe orizontală: la serii dese, singurul
# loc liber e lateral, nu mai sus (02.10.2026)
@dataclass @dataclass
@@ -361,7 +363,7 @@ class Chart:
# etichete ancorate pe candele anume # etichete ancorate pe candele anume
for mk in self.marks: for mk in self.marks:
cd = self.candles[mk.i] cd = self.candles[mk.i]
cx = self._cx(mk.i) cx = self._cx(mk.i) + mk.dx
if mk.where == "above": if mk.where == "above":
y = self._y(cd.h) - 10 + mk.dy y = self._y(cd.h) - 10 + mk.dy
else: else: