From f60d32cb34eb27d46d27b6230d643116ef2e12ea Mon Sep 17 00:00:00 2001
From: Claude Agent
Date: Fri, 2 Oct 2026 05:29:33 +0000
Subject: [PATCH] 17_STRATEGII/06_hammer_mbt10: toate cele 9 restante, plus
cele 3 cosmetice
Cea mai grava, si cea care a cerut refacerea seriei: exemplul central de
MBT-10 era luat de pe 60 de minute si bagat in procedura de daily, cu barele
numite "zile", desi sursa spune explicit de ce nu merge pe daily. Pe langa
asta, suportul fusese schimbat din 88.00 (testat de trei ori, cu compresie,
cum e in sursa) in 87.50 cu un double bottom si o divergenta de volum
imprumutate din alt exemplu.
Seria e refacuta pe exemplul materialului, cu assert pe cele trei atingeri ale
lui 88.00 si pe compresia varfurilor. Adaosurile au fost scoase, nu doar
marcate: cu ele in desen, suportul din sursa n-ar fi avut sens. Aritmetica a
supravietuit neatinsa.
Restul: stopul de 60.40 sta acum sub o structura reala; pivotul daily nu mai e
o linie fixa peste tot graficul, ci un segment peste ziua intrarii; SL-ul de
pe LABU respecta regula proprie de 5 centi; citatul de la A2 nu mai e dat ca
al autorului; pragul de 1-2% isi spune originea (cursul da 0,5%, pe 60 min);
o singura conventie de distanta, impartirea la nivel; swing low definit la fel
in pas si in glosar.
eticheta_libera a prins 7 suprapuneri reale. La bh_aplus a trebuit rulat pe
fiecare panou separat: wrapper-ul le muta cu , pe care unealta
nu-l citeste - de notat pentru data viitoare.
Co-Authored-By: Claude Opus 5
Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
---
gen/strategii/hammer_mbt10_bh_aplus.py | 32 +-
gen/strategii/hammer_mbt10_bh_aplus.svg | 8 +-
gen/strategii/hammer_mbt10_bh_labu.py | 28 +-
gen/strategii/hammer_mbt10_bh_labu.svg | 98 +--
gen/strategii/hammer_mbt10_bh_locatie.py | 17 +-
gen/strategii/hammer_mbt10_bh_locatie.svg | 7 +-
gen/strategii/hammer_mbt10_mbt_confluente.py | 115 ++--
gen/strategii/hammer_mbt10_mbt_confluente.svg | 105 ++-
gen/strategii/hammer_mbt10_mbt_gapdown.py | 27 +-
gen/strategii/hammer_mbt10_mbt_gapdown.svg | 18 +-
gen/strategii/hammer_mbt10_mbt_iesire.py | 6 +-
gen/strategii/hammer_mbt10_mbt_iesire.svg | 122 ++--
gen/strategii/hammer_mbt10_mbt_ppd.py | 61 +-
gen/strategii/hammer_mbt10_mbt_ppd.svg | 96 ++-
gen/strategii/hammer_mbt10_mbt_stop.py | 53 +-
gen/strategii/hammer_mbt10_mbt_stop.svg | 61 +-
summaries/17_STRATEGII/06_hammer_mbt10.html | 612 ++++++++---------
summaries/17_STRATEGII/06_hammer_mbt10.md | 615 +++++++++---------
.../fise/06_hammer_mbt10_surse.html | 31 +-
.../fise/06_hammer_mbt10_surse.md | 31 +-
20 files changed, 1156 insertions(+), 987 deletions(-)
diff --git a/gen/strategii/hammer_mbt10_bh_aplus.py b/gen/strategii/hammer_mbt10_bh_aplus.py
index 9a7a513..dc8bfd4 100644
--- a/gen/strategii/hammer_mbt10_bh_aplus.py
+++ b/gen/strategii/hammer_mbt10_bh_aplus.py
@@ -11,7 +11,8 @@ Același pattern ca formă (downtrend → hammer → confirmare), context opus:
peste media ultimelor 10 bare — „acumulare";
- dreapta (NU): fără downtrend real (range lateral 44–46), hammer-ul în
mijlocul intervalului (o=45.00, c=h=45.10, l=44.10), departe de orice
- nivel (suportul construit 42.50 e la 3,6 % sub low), confirmarea închide
+ nivel (suportul construit 42.50 e la 3,8 % sub nivel, cu aceeași convenție
+ de măsurare ca la pasul A2: diferența împărțită la nivel), confirmarea închide
tot 45.15 peste 45.10, dar pe volum slab — context invalid.
Nivelurile 42.00 / 42.50 și cifrele de preț sunt construite (materialul nu
@@ -34,6 +35,8 @@ import sys
from pathlib import Path
sys.path.insert(0, "/workspace/atm-curs-dl")
+sys.path.insert(0, "/workspace/atm-curs-dl/gen")
+from eticheta_libera import eticheta_libera # noqa: E402
from svg_candles import Chart, Level, Mark, from_closes # noqa: E402
OUT = Path(__file__).resolve().parent / "hammer_mbt10_bh_aplus.svg"
@@ -115,9 +118,16 @@ assert cds_a[HAM_A].c < cds_a[0].c - 5, "downtrendul A+ nu e vizibil"
# 5. NU: (low[12] - 42.50) / 42.50 > 0.02 (hammer-ul NU e departe de nivel)
dist_n = (ham_n.l - SUPORT_N) / SUPORT_N
assert dist_n > 0.02, f"low hammer NU {ham_n.l} prea aproape de 42.50 ({dist_n:.1%})"
-# eticheta „la -3,6 %" din spec: (44.10 - 42.50) / 44.10
-pct_n = (ham_n.l - SUPORT_N) / ham_n.l * 100
-assert round(pct_n, 1) == 3.6, f"procentul NU e {pct_n:.2f} %, nu 3,6 %"
+# „cât de departe e nivelul" se măsoară la fel în tot capitolul: diferența
+# împărțită la NIVEL, nu la low-ul hammer-ului (pasul A2 face așa, iar
+# eticheta de aici împărțea la low și dădea alt număr — 3,6 % în loc de 3,8 %)
+pct_n = (ham_n.l - SUPORT_N) / SUPORT_N * 100
+assert round(pct_n, 1) == 3.8, f"procentul NU e {pct_n:.2f} %, nu 3,8 %"
+# aceeași convenție pe panoul A+: 0,24 % = (42.00 - 41.90) / 42.00
+assert round(abs(ham_a.l - SUPORT_A) / SUPORT_A * 100, 2) == 0.24
+ET_NIVEL_N = ("fără nivel apropiat (suport 42.50 la −"
+ + f"{pct_n:.1f}".replace(".", ",") + " %)")
+
# 6. NU: close[13] > high[12] (tehnic valid)
assert conf_n.c > ham_n.h, f"NU close {conf_n.c} <= high hammer {ham_n.h}"
assert abs(conf_n.c - 45.15) < 1e-9
@@ -160,7 +170,7 @@ ch_a = Chart(
)
ch_n = Chart(
candles=cds_n,
- levels=[Level(SUPORT_N, "fără nivel apropiat (suport 42.50 la −3,6 %)", GRAY,
+ levels=[Level(SUPORT_N, ET_NIVEL_N, GRAY,
label_at="left")],
marks=[Mark(HAM_N, "hammer în mijloc de range", ORANGE, "below", dy=0),
Mark(CONF_N, "volum slab", RED, "above", dy=0)],
@@ -188,6 +198,16 @@ svg_a, svg_n = ch_a.render(), ch_n.render()
HA, HN = vb_height(svg_a), vb_height(svg_n)
assert svg_a.count("\n\n") == 0 and svg_n.count("\n\n") == 0, "linie goală în panou"
+# pe fiecare panou separat: wrapper-ul le mută cu , iar
+# `eticheta_libera` citește coordonate brute, deci nu merge pe el.
+# Etichetele de nivel stau lipite de linia lor prin construcție (segmente=False);
+# ce nu au voie e să cadă peste candele sau peste barele de volum.
+eticheta_libera(svg_a, "bh_aplus/A+",
+ {"suport monthly 42.00", "hammer la nivel (low 41.90)", "acumulare"},
+ rects=True, segmente=False)
+eticheta_libera(svg_n, "bh_aplus/NU",
+ {ET_NIVEL_N, "hammer în mijloc de range", "volum slab"},
+ rects=True, segmente=False)
TOTAL_W = PAD + PW + PANEL_GAP + PW + PAD
TOTAL_H = PAD + TITLE_H + max(HA, HN) + FOOTER_H + PAD
@@ -269,7 +289,7 @@ for i in range(len(all_txt)):
# etichetele cerute de spec există în desen
for cheie in ("suport monthly 42.00", "hammer la nivel", "acumulare",
- "fără nivel apropiat (suport 42.50 la −3,6 %)", "volum slab",
+ ET_NIVEL_N, "volum slab",
"A+ — hammer la suport monthly",
"Mediocru — hammer fără nivel"):
assert cheie in wrapper, f"lipsește din desen: {cheie!r}"
diff --git a/gen/strategii/hammer_mbt10_bh_aplus.svg b/gen/strategii/hammer_mbt10_bh_aplus.svg
index 04131cf..44a7e6e 100644
--- a/gen/strategii/hammer_mbt10_bh_aplus.svg
+++ b/gen/strategii/hammer_mbt10_bh_aplus.svg
@@ -1,7 +1,7 @@
")
@@ -122,4 +125,4 @@ assert "\n\n" not in svg, "linie goală în SVG"
for m in re.finditer(r']*>(.*?)', body_da):
assert float(m.group(1)) < PX[1] - 14, f"text din DA trece în NU: {m.group(2)}"
OUT.write_text(svg, encoding="utf-8")
-print(f"scris {OUT.name} ({W}x{y_bot + 80:.0f}); DA {d_da}% NU {d_nu}% (rezistență {d_rez}%)")
+print(f"scris {OUT.name} ({W}x{y_bot + 96:.0f}); DA {d_da}% NU {d_nu}% (rezistență {d_rez}%)")
diff --git a/gen/strategii/hammer_mbt10_bh_locatie.svg b/gen/strategii/hammer_mbt10_bh_locatie.svg
index d5f3342..9ea06f1 100644
--- a/gen/strategii/hammer_mbt10_bh_locatie.svg
+++ b/gen/strategii/hammer_mbt10_bh_locatie.svg
@@ -1,4 +1,4 @@
-
+Hammer la un nivel vs. hammer în mijlocul range-ului — daily, exemplu construitDA — hammer pe suportul monthlyNU — hammer în mijlocul range-ului
@@ -75,6 +75,7 @@
fitilul n-a fost oprit de un nivel,ci s-a oprit singurCompletare proprie: materialul cere „un nivel major (weekly / monthly / quarterly), nu mijlocul
- range-ului", dar nu dă un prag numeric. Pragul de 1-2 % e împrumutat de la buy doji, ca să ai ce
- măsura: aici 0,16 % în stânga, 7,07 % în dreapta.
+ range-ului", dar nu dă un prag numeric. Cursul dă 0,5 %, la buy doji și pe 60 de minute; 1-2 % pe
+ daily e adaptarea mea, ca să ai ce măsura: aici 0,16 % în stânga, 7,07 % în dreapta.
+ Distanța se împarte la nivel, nu la low-ul hammer-ului — aceeași convenție în tot capitolul.
\ No newline at end of file
diff --git a/gen/strategii/hammer_mbt10_mbt_confluente.py b/gen/strategii/hammer_mbt10_mbt_confluente.py
index 9f2a2c1..6c19458 100644
--- a/gen/strategii/hammer_mbt10_mbt_confluente.py
+++ b/gen/strategii/hammer_mbt10_mbt_confluente.py
@@ -1,53 +1,64 @@
#!/usr/bin/env python3
-"""MBT-10, pasul „unde": ideea de bottom cu confluențe (exemplu construit).
+"""MBT-10, pasul „unde": ideea de bottom, pe exemplul materialului.
Seria de aici e SURSA UNICĂ a trade-ului MBT-10 din Nivelul 2:
`hammer_mbt10_mbt_ppd`, `_mbt_stop` și `_mbt_iesire` importă `serie()` și
-pornesc din aceleași bare. Nivelurile 89.90 (intrare la close), 87.30 (SL) și
-95.20 (ținta, vârful de unde a pornit coborârea) sunt cifrele exemplului
-construit din fișierul principal; suportul weekly 87.50 și pivotul daily
-89.60 sunt puse de mine, ca acele cifre să aibă de unde ieși.
+pornesc din aceleași bare.
-Diagrama asta arată doar contextul: double bottom pe suportul weekly, cu
-volum mai mic pe al doilea picior. Nicio intrare desenată — intrarea vine la
-pasul următor.
+Exemplul e al materialului (`08_ANALIZA_ZILNICA/02_mbt10.md:440-455`) și e pe
+**60 de minute**, nu pe daily: suport weekly **88.00**, testat de **trei ori**,
+cu vârfuri tot mai mici între teste (compresie); intrare **89.90** la close-ul
+barei în MBT-10; **SL 87.30** sub suport; **țintă 95.20**, vârful de unde a
+pornit coborârea. Materialul spune și de ce nu pe daily: „o bară daily în
+suport weekly poate avea un low cu 2-3 % sub suport, deci stopul ar sta
+departe".
+
+Ale mele sunt doar forma exactă a barelor, volumul și pivotul daily 89.60 (pus
+ca să aibă ce verifica pasul B3). Nu există aici nici double bottom, nici
+divergență de volum: alea sunt din alt exemplu al materialului (gap up, cu
+picioarele 32.10 / 30.90) și nu se fuzionează cu ăsta.
Rulare: python3 gen/strategii/hammer_mbt10_mbt_confluente.py
"""
import re
import sys; sys.path.insert(0, "/workspace/atm-curs-dl")
+sys.path.insert(0, "/workspace/atm-curs-dl/gen")
from pathlib import Path
-from svg_candles import Arrow, Chart, Level, Zone, from_closes
+from eticheta_libera import eticheta_libera
+from svg_candles import Chart, Level, Mark, Zone, from_closes
OUT = Path(__file__).with_suffix(".svg")
GREEN, RED, BLUE, ORANGE, GREY = "#188a3e", "#c00", "#1a5fb4", "#b06000", "#555"
-SUP_W, PPD = 87.50, 89.60 # suport weekly, pivotul daily
+SUP_W, PPD = 88.00, 89.60 # suport weekly (materialul), pivotul daily (al meu)
INTRARE, SL, TP = 89.90, 87.30, 95.20
R = round(INTRARE - SL, 2)
-FUND1, FUND2 = 10, 15 # cele două picioare ale double bottom-ului
+TESTE = (9, 12, 15) # cele trei atingeri ale suportului weekly
+VARFURI = (10, 13) # vârfurile dintre teste: tot mai mici (compresie)
VARF = 3 # ultimul maxim înainte de coborâre: high 95.20 = ținta
CLOSE_I = 19 # bara care se închide peste pivotul daily
+BARE_PE_ZI = 7 # 60 de minute, sesiune US: 7 bare pe zi
+ZI_INTRARE = (14, 20) # barele zilei în care vine trigger-ul
CLOSES = [96.00, 95.00, 94.20, 95.00, 93.10, 92.00, 91.20, 90.10, 89.00, # 0-8
- 88.20, 87.70, 88.40, 89.10, # 9-12
- 88.60, 88.00, 87.65, 88.30, # 13-16
- 88.90, 89.40, 89.90, # 17-19
- 90.60, 91.40, 92.20, 91.80, 93.00, 94.10, 95.40] # 20-26
+ 88.20, 89.00, 88.60, # 9-11
+ 88.20, 89.00, 88.50, # 12-14
+ 88.20, 88.60, 89.00, 89.40, 89.90, # 15-19
+ 90.60, 91.40, 92.20, 91.80, 93.00, 94.10, 95.40] # 20-26
VOLS = [60, 58, 55, 50, 62, 66, 70, 74, 80,
- 86, 94, 62, 58,
- 55, 60, 66, 54, # piciorul 2: volum vizibil mai mic
- 58, 62, 96,
+ 86, 62, 58,
+ 84, 60, 56,
+ 82, 58, 62, 66, 96,
70, 66, 64, 58, 68, 72, 80]
def serie():
w = [(0.20, 0.25)] * len(CLOSES)
- w[FUND1] = (0.20, 0.10) # low 87.60
- w[FUND2] = (0.20, 0.10) # low 87.55
- # barele imediat de după picioare pornesc din același preț: fără fitil lung
- # în jos, altfel ele ar face minimul, nu picioarele
- w[FUND1 + 1] = w[FUND2 + 1] = (0.20, 0.05)
+ for t in TESTE:
+ w[t] = (0.20, 0.20) # low exact pe 88.00: suportul ține, nu cedează
+ w[t + 1] = (0.20, 0.05) # bara de după pornește din 88.20: fără fitil lung în jos
+ w[VARFURI[0]] = (0.50, 0.05) # high 89.50
+ w[VARFURI[1]] = (0.10, 0.05) # high 89.10 — vârf mai mic
# bara 18 atinge pivotul intraday, dar se închide sub el: contraexemplul
# de la pasul cu condiția de preț
w[CLOSE_I - 1] = (0.30, 0.25)
@@ -58,20 +69,30 @@ def serie():
assert len(cds) == len(VOLS) == 27
for i in range(1, len(cds)):
assert abs(cds[i].o - cds[i - 1].c) < 1e-9, f"open[{i}] != close[{i-1}]"
- l1, l2 = round(cds[FUND1].l, 2), round(cds[FUND2].l, 2)
- assert (l1, l2) == (87.60, 87.55), (l1, l2)
- assert abs(l1 - l2) <= 0.05 and l2 < l1, "double bottom: al doilea picior, puțin mai jos"
- assert round(min(c.l for c in cds), 2) == l2, "cel mai jos low nu e al piciorului 2"
- assert l2 > SUP_W > SL, "picioarele trebuie să stea peste suport, iar stopul sub el"
- assert VOLS[FUND2] < VOLS[FUND1], "fără divergență de volum pe piciorul 2"
- # de la al doilea picior încoace, nicio bară nu închide peste pivotul zilei
+ # suportul weekly e atins de exact trei ori și ține de fiecare dată
+ atingeri = [i for i, c in enumerate(cds) if round(c.l, 2) <= SUP_W]
+ assert atingeri == list(TESTE), atingeri
+ for t in TESTE:
+ assert round(cds[t].l, 2) == SUP_W, (t, cds[t].l)
+ assert SUP_W > SL, "stopul trebuie să stea sub suport"
+ # compresie: vârfurile dintre teste scad
+ v1, v2 = (round(cds[i].h, 2) for i in VARFURI)
+ assert v1 > v2, f"vârfurile dintre teste nu scad: {v1} > {v2}"
+ assert (v1, v2) == (89.50, 89.10), (v1, v2)
+ # de la primul test încoace, nicio bară nu închide peste pivotul zilei
# intrării — altfel trigger-ul ar fi venit mai devreme
- assert max(c.c for c in cds[FUND2:CLOSE_I]) < PPD < cds[CLOSE_I].c, \
+ assert max(c.c for c in cds[TESTE[0]:CLOSE_I]) < PPD < cds[CLOSE_I].c, \
"o bară dinaintea trigger-ului închide deja peste pivotul daily"
assert round(cds[CLOSE_I].c, 2) == INTRARE
assert cds[CLOSE_I - 1].h > PPD > cds[CLOSE_I - 1].c, \
"bara 18 trebuie să atingă pivotul intraday, dar să închidă sub el"
assert min(c.l for c in cds[CLOSE_I:]) > SL, "stopul ar fi fost atins după intrare"
+ # trigger-ul și contraexemplul lui stau în aceeași zi: pe 60 de minute
+ # pivotul daily e un singur nivel pe toată ziua, dar se schimbă mâine
+ assert ZI_INTRARE[0] <= CLOSE_I - 1 and CLOSE_I <= ZI_INTRARE[1]
+ assert ZI_INTRARE[1] - ZI_INTRARE[0] + 1 == BARE_PE_ZI
+ assert all(i // BARE_PE_ZI == ZI_INTRARE[0] // BARE_PE_ZI
+ for i in range(*ZI_INTRARE)), "ziua intrării nu e un bloc de 7 bare"
prim_tp = next(i for i in range(CLOSE_I + 1, len(cds)) if cds[i].h >= TP)
assert prim_tp == 26, prim_tp
# ținta 95.20 nu e un număr ales: e high-ul ultimului maxim dinaintea coborârii
@@ -83,34 +104,32 @@ def serie():
if __name__ == "__main__":
cds = serie()
- pct1 = round((cds[FUND1].l - SUP_W) / SUP_W * 100, 2)
- pct2 = round((cds[FUND2].l - SUP_W) / SUP_W * 100, 2)
- assert pct1 < 0.2 and pct2 < 0.2, (pct1, pct2)
vis = cds[:CLOSE_I] # contextul, fără bara de trigger
ch = Chart(
candles=vis,
- levels=[Level(SUP_W, "suport weekly 87.50", BLUE, label_at="left")],
- zones=[Zone(FUND1, FUND2, "double bottom: 87.60 și 87.55", ORANGE)],
- arrows=[
- Arrow(FUND1, "piciorul 1: low 87.60,\nla 0,11 % peste suport",
- where="below", color=GREY, dx=-150, dy=26),
- Arrow(FUND2, "piciorul 2: low 87.55, cu 5 cenți mai jos,\ndar cu volum mai mic decât "
- "la piciorul 1 —\nvânzarea a slăbit (divergență de volum)",
- where="below", color=RED, dx=-40, dy=64),
- ],
+ levels=[Level(SUP_W, "suport weekly 88.00", BLUE, label_at="left")],
+ zones=[Zone(TESTE[0], TESTE[-1], "", ORANGE)],
+ marks=[Mark(t, f"test {n}", ORANGE, "above", dy=-34)
+ for n, t in enumerate(TESTE, 1)],
scale=30.0, gap=22, body_w=12, left=54, width=700, vol_h=70, vol_label="volum",
- title="MBT-10, pasul „unde\" — double bottom pe suportul weekly (exemplu construit)",
+ title="MBT-10, pasul „unde\" — suport weekly testat de trei ori, pe 60 de minute",
)
svg = ch.render()
+ eticheta_libera(svg, "mbt_confluente", {"test 1", "test 2", "test 3"}, rects=True)
m = re.search(r'viewBox="0 0 (\d+) (\d+)"', svg)
W, H = int(m.group(1)), int(m.group(2))
linii = [
("Aici nu intri încă: diagrama arată doar ideea de bottom. MBT-10 e ultima piesă, și "
"vine abia la close-ul unei bare.", "#333"),
- ("Cifrele 89.90 / 87.30 / 95.20 ale trade-ului sunt din exemplul construit al "
- "materialului;", GREY),
- ("suportul weekly 87.50, pivotul daily 89.60 și structura barelor sunt ale mele.", GREY),
+ ("Suportul 88.00 ține de trei ori, iar între teste vârfurile scad — 89.50, apoi "
+ "89.10: compresie.", "#333"),
+ ("Exemplul e al materialului și e pe 60 de minute: suport 88.00, intrare 89.90, "
+ "SL 87.30, țintă 95.20.", GREY),
+ ("Nu e double bottom și nu e divergență de volum — alea sunt din alt exemplu al lui "
+ "(gap up, picioarele 32.10 / 30.90).", GREY),
+ ("Forma exactă a barelor și volumul sunt ale mele; la fel pivotul daily 89.60, pus ca "
+ "să aibă ce verifica pasul B3.", GREY),
]
add = 16 * len(linii) + 10
svg = svg.replace(f'viewBox="0 0 {W} {H}"', f'viewBox="0 0 {W} {H + add}"')
@@ -119,4 +138,4 @@ if __name__ == "__main__":
for i, (t, c) in enumerate(linii)) + "")
assert "\n\n" not in svg, "linie goală în SVG"
OUT.write_text(svg, encoding="utf-8")
- print(f"scris {OUT.name} ({W}x{H + add}); picioare {pct1}% / {pct2}% peste suport, R={R}")
+ print(f"scris {OUT.name} ({W}x{H + add}); teste {TESTE} pe {SUP_W}, R={R}")
diff --git a/gen/strategii/hammer_mbt10_mbt_confluente.svg b/gen/strategii/hammer_mbt10_mbt_confluente.svg
index 6e4020a..953272b 100644
--- a/gen/strategii/hammer_mbt10_mbt_confluente.svg
+++ b/gen/strategii/hammer_mbt10_mbt_confluente.svg
@@ -1,9 +1,8 @@
-
- MBT-10, pasul „unde" — double bottom pe suportul weekly (exemplu construit)
-
- double bottom: 87.60 și 87.55
-
- suport weekly 87.50
+
+ MBT-10, pasul „unde" — suport weekly testat de trei ori, pe 60 de minute
+
+
+ suport weekly 88.00
@@ -22,54 +21,48 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- volum
-
-
- piciorul 1: low 87.60,
- la 0,11 % peste suport
-
-
- piciorul 2: low 87.55, cu 5 cenți mai jos,
- dar cu volum mai mic decât la piciorul 1 —
- vânzarea a slăbit (divergență de volum)
-Aici nu intri încă: diagrama arată doar ideea de bottom. MBT-10 e ultima piesă, și vine abia la close-ul unei bare.Cifrele 89.90 / 87.30 / 95.20 ale trade-ului sunt din exemplul construit al materialului;suportul weekly 87.50, pivotul daily 89.60 și structura barelor sunt ale mele.
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ volum
+ test 1
+ test 2
+ test 3
+Aici nu intri încă: diagrama arată doar ideea de bottom. MBT-10 e ultima piesă, și vine abia la close-ul unei bare.Suportul 88.00 ține de trei ori, iar între teste vârfurile scad — 89.50, apoi 89.10: compresie.Exemplul e al materialului și e pe 60 de minute: suport 88.00, intrare 89.90, SL 87.30, țintă 95.20.Nu e double bottom și nu e divergență de volum — alea sunt din alt exemplu al lui (gap up, picioarele 32.10 / 30.90).Forma exactă a barelor și volumul sunt ale mele; la fel pivotul daily 89.60, pus ca să aibă ce verifica pasul B3.
\ No newline at end of file
diff --git a/gen/strategii/hammer_mbt10_mbt_gapdown.py b/gen/strategii/hammer_mbt10_mbt_gapdown.py
index 3d323a5..b89aaf9 100644
--- a/gen/strategii/hammer_mbt10_mbt_gapdown.py
+++ b/gen/strategii/hammer_mbt10_mbt_gapdown.py
@@ -20,7 +20,8 @@ cu două excepții impuse de exemplu:
o=c=66.40, wu=0.30 => high 66.70, wd=0.30 => low 66.10.
Wick-urile speciale: bara 16 wd=0.20 (low 64.60), bara 18 wd=0.20 (low
-63.20), bara 21 wd=0.20 (low 62.00); restul (0.30, 0.40).
+63.20), bara 21 wd=1.60 (low 60.60 = noul low al coborârii, ca SL-ul 60.40 din
+material să stea sub o structură desenată); restul (0.30, 0.40).
Rulează: python3 gen/strategii/hammer_mbt10_mbt_gapdown.py
Scrie: gen/strategii/hammer_mbt10_mbt_gapdown.svg
@@ -30,6 +31,8 @@ import sys
from pathlib import Path
sys.path.insert(0, "/workspace/atm-curs-dl")
+sys.path.insert(0, "/workspace/atm-curs-dl/gen")
+from eticheta_libera import eticheta_libera # noqa: E402
from svg_candles import Candle, Chart, Level, Mark, from_closes # noqa: E402
OUT = Path(__file__).resolve().parent / "hammer_mbt10_mbt_gapdown.svg"
@@ -62,7 +65,10 @@ WICKS[13] = (0.40, 0.00) # high 71.00, low 70.60
WICKS[14] = (0.30, 0.30) # high 66.70, low 66.10 (bara de gap)
WICKS[16] = (0.30, 0.20) # low 64.60
WICKS[18] = (0.30, 0.20) # low 63.20
-WICKS[21] = (0.30, 0.20) # low 62.00
+# bara lui MBT-10 #2 face și noul low al coborârii: flush la 60.60, închidere
+# înapoi la 62.20. Fără el, SL-ul 60.40 din material (`mbt`:729-732) ar pluti
+# sub orice structură desenată — exact reproșul din verificare.
+WICKS[21] = (0.30, 1.60) # low 60.60 = noul low; SL 60.40 stă sub el
# Volume relative, alese de generator (materialul nu dă volum aici):
# în scădere pe piciorul coborârii după gap (14 -> 21), apoi recuperare.
@@ -104,6 +110,12 @@ intrare2, sl2 = 62.20, 60.40
assert abs(cds[21].c - intrare2) < 1e-9, f"close[21]={cds[21].c} != 62.20"
assert abs(sl2 - 60.40) < 1e-9
assert not any(c.l <= sl2 for c in cds[22:]), "un low atinge SL2 după bara 21"
+# stopul #2 numește o structură: e sub cel mai jos low al coborârii de după gap
+nou_low = min(c.l for c in cds[14:22])
+assert abs(nou_low - cds[21].l) < 1e-9, "noul low nu e al barei lui MBT-10 #2"
+assert sl2 < nou_low <= sl2 + 0.30, \
+ f"SL2 {sl2} nu stă chiar sub noul low {nou_low:.2f}: nu mai numește o structură"
+assert nou_low < min(c.l for c in cds[14:21]), "low-ul barei 21 nu e cel mai jos"
# 4. riscuri
risc1 = intrare1 - sl1 # 1.60
@@ -141,7 +153,7 @@ ch = Chart(
Level(intrare1, "#1 intrare 64.80", GRAY, label_at="right"),
Level(sl1, "#1 SL 63.20", GRAY, label_at="right"),
Level(intrare2, "#2 intrare 62.20", GRAY, label_at="right"),
- Level(sl2, "#2 SL 60.40", GRAY, label_at="right"),
+ Level(sl2, "#2 SL 60.40, sub noul low 60.60", GRAY, label_at="right"),
Level(TP, "TP 70.60 = 4.7R (gap închis)", BLUE, label_at="right"),
],
marks=[
@@ -149,7 +161,7 @@ ch = Chart(
Mark(14, "gap down", RED, "above", dy=-22),
Mark(16, "MBT-10 #1", GRAY, "above", dy=-25),
Mark(18, "stop #1 atins", RED, "below", dy=30),
- Mark(21, "MBT-10 #2", GREEN, "below", dy=25),
+ Mark(21, "MBT-10 #2: flush la 60.60, închidere 62.20", GREEN, "below", dy=25),
],
scale=28.0, gap=15, body_w=9, left=44, width=820, vol_h=70,
vol_label="volum",
@@ -159,13 +171,18 @@ ch = Chart(
svg = ch.render()
assert "După gap down — primul MBT-10 te scoate, al doilea merge (exemplu construit)
-
+ #1 intrare 64.80
-
+ #1 SL 63.20
-
+ #2 intrare 62.20
-
- #2 SL 60.40
-
+
+ #2 SL 60.40, sub noul low 60.60
+ TP 70.60 = 4.7R (gap închis)
@@ -52,7 +52,7 @@
-
+
@@ -114,5 +114,5 @@
gap downMBT-10 #1stop #1 atins
- MBT-10 #2
-MBT-10 #1: intrare 64.80 / SL 63.20 — risc 1R în baniMBT-10 #2: intrare 62.20 / SL 60.40 — risc 1R în bani (mărime ajustată)Exemplu construit: #1 și #2 au același risc în bani; #2 singur dă 4.7R.De aceea mărimea se împarte pe 2-3 încercări.
\ No newline at end of file
+ MBT-10 #2: flush la 60.60, închidere 62.20
+MBT-10 #1: intrare 64.80 / SL 63.20 — risc 1R în baniMBT-10 #2: intrare 62.20 / SL 60.40, sub noul low 60.60 — risc 1R în bani (mărime ajustată)Exemplu construit: #1 și #2 au același risc în bani; #2 singur dă 4.7R.De aceea mărimea se împarte pe 2-3 încercări.
\ No newline at end of file
diff --git a/gen/strategii/hammer_mbt10_mbt_iesire.py b/gen/strategii/hammer_mbt10_mbt_iesire.py
index 57302e0..81d3ed9 100644
--- a/gen/strategii/hammer_mbt10_mbt_iesire.py
+++ b/gen/strategii/hammer_mbt10_mbt_iesire.py
@@ -49,7 +49,7 @@ ch = Chart(
price=TP, where="below", color=BLUE, dx=-200, dy=54),
],
scale=26.0, gap=17, body_w=10, left=54, width=700, top=58, vol_h=60, vol_label="volum",
- title="MBT-10 — ieșirea la prima structură din stânga (exemplu construit)",
+ title="MBT-10 — ieșirea la prima structură din stânga (60 de minute)",
)
svg = ch.render()
m = re.search(r'viewBox="0 0 (\d+) (\d+)"', svg)
@@ -59,8 +59,8 @@ linii = [
"exemplele lui e că", "#333"),
("ținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau "
"închiderea unui gap.", "#333"),
- (f"Aici: 89.90 → 95.20 = {R_TINTA:.1f}R, în {zile} bare. Cifrele trade-ului sunt din "
- "exemplul construit al materialului.", GREY),
+ (f"Aici: 89.90 → 95.20 = {R_TINTA:.1f}R, în {zile} bare de 60 de minute. Cifrele "
+ "trade-ului sunt din exemplul materialului.", GREY),
]
add = 16 * len(linii) + 10
svg = svg.replace(f'viewBox="0 0 {W} {H}"', f'viewBox="0 0 {W} {H + add}"')
diff --git a/gen/strategii/hammer_mbt10_mbt_iesire.svg b/gen/strategii/hammer_mbt10_mbt_iesire.svg
index 3d30f55..8964219 100644
--- a/gen/strategii/hammer_mbt10_mbt_iesire.svg
+++ b/gen/strategii/hammer_mbt10_mbt_iesire.svg
@@ -1,15 +1,15 @@
-
- MBT-10 — ieșirea la prima structură din stânga (exemplu construit)
+
+ MBT-10 — ieșirea la prima structură din stânga (60 de minute)de aici a pornit coborâreadrumul până la structură: 7 bare
-
+ ținta 95.20 = ultimul maxim dinaintea coborârii
-
- intrare 89.90
-
- SL 87.30
+
+ intrare 89.90
+
+ SL 87.30
@@ -28,26 +28,26 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -64,38 +64,38 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- volum
-
-
- ieși la 95.20 (+2.0R):
- prima structură care a oprit
- prețul ultima dată
-Materialul nu dă o regulă proprie de take-profit la MBT-10. Ce au în comun toate exemplele lui e căținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau închiderea unui gap.Aici: 89.90 → 95.20 = 2.0R, în 7 bare. Cifrele trade-ului sunt din exemplul construit al materialului.
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ volum
+
+
+ ieși la 95.20 (+2.0R):
+ prima structură care a oprit
+ prețul ultima dată
+Materialul nu dă o regulă proprie de take-profit la MBT-10. Ce au în comun toate exemplele lui e căținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau închiderea unui gap.Aici: 89.90 → 95.20 = 2.0R, în 7 bare de 60 de minute. Cifrele trade-ului sunt din exemplul materialului.
\ No newline at end of file
diff --git a/gen/strategii/hammer_mbt10_mbt_ppd.py b/gen/strategii/hammer_mbt10_mbt_ppd.py
index 89b8b85..bcfac52 100644
--- a/gen/strategii/hammer_mbt10_mbt_ppd.py
+++ b/gen/strategii/hammer_mbt10_mbt_ppd.py
@@ -2,22 +2,33 @@
"""MBT-10 — singura bucată reconstituibilă: close peste pivotul daily.
Aceleași bare ca la pasul „unde" (importate din `hammer_mbt10_mbt_confluente`),
-tăiate în jurul trigger-ului. Bara 18 atinge pivotul 89.60 în timpul zilei,
-dar se închide sub el: nu e semnal. Bara 19 se închide la 89.90, peste pivot:
-aici intri, la close.
+tăiate în jurul trigger-ului. Exemplul e pe 60 de minute, ca în material: bara
+18 atinge pivotul 89.60 în timpul zilei, dar se închide sub el (nu e semnal),
+iar bara 19 se închide la 89.90, peste pivot — aici intri.
+
+Pivotul daily NU e un nivel fix pe grafic: se recalculează în fiecare zi. Pe
+60 de minute el e același pentru toate barele unei zile, așa că aici e desenat
+doar peste barele zilei de intrare, între două linii de separare de zi. În
+ziua dinainte era alt număr, pe care materialul nu-l dă — de aceea nu-l
+inventăm, doar spunem că era altul.
Rulare: python3 gen/strategii/hammer_mbt10_mbt_ppd.py
"""
import re
import sys; sys.path.insert(0, "/workspace/atm-curs-dl")
+sys.path.insert(0, "/workspace/atm-curs-dl/gen")
sys.path.insert(0, "/workspace/atm-curs-dl/gen/strategii")
from pathlib import Path
-from hammer_mbt10_mbt_confluente import CLOSE_I, INTRARE, PPD, SUP_W, serie
+from eticheta_libera import eticheta_libera
+from hammer_mbt10_mbt_confluente import (CLOSE_I, INTRARE, PPD, SUP_W,
+ ZI_INTRARE, serie)
from svg_candles import Arrow, Chart, Level, Zone
OUT = Path(__file__).with_suffix(".svg")
GREEN, RED, BLUE, ORANGE, GREY = "#188a3e", "#c00", "#1a5fb4", "#b06000", "#555"
+ET_PIVOT = ("pivotul daily al zilei de", "intrare: 89.60 (ieri, altul) →")
+
cds = serie()
I0, I1 = 9, 22
w = cds[I0:I1 + 1]
@@ -28,28 +39,54 @@ assert cds[NU].h > PPD > cds[NU].c, "bara 18 nu mai e contraexemplul așteptat"
assert cds[DA].c > PPD and round(cds[DA].c, 2) == INTRARE
assert 0 <= sh(NU) < len(w) and sh(DA) < len(w), "fereastra nu prinde cele două bare"
assert max(c.c for c in cds[I0:DA]) < PPD, "o bară din fereastră închide deja peste pivot"
+assert I0 < ZI_INTRARE[0] and ZI_INTRARE[1] <= I1, \
+ "ziua intrării trebuie să se vadă întreagă, cu bare de altă zi de o parte și de alta"
ch = Chart(
candles=w,
- levels=[Level(PPD, "pivotul daily 89.60", BLUE),
- Level(SUP_W, "suport weekly 87.50", GREY, label_at="left")],
+ levels=[Level(SUP_W, "suport weekly 88.00", GREY, label_at="right")],
zones=[Zone(sh(NU), sh(DA), "", ORANGE, p_top=90.4)],
arrows=[
- Arrow(sh(NU), "a atins 89.70 în timpul zilei,\ndar s-a închis la 89.40, sub pivot:\nnu e semnal",
+ Arrow(sh(NU), "a atins 89.70 în timpul barei,\ndar s-a închis la 89.40, sub pivot:\nnu e semnal",
where="below", color=RED, dx=-190, dy=40),
- Arrow(sh(DA), "s-a închis la 89.90, peste pivot:\naici intri, la close-ul zilei",
+ Arrow(sh(DA), "s-a închis la 89.90, peste pivot:\naici intri, la close-ul barei",
where="above", color=GREEN, dx=-70, dy=-20),
],
scale=44.0, gap=26, body_w=13, left=64, width=680, top=58, vol_h=60, vol_label="volum",
- title="MBT-10 — condiția de preț: close peste pivotul daily (exemplu construit)",
+ title="MBT-10 — condiția de preț: close peste pivotul daily (60 de minute)",
)
svg = ch.render()
+
+# --- pivotul daily: un segment peste ziua de intrare, nu o linie fixă -------
+# aceeași corecție de offset ca în `_mbt_stop`: `_render` mută `top` ca să facă
+# loc titlului și săgeților, deci `_y` singur nu nimerește coordonatele finale.
+OFF = float(re.search(r''
+ f''
+ f''
+ + "".join(
+ f'{t}' for i, t in enumerate(ET_PIVOT))
+)
+svg = svg.replace("", pivot + "")
m = re.search(r'viewBox="0 0 (\d+) (\d+)"', svg)
W, H = int(m.group(1)), int(m.group(2))
linii = [
("Pivotul daily se recalculează în fiecare zi din maximul, minimul și închiderea zilei "
- "precedente;", "#333"),
- ("linia desenată e valoarea din ziua intrării, 89.60, nu un nivel fix.", "#333"),
+ "precedente.", "#333"),
+ ("Pe 60 de minute e același nivel pentru toate barele unei zile, așa că e desenat doar "
+ "între cele două", "#333"),
+ ("linii subțiri care taie ziua intrării — nu peste tot graficul.", "#333"),
("Asta e tot ce se poate verifica din MBT-10 fără indicatorul proprietar — „prima "
"componentă\" din el,", GREY),
("cum îi spune materialul; restul formulei nu e publicat nicăieri.", GREY),
@@ -59,6 +96,8 @@ svg = svg.replace(f'viewBox="0 0 {W} {H}"', f'viewBox="0 0 {W} {H + add}"')
svg = svg.replace("", "".join(
f'{t}'
for i, (t, c) in enumerate(linii)) + "")
+eticheta_libera(svg, "mbt_ppd",
+{ET_PIVOT}, rects=True)
assert "\n\n" not in svg, "linie goală în SVG"
OUT.write_text(svg, encoding="utf-8")
print(f"scris {OUT.name} ({W}x{H + add})")
diff --git a/gen/strategii/hammer_mbt10_mbt_ppd.svg b/gen/strategii/hammer_mbt10_mbt_ppd.svg
index a767e17..a2dffc1 100644
--- a/gen/strategii/hammer_mbt10_mbt_ppd.svg
+++ b/gen/strategii/hammer_mbt10_mbt_ppd.svg
@@ -1,30 +1,28 @@
-
- MBT-10 — condiția de preț: close peste pivotul daily (exemplu construit)
-
-
- pivotul daily 89.60
-
- suport weekly 87.50
-
+
+ MBT-10 — condiția de preț: close peste pivotul daily (60 de minute)
+
+
+ suport weekly 88.00
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -33,29 +31,29 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- volum
-
-
- a atins 89.70 în timpul zilei,
- dar s-a închis la 89.40, sub pivot:
- nu e semnal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ volum
+
+
+ a atins 89.70 în timpul barei,
+ dar s-a închis la 89.40, sub pivot:
+ nu e semnals-a închis la 89.90, peste pivot:
- aici intri, la close-ul zilei
-Pivotul daily se recalculează în fiecare zi din maximul, minimul și închiderea zilei precedente;linia desenată e valoarea din ziua intrării, 89.60, nu un nivel fix.Asta e tot ce se poate verifica din MBT-10 fără indicatorul proprietar — „prima componentă" din el,cum îi spune materialul; restul formulei nu e publicat nicăieri.
\ No newline at end of file
+ aici intri, la close-ul barei
+pivotul daily al zilei deintrare: 89.60 (ieri, altul) →Pivotul daily se recalculează în fiecare zi din maximul, minimul și închiderea zilei precedente.Pe 60 de minute e același nivel pentru toate barele unei zile, așa că e desenat doar între cele douălinii subțiri care taie ziua intrării — nu peste tot graficul.Asta e tot ce se poate verifica din MBT-10 fără indicatorul proprietar — „prima componentă" din el,cum îi spune materialul; restul formulei nu e publicat nicăieri.
\ No newline at end of file
diff --git a/gen/strategii/hammer_mbt10_mbt_stop.py b/gen/strategii/hammer_mbt10_mbt_stop.py
index 6911853..fc33ac3 100644
--- a/gen/strategii/hammer_mbt10_mbt_stop.py
+++ b/gen/strategii/hammer_mbt10_mbt_stop.py
@@ -1,20 +1,22 @@
#!/usr/bin/env python3
-"""MBT-10 — stopul sub structură și mărimea poziției (exemplu construit).
+"""MBT-10 — stopul sub structură și mărimea poziției (60 de minute).
Zoom pe barele 8-21 din seria pasului „unde" (importată). Stopul 87.30 nu e
-ales la distanță, ci sub amândouă picioarele double bottom-ului și sub
-suportul weekly 87.50. Riscul iese 2.60 $ pe acțiune, iar mărimea din regula
-de 2 % pe același cont de 10.000 $ folosit în Partea A: 200 / 2.60 = 76 de
-acțiuni.
+ales la distanță, ci sub suportul weekly 88.00, cel testat de trei ori —
+amândouă cifrele sunt ale materialului. Riscul iese 2.60 $ pe acțiune, iar
+mărimea din regula de 2 % pe același cont de 10.000 $ folosit în Partea A:
+200 / 2.60 = 76 de acțiuni.
Rulare: python3 gen/strategii/hammer_mbt10_mbt_stop.py
"""
import re
import sys; sys.path.insert(0, "/workspace/atm-curs-dl")
+sys.path.insert(0, "/workspace/atm-curs-dl/gen")
sys.path.insert(0, "/workspace/atm-curs-dl/gen/strategii")
from pathlib import Path
-from hammer_mbt10_mbt_confluente import (CLOSE_I, FUND1, FUND2, INTRARE, SL,
- SUP_W, serie)
+from eticheta_libera import eticheta_libera
+from hammer_mbt10_mbt_confluente import (CLOSE_I, INTRARE, SL, SUP_W, TESTE,
+ serie)
from svg_candles import Arrow, Chart, Level, Zone
OUT = Path(__file__).with_suffix(".svg")
@@ -32,29 +34,32 @@ ACTIUNI = int(RISC_LEI // RISC)
# --- verificări -------------------------------------------------------------
assert RISC == 2.60, RISC
assert ACTIUNI == 76 and ACTIUNI * RISC <= RISC_LEI, (ACTIUNI, ACTIUNI * RISC)
-assert SL < SUP_W < min(cds[FUND1].l, cds[FUND2].l), \
- "stopul trebuie să stea sub suport, iar suportul sub amândouă picioarele"
+assert SL < SUP_W <= min(cds[t].l for t in TESTE), \
+ "stopul trebuie să stea sub suport, iar suportul la sau sub cele trei teste"
assert SL < min(c.l for c in w), "linia stopului trebuie să stea sub toate fitilele"
assert round(cds[CLOSE_I].c, 2) == INTRARE
-assert I0 <= FUND1 and FUND2 <= I1 and CLOSE_I <= I1, "fereastra nu prinde tot ce trebuie"
+assert I0 <= TESTE[0] and TESTE[-1] <= I1 and CLOSE_I <= I1, \
+ "fereastra nu prinde tot ce trebuie"
ch = Chart(
candles=w,
- levels=[Level(INTRARE, "intrare 89.90 (close-ul zilei)", GREEN, label_at="left"),
- Level(SUP_W, "suport weekly 87.50", BLUE),
+ levels=[Level(INTRARE, "intrare 89.90 (close-ul barei)", GREEN, label_at="right"),
+ Level(SUP_W, "suport weekly 88.00, testat de trei ori", BLUE),
Level(SL, "SL 87.30", RED, label_at="left")],
- zones=[Zone(sh(FUND1), sh(FUND2), "structura care ține ideea", ORANGE)],
+ # fără etichetă pe zonă: eticheta ei cădea peste linia intrării, iar
+ # săgeata de mai jos spune deja ce e structura
+ zones=[Zone(sh(TESTE[0]), sh(TESTE[-1]), "", ORANGE)],
arrows=[
- Arrow(sh(FUND2), "sub 87.30 nu mai e double bottom:\nideea de la pasul 1 a murit,\nnu mai ai ce aștepta",
+ Arrow(sh(TESTE[-1]), "sub 87.30 nu mai ține suportul weekly:\nideea de la pasul 1 a murit,\nnu mai ai ce aștepta",
price=SL, where="below", color=RED, dx=-40, dy=34),
],
scale=40.0, gap=26, body_w=13, left=64, width=680, vol_h=0,
- title="MBT-10 — stopul sub structură (exemplu construit)",
+ title="MBT-10 — stopul sub structură, pe 60 de minute",
)
svg = ch.render()
m = re.search(r'viewBox="0 0 (\d+) (\d+)"', svg)
W, H = int(m.group(1)), int(m.group(2))
-OFF = (float(re.search(r'", brk + "".join(
f'{t}'
for i, (t, c) in enumerate(linii)) + "")
diff --git a/gen/strategii/hammer_mbt10_mbt_stop.svg b/gen/strategii/hammer_mbt10_mbt_stop.svg
index ac2a3ad..ec09133 100644
--- a/gen/strategii/hammer_mbt10_mbt_stop.svg
+++ b/gen/strategii/hammer_mbt10_mbt_stop.svg
@@ -1,35 +1,34 @@
-
- MBT-10 — stopul sub structură (exemplu construit)
-
- structura care ține ideea
-
- intrare 89.90 (close-ul zilei)
-
- suport weekly 87.50
-
- SL 87.30
+
+ MBT-10 — stopul sub structură, pe 60 de minute
+
+
+ intrare 89.90 (close-ul barei)
+
+ suport weekly 88.00, testat de trei ori
+
+ SL 87.30
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -38,7 +37,7 @@
- sub 87.30 nu mai e double bottom:
+ sub 87.30 nu mai ține suportul weekly:ideea de la pasul 1 a murit,nu mai ai ce aștepta
-1R = 2.60 $Mărimea, cu aceeași regulă ca la buy hammer: 2 % dintr-un cont de 10.000 $ = 200 $;200 / 2.60 = 76.9 → 76 de acțiuni, pierdere maximă 197.60 $.87.30 e cifra materialului, nu marja mea de 5 cenți; suportul weekly 87.50 e construit de mine ca stopulacela să aibă sub ce sta. Materialul nu dă niciun procent fix de stop pentru MBT-10.
\ No newline at end of file
+1R = 2.60 $Mărimea, cu aceeași regulă ca la buy hammer: 2 % dintr-un cont de 10.000 $ = 200 $;200 / 2.60 = 76.9 → 76 de acțiuni, pierdere maximă 197.60 $.87.30 și suportul weekly 88.00 sunt cifrele materialului, pe exemplul lui de 60 de minute —nu marja mea de 5 cenți. Materialul nu dă niciun procent fix de stop pentru MBT-10:stopul numește structura de sub el.
\ No newline at end of file
diff --git a/summaries/17_STRATEGII/06_hammer_mbt10.html b/summaries/17_STRATEGII/06_hammer_mbt10.html
index 1730059..c9fc26f 100644
--- a/summaries/17_STRATEGII/06_hammer_mbt10.html
+++ b/summaries/17_STRATEGII/06_hammer_mbt10.html
@@ -40,7 +40,9 @@ hammer da, doar long; MBT-10 nu, ca sistem
Cum citești capitolul: textul e explicația mea a materialului de curs și
nu adaugă reguli peste el; acolo unde materialul nu spune, completez, iar
bucata aceea începe cu Completare proprie. Diagramele sunt exemple
-construite, cu excepția LABU și Tesla, unde cifrele marcate sunt ale cursului.
+construite, cu excepția LABU, a Tesla și a exemplului de MBT-10 din pașii B1-B5
+(suport weekly 88.00 pe 60 de minute, intrare 89.90, SL 87.30, țintă 95.20),
+unde cifrele marcate sunt ale cursului.
Trimiterile la lecțiile din care vine fiecare pas stau separat, în
fise/06_hammer_mbt10_surse.md.
Capitolul are două strategii, nu una. Ele se ating (MBT-10 apare des pe o
@@ -488,7 +490,8 @@ desenați — scrie lângă fiecare pe ce diagramă îl vezi.
dreapta al diagramei de la pasul A1: aceeași bară 63.30 / 62.10,
alt context, alt sens.
Inverted hammer — corpul jos și fitilul lung în sus (candela D din
- diagrama de formă). E alt pattern; nu-l confunda cu hammer-ul.
+ diagrama de formă). Tot semnal bull, tot după o scădere, dar mai slab
+ decât hammer-ul; nu le confunda.
Downtrend / uptrend — o serie de candele care coboară, respectiv urcă,
cu maxime și minime tot mai jos (sau tot mai sus). În capitol, „scădere" și
„urcare".
@@ -500,17 +503,19 @@ desenați — scrie lângă fiecare pe ce diagramă îl vezi.
monthly 62.00 din panoul stâng al diagramei de la pasul A2.
Pivotul daily (PPD) — pivotul calculat din ziua precedentă. Se
recalculează în fiecare zi, deci nu e o linie fixă pe grafic. Exemplu: 89.60
- pe diagrama de la pasul B3.
+ pe diagrama de la pasul B3, desenat acolo doar peste barele
+ zilei de intrare, exact pentru asta.
Locul crimei — un vârf vechi pe care prețul l-a spart și la care se
întoarce mai târziu, de data asta pe dedesubt. Cine a vândut acolo prima
dată are acum de recuperat, iar cine a ratat urcarea așteaptă exact acolo.
Exemplu: 52.10 pe diagrama de ansamblu a MBT-10.
Double bottom — două minime aproape la același preț, cu o urcare între
- ele. Exemplu: 87.60 și 87.55 pe diagrama de la pasul B1 —
- 5 cenți diferență, adică 0,06 %.
+ ele. Exemplu din material, nedesenat în capitol: picioarele 32.10 și 30.90
+ ale cazului A+ de MBT-10, al doilea mai jos, dar cu volum de sub jumătate.
Swing low — cel mai jos low al unei coborâri scurte, confirmat de
- barele de după, care nu-l mai rup. Se folosește ca loc pentru stopul care
- urcă. Exemplu: 65.10, apoi 66.00, pe diagrama de la pasul A5.
+ două bare care nu-l rup. Se folosește ca loc pentru stopul care urcă.
+ Exemplu: 63.05, apoi 65.10, apoi 66.00, pe diagrama de la
+ pasul A5.
Trigger — evenimentul care îți dă voie să intri. La buy hammer: o
închidere peste high-ul hammer-ului. La MBT-10: închiderea barei în semnal.
Stop-loss (SL) — prețul la care ieși automat cu pierdere, pentru că
@@ -695,7 +700,7 @@ trece regula de formă.
Tragi pe grafic suporturile și pivoții weekly, monthly sau quarterly și te
uiți cât de departe e low-ul hammer-ului de cel mai apropiat dintre ei.
-
+
Hammer la un nivel vs. hammer în mijlocul range-ului — daily, exemplu construitDA — hammer pe suportul monthlyNU — hammer în mijlocul range-ului
@@ -772,8 +777,9 @@ uiți cât de departe e low-ul hammer-ului de cel mai apropiat dintre ei.fitilul n-a fost oprit de un nivel,
ci s-a oprit singurCompletare proprie: materialul cere „un nivel major (weekly / monthly / quarterly), nu mijlocul
- range-ului", dar nu dă un prag numeric. Pragul de 1-2 % e împrumutat de la buy doji, ca să ai ce
- măsura: aici 0,16 % în stânga, 7,07 % în dreapta.
+ range-ului", dar nu dă un prag numeric. Cursul dă 0,5 %, la buy doji și pe 60 de minute; 1-2 % pe
+ daily e adaptarea mea, ca să ai ce măsura: aici 0,16 % în stânga, 7,07 % în dreapta.
+ Distanța se împarte la nivel, nu la low-ul hammer-ului — aceeași convenție în tot capitolul.
@@ -782,15 +788,24 @@ uiți cât de departe e low-ul hammer-ului de cel mai apropiat dintre ei.
+
Distanța se măsoară mereu la fel în capitol: diferența împărțită la nivel,
+nu la low-ul hammer-ului. Aceeași convenție e și pe etichetele diagramelor, ca
+să-ți iasă același număr dacă verifici de mână.
De ce contează: un fitil lung oprit chiar pe un nivel spune că acolo au intrat
cumpărători care așteptau prețul. Același fitil în mijlocul intervalului spune
-doar că a fost o zi agitată. Materialul e categoric aici: pattern-ul „contează
-mult mai mult la un suport important (weekly, monthly, quarterly) decât în
-mijlocul range-ului".
+doar că a fost o zi agitată.
+
Același raționament apare și în materialul de curs, în sesiunea de întrebări
+din 11.06.2025 — dar spus despre divergența pe volum, nu despre hammer: ea
+contează mult mai mult la un suport important (weekly, monthly, quarterly)
+decât în mijlocul range-ului. Nu e un citat al autorului și nu e spus despre
+locația hammer-ului; eu îl aplic aici, pentru că mecanismul e același.
Completare proprie: materialul nu dă un prag numeric pentru „lângă
-nivel". Am împrumutat pragul de 1-2 % de la buy doji, ca să ai ce măsura.
-Dacă vrei să fii mai strict, ține-te de 1 %.
+nivel" la hammer. Singurul număr din curs e la buy doji și e pe 60 de
+minute: 0,5 %. Pragul de 1-2 % pentru daily nu e al cursului, ci
+adaptarea mea din capitolul de buy doji — pe daily, la
+0,5 % găsești prea puține simboluri. Dacă vrei să fii mai strict, ține-te
+de 1 %.
Treci mai departe doar dacă low-ul hammer-ului e la cel mult 1-2 % de un
suport sau de un pivot weekly, monthly ori quarterly.
@@ -1231,12 +1246,11 @@ azi în MBT-10 — te uiți la o listă de bare oarecare.
exact acolo: un suport, locul crimei, un double bottom, un buy doji sau o
divergență de volum.
-
+ MBT-10, pasul „unde" — suport weekly testat de trei ori, pe 60 de minute
+
+
+ suport weekly 88.00
@@ -1255,70 +1269,70 @@ divergență de volum.
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- volum
-
-
- piciorul 1: low 87.60,
- la 0,11 % peste suport
-
-
- piciorul 2: low 87.55, cu 5 cenți mai jos,
- dar cu volum mai mic decât la piciorul 1 —
- vânzarea a slăbit (divergență de volum)
-Aici nu intri încă: diagrama arată doar ideea de bottom. MBT-10 e ultima piesă, și vine abia la close-ul unei bare.Cifrele 89.90 / 87.30 / 95.20 ale trade-ului sunt din exemplul construit al materialului;suportul weekly 87.50, pivotul daily 89.60 și structura barelor sunt ale mele.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ volum
+ test 1
+ test 2
+ test 3
+Aici nu intri încă: diagrama arată doar ideea de bottom. MBT-10 e ultima piesă, și vine abia la close-ul unei bare.Suportul 88.00 ține de trei ori, iar între teste vârfurile scad — 89.50, apoi 89.10: compresie.Exemplul e al materialului și e pe 60 de minute: suport 88.00, intrare 89.90, SL 87.30, țintă 95.20.Nu e double bottom și nu e divergență de volum — alea sunt din alt exemplu al lui (gap up, picioarele 32.10 / 30.90).Forma exactă a barelor și volumul sunt ale mele; la fel pivotul daily 89.60, pus ca să aibă ce verifica pasul B3.
-
Pe diagramă sunt trei motive suprapuse. Prețul coboară până la suportul
-weekly 87.50 și face acolo două minime aproape egale — 87.60 și 87.55, cu
-5 cenți între ele, adică 0,06 %: un double bottom. Al doilea picior
-coboară puțin mai jos decât primul, dar cu volum mai mic — asta e
-divergența de volum: prețul mai face un minim, dar vânzarea din spatele lui a
-slăbit.
-
Structura care leagă cifrele — suportul weekly 87.50 și double bottom-ul 87.60 /
-87.55 — e completarea mea, nu a materialului. Exemplul din care vin
-89.90 / 87.30 / 95.20 e pe 60 de minute, cu un suport weekly la 88.00
-testat de trei ori, nu pe daily și nu cu un double bottom. Am coborât suportul
-la 87.50 ca stopul de la pasul B4 să aibă sub ce sta.
+
Pe diagramă e motivul din exemplul materialului, și e un singur motiv: prețul
+coboară în suportul weekly 88.00 și îl testează de trei ori, fără să-l
+rupă. Între teste, vârfurile sunt tot mai mici — 89.50, apoi 89.10: vânzătorii
+împing de fiecare dată mai puțin. Asta e compresia, și atât îți trebuie ca să
+poți spune de ce s-ar opri prețul acolo.
+
Exemplul e pe 60 de minute, nu pe daily — și materialul spune și de ce: „o
+bară daily în suport weekly poate avea un low cu 2-3 % sub suport, deci stopul
+ar sta departe". Pe 60 de minute vezi testele una câte una și pui stopul chiar
+sub suport. Ideea — suportul weekly — rămâne pe timeframe-ul mare; doar
+intrarea se face pe cel mic. Toate cifrele trade-ului sunt ale materialului:
+suport 88.00, intrare 89.90, SL 87.30, țintă 95.20. Ale mele sunt doar forma
+exactă a barelor, volumul și pivotul daily 89.60, pus ca să aibă ce verifica
+pasul B3.
+
Celelalte motive din listă — double bottom, divergență de volum — apar în
+material pe alt exemplu: gap up în MBT-10, cu picioarele 32.10 și 30.90, al
+doilea mai jos dar cu volum de sub jumătate. Sunt două setup-uri diferite; nu
+le amesteca într-unul.
Aici nu intri încă. Diagrama nu are nici intrare, nici stop desenate, fiindcă
la pasul ăsta nu există. Materialul e explicit: fără suport, volum și un
pattern de bottom, MBT-10 e doar un semnal pe o bară oarecare.
@@ -1414,33 +1428,31 @@ timp.
Verifici singurul lucru din MBT-10 pe care îl poți calcula fără indicator:
ziua s-a închis peste pivotul daily?
-
- MBT-10 — condiția de preț: close peste pivotul daily (exemplu construit)
-
-
- pivotul daily 89.60
-
- suport weekly 87.50
-
+
+ MBT-10 — condiția de preț: close peste pivotul daily (60 de minute)
+
+
+ suport weekly 88.00
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1449,39 +1461,41 @@ ziua s-a închis peste pivotul daily?
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- volum
-
-
- a atins 89.70 în timpul zilei,
- dar s-a închis la 89.40, sub pivot:
- nu e semnal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ volum
+
+
+ a atins 89.70 în timpul barei,
+ dar s-a închis la 89.40, sub pivot:
+ nu e semnals-a închis la 89.90, peste pivot:
- aici intri, la close-ul zilei
-Pivotul daily se recalculează în fiecare zi din maximul, minimul și închiderea zilei precedente;linia desenată e valoarea din ziua intrării, 89.60, nu un nivel fix.Asta e tot ce se poate verifica din MBT-10 fără indicatorul proprietar — „prima componentă" din el,cum îi spune materialul; restul formulei nu e publicat nicăieri.
+ aici intri, la close-ul barei
+pivotul daily al zilei deintrare: 89.60 (ieri, altul) →Pivotul daily se recalculează în fiecare zi din maximul, minimul și închiderea zilei precedente.Pe 60 de minute e același nivel pentru toate barele unei zile, așa că e desenat doar între cele douălinii subțiri care taie ziua intrării — nu peste tot graficul.Asta e tot ce se poate verifica din MBT-10 fără indicatorul proprietar — „prima componentă" din el,cum îi spune materialul; restul formulei nu e publicat nicăieri.
Pivotul daily se calculează din maximul, minimul și închiderea zilei
-precedente, cu formula clasică — deci se schimbă în fiecare zi. Pe diagramă,
-în ziua intrării el e la 89.60. Ziua dinainte urcă până la 89.70 în timpul
-sesiunii, dar se închide la 89.40, sub pivot: nu e semnal. Ziua următoare se
-închide la 89.90, peste pivot: aici intri, la close.
+precedente, cu formula clasică — deci se schimbă în fiecare zi. Pe 60 de
+minute, timeframe-ul exemplului, el e un singur nivel pentru toate barele unei
+zile: de aceea pe diagramă e desenat doar peste barele zilei de intrare, între
+cele două linii subțiri, nu peste tot graficul. În ziua aceea e la 89.60. Bara
+dinainte urcă până la 89.70, dar se închide la 89.40, sub pivot: nu e semnal.
+Bara următoare se închide la 89.90, peste pivot: aici intri, la close-ul ei.
Materialul numește asta „prima componentă din MBT-10", ceea ce înseamnă
probabil că nu e singura — restul formulei nu e publicat nicăieri. Așa că:
condiția asta e necesară, dar nu știm dacă e suficientă. Într-o sesiune
@@ -1496,38 +1510,37 @@ ai platforma autorului, dacă semnalul chiar s-a aprins la close).
de tine, și dimensionezi pentru două-trei încercări dacă vii după un gap
down.
-
- sub 87.30 nu mai e double bottom:
+ sub 87.30 nu mai ține suportul weekly:ideea de la pasul 1 a murit,nu mai ai ce aștepta
-1R = 2.60 $Mărimea, cu aceeași regulă ca la buy hammer: 2 % dintr-un cont de 10.000 $ = 200 $;200 / 2.60 = 76.9 → 76 de acțiuni, pierdere maximă 197.60 $.87.30 e cifra materialului, nu marja mea de 5 cenți; suportul weekly 87.50 e construit de mine ca stopulacela să aibă sub ce sta. Materialul nu dă niciun procent fix de stop pentru MBT-10.
+1R = 2.60 $Mărimea, cu aceeași regulă ca la buy hammer: 2 % dintr-un cont de 10.000 $ = 200 $;200 / 2.60 = 76.9 → 76 de acțiuni, pierdere maximă 197.60 $.87.30 și suportul weekly 88.00 sunt cifrele materialului, pe exemplul lui de 60 de minute —nu marja mea de 5 cenți. Materialul nu dă niciun procent fix de stop pentru MBT-10:stopul numește structura de sub el.
-
Stopul stă sub ce ar invalida ideea de la pasul B1. În construcția din capitol,
-ideea era double bottom-ul de pe suportul weekly 87.50 — structură a mea, nu
-a materialului, al cărui exemplu e pe 60 de minute, cu suport weekly 88.00
-testat de trei ori. Deci stopul merge la 87.30, sub amândouă picioarele și
-sub suport. Riscul e 89.90 − 87.30 = 2.60 $ pe acțiune; pe același cont de
-10.000 $ cu 2 %, 200 / 2.60 = 76,9, deci 76 de acțiuni.
+
Stopul stă sub ce ar invalida ideea de la pasul B1. Aici ideea era suportul
+weekly 88.00, cel testat de trei ori, deci stopul merge la 87.30, sub el —
+exact unde îl pune materialul. Dacă prețul se tranzacționează sub 87.30,
+suportul a cedat și motivul trade-ului nu mai există. Riscul e
+89.90 − 87.30 = 2.60 $ pe acțiune; pe același cont de 10.000 $ cu 2 %,
+200 / 2.60 = 76,9, deci 76 de acțiuni.
Alte exemple de aceeași formă din material: sub codița hammer-ului care e și
locul crimei (52.00); sub low-ul barelor de după un gap down (63.20, apoi
-60.40); la un gap up, sub low-ul barei de gap (32.80). De fiecare dată stopul
-numește o structură, nu un procent — materialul nu dă niciun procent fix.
+60.40, sub noul low de 60.60); la un gap up, sub low-ul barei de gap (32.80).
+De fiecare dată stopul numește o structură, nu un procent — materialul nu dă
+niciun procent fix.
Excepția de mărime: primul MBT-10 după un gap down poate să nu meargă. În
exemplul din material, încercarea 1 e stopată, iar încercarea 2 merge până la
4,7R. De aceea împarți riscul la două-trei încercări, cu același risc în bani
@@ -1564,18 +1578,18 @@ la fiecare, în loc să pui tot pe prima. Diagrama e la
Ieși la prima structură din stânga care a oprit prețul ultima dată, pentru
că MBT-10 nu are o țintă proprie.
-
- MBT-10 — ieșirea la prima structură din stânga (exemplu construit)
+
+ MBT-10 — ieșirea la prima structură din stânga (60 de minute)de aici a pornit coborâreadrumul până la structură: 7 bare
-
+ ținta 95.20 = ultimul maxim dinaintea coborârii
-
- intrare 89.90
-
- SL 87.30
+
+ intrare 89.90
+
+ SL 87.30
@@ -1594,26 +1608,26 @@ că MBT-10 nu are o țintă proprie.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- volum
-
-
- ieși la 95.20 (+2.0R):
- prima structură care a oprit
- prețul ultima dată
-Materialul nu dă o regulă proprie de take-profit la MBT-10. Ce au în comun toate exemplele lui e căținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau închiderea unui gap.Aici: 89.90 → 95.20 = 2.0R, în 7 bare. Cifrele trade-ului sunt din exemplul construit al materialului.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ volum
+
+
+ ieși la 95.20 (+2.0R):
+ prima structură care a oprit
+ prețul ultima dată
+Materialul nu dă o regulă proprie de take-profit la MBT-10. Ce au în comun toate exemplele lui e căținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau închiderea unui gap.Aici: 89.90 → 95.20 = 2.0R, în 7 bare de 60 de minute. Cifrele trade-ului sunt din exemplul materialului.
Asta e o gaură reală în material, nu o simplificare a mea: fișierul principal
@@ -1693,8 +1707,8 @@ același trade, cu atât e mai bun — dar materialul nu cere o poziție mai mar
Buy hammer A+ vs. mediocru (două panouri, exemple construite)A+ — hammer la suport monthly
-
- suport monthly 42.00
+
+ suport monthly 42.00
@@ -1762,8 +1776,8 @@ același trade, cu atât e mai bun — dar materialul nu cere o poziție mai mar
bara 13: 42.95 peste 42.90, volum bun.Mediocru — hammer fără nivel
-
- fără nivel apropiat (suport 42.50 la −3,6 %)
+
+ fără nivel apropiat (suport 42.50 la −3,8 %)
@@ -1876,7 +1890,9 @@ hammer.
Singurul caz pe care materialul îl numește „cel mai puternic": un gap up
în MBT-10 după o cădere masivă, departe de medie, cu indicatorul stochastic în
zona de supravânzare pe monthly și weekly, cu un double bottom sau o serie de
-doji-uri ideal în locul crimei, și cu divergență de volum pe ultimul picior.
+doji-uri ideal în locul crimei, și cu divergență de volum pe ultimul picior. În
+exemplul lui, picioarele sunt 32.10 și 30.90 — al doilea mai jos, dar cu volum
+de sub jumătate — iar bara de gap închide la 34.20, peste neckline-ul 34.10.
Opusul: MBT-10 pe o bară oarecare, luat direct din scaner, fără nicio
confluență. Diferența nu e forma semnalului — el arată la fel, fiindcă nu se
vede — ci contextul din jur.
@@ -1885,15 +1901,15 @@ vede — ci contextul din jur.
După gap down — primul MBT-10 te scoate, al doilea merge (exemplu construit)
-
+ #1 intrare 64.80
-
+ #1 SL 63.20
-
+ #2 intrare 62.20
-
- #2 SL 60.40
-
+
+ #2 SL 60.40, sub noul low 60.60
+ TP 70.60 = 4.7R (gap închis)
@@ -1937,7 +1953,7 @@ vede — ci contextul din jur.
-
+
@@ -1999,8 +2015,8 @@ vede — ci contextul din jur.
gap downMBT-10 #1stop #1 atins
- MBT-10 #2
-MBT-10 #1: intrare 64.80 / SL 63.20 — risc 1R în baniMBT-10 #2: intrare 62.20 / SL 60.40 — risc 1R în bani (mărime ajustată)Exemplu construit: #1 și #2 au același risc în bani; #2 singur dă 4.7R.De aceea mărimea se împarte pe 2-3 încercări.
+ MBT-10 #2: flush la 60.60, închidere 62.20
+MBT-10 #1: intrare 64.80 / SL 63.20 — risc 1R în baniMBT-10 #2: intrare 62.20 / SL 60.40, sub noul low 60.60 — risc 1R în bani (mărime ajustată)Exemplu construit: #1 și #2 au același risc în bani; #2 singur dă 4.7R.De aceea mărimea se împarte pe 2-3 încercări.
Ăsta e cazul care justifică împărțirea riscului de la pasul B4.
@@ -2020,11 +2036,11 @@ trade, nu dacă intri.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- volum
- hammer 80.90 / 79.60 (construit)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ volum
+ hammer 80.90 / 79.60 (construit)+20 % (cifra cursului): 97.56 / 81.30
- bara 23 = hammer: o 80.80, h 80.90, l 79.60, c 80.90 — corp 0.10, fitil jos 1.20 (H=C), pe suportul 80.00
- bara 24 = confirmare: close 81.30 — close peste high-ul hammer-ului 80.90 = intrare 81.30 (construit)
- Procentul (+20 % în jumătate de lună) și contextul (suport monthly) sunt ale cursului;
+ bara 23 = hammer: o 80.80, h 80.90, l 79.60, c 80.90 — corp 0.10, fitil jos 1.20 (H=C), pe suportul 80.00
+ bara 24 = confirmare: close 81.30 — close peste high-ul hammer-ului 80.90 = intrare 81.30 (construit)
+ Procentul (+20 % în jumătate de lună) și contextul (suport monthly) sunt ale cursului;nivelurile de preț sunt construite de sumarizator.
diff --git a/summaries/17_STRATEGII/06_hammer_mbt10.md b/summaries/17_STRATEGII/06_hammer_mbt10.md
index 9793ddb..4cb2c53 100644
--- a/summaries/17_STRATEGII/06_hammer_mbt10.md
+++ b/summaries/17_STRATEGII/06_hammer_mbt10.md
@@ -8,7 +8,9 @@ hammer da, doar long; MBT-10 nu, ca sistem
**Cum citești capitolul:** textul e explicația mea a materialului de curs și
nu adaugă reguli peste el; acolo unde materialul nu spune, completez, iar
bucata aceea începe cu **Completare proprie**. Diagramele sunt exemple
-construite, cu excepția LABU și Tesla, unde cifrele marcate sunt ale cursului.
+construite, cu excepția LABU, a Tesla și a exemplului de MBT-10 din pașii B1-B5
+(suport weekly 88.00 pe 60 de minute, intrare 89.90, SL 87.30, țintă 95.20),
+unde cifrele marcate sunt ale cursului.
Trimiterile la lecțiile din care vine fiecare pas stau separat, în
[`fise/06_hammer_mbt10_surse.md`](fise/06_hammer_mbt10_surse.md).
@@ -473,7 +475,8 @@ desenați — scrie lângă fiecare pe ce diagramă îl vezi.
dreapta al diagramei de la [pasul A1](#pasul-a1): aceeași bară 63.30 / 62.10,
alt context, alt sens.
- **Inverted hammer** — corpul jos și fitilul lung în sus (candela D din
- diagrama de formă). E alt pattern; nu-l confunda cu hammer-ul.
+ diagrama de formă). Tot semnal bull, tot după o scădere, dar **mai slab**
+ decât hammer-ul; nu le confunda.
- **Downtrend / uptrend** — o serie de candele care coboară, respectiv urcă,
cu maxime și minime tot mai jos (sau tot mai sus). În capitol, „scădere" și
„urcare".
@@ -485,17 +488,19 @@ desenați — scrie lângă fiecare pe ce diagramă îl vezi.
monthly 62.00 din panoul stâng al diagramei de la [pasul A2](#pasul-a2).
- **Pivotul daily (PPD)** — pivotul calculat din ziua precedentă. Se
recalculează în fiecare zi, deci nu e o linie fixă pe grafic. Exemplu: 89.60
- pe diagrama de la [pasul B3](#pasul-b3).
+ pe diagrama de la [pasul B3](#pasul-b3), desenat acolo doar peste barele
+ zilei de intrare, exact pentru asta.
- **Locul crimei** — un vârf vechi pe care prețul l-a spart și la care se
întoarce mai târziu, de data asta pe dedesubt. Cine a vândut acolo prima
dată are acum de recuperat, iar cine a ratat urcarea așteaptă exact acolo.
Exemplu: 52.10 pe diagrama de ansamblu a MBT-10.
- **Double bottom** — două minime aproape la același preț, cu o urcare între
- ele. Exemplu: 87.60 și 87.55 pe diagrama de la [pasul B1](#pasul-b1) —
- 5 cenți diferență, adică 0,06 %.
+ ele. Exemplu din material, nedesenat în capitol: picioarele 32.10 și 30.90
+ ale cazului A+ de MBT-10, al doilea mai jos, dar cu volum de sub jumătate.
- **Swing low** — cel mai jos low al unei coborâri scurte, confirmat de
- barele de după, care nu-l mai rup. Se folosește ca loc pentru stopul care
- urcă. Exemplu: 65.10, apoi 66.00, pe diagrama de la [pasul A5](#pasul-a5).
+ **două** bare care nu-l rup. Se folosește ca loc pentru stopul care urcă.
+ Exemplu: 63.05, apoi 65.10, apoi 66.00, pe diagrama de la
+ [pasul A5](#pasul-a5).
- **Trigger** — evenimentul care îți dă voie să intri. La buy hammer: o
închidere peste high-ul hammer-ului. La MBT-10: închiderea barei în semnal.
- **Stop-loss (SL)** — prețul la care ieși automat cu pierdere, pentru că
@@ -697,7 +702,7 @@ trece regula de formă.
uiți cât de departe e low-ul hammer-ului de cel mai apropiat dintre ei.**
-
+Hammer la un nivel vs. hammer în mijlocul range-ului — daily, exemplu construitDA — hammer pe suportul monthlyNU — hammer în mijlocul range-ului
@@ -774,8 +779,9 @@ uiți cât de departe e low-ul hammer-ului de cel mai apropiat dintre ei.**
fitilul n-a fost oprit de un nivel,ci s-a oprit singurCompletare proprie: materialul cere „un nivel major (weekly / monthly / quarterly), nu mijlocul
- range-ului", dar nu dă un prag numeric. Pragul de 1-2 % e împrumutat de la buy doji, ca să ai ce
- măsura: aici 0,16 % în stânga, 7,07 % în dreapta.
+ range-ului", dar nu dă un prag numeric. Cursul dă 0,5 %, la buy doji și pe 60 de minute; 1-2 % pe
+ daily e adaptarea mea, ca să ai ce măsura: aici 0,16 % în stânga, 7,07 % în dreapta.
+ Distanța se împarte la nivel, nu la low-ul hammer-ului — aceeași convenție în tot capitolul.
@@ -785,15 +791,26 @@ hammer „la nivel". În dreapta, cel mai apropiat nivel de sub el e la 58.00, u
gol de 7,07 %: hammer în mijlocul range-ului, adică între suportul de jos și
rezistența de sus, fără nimic în jur. Ochiul nu vede diferența, procentul da.
+Distanța se măsoară mereu la fel în capitol: diferența împărțită la **nivel**,
+nu la low-ul hammer-ului. Aceeași convenție e și pe etichetele diagramelor, ca
+să-ți iasă același număr dacă verifici de mână.
+
De ce contează: un fitil lung oprit chiar pe un nivel spune că acolo au intrat
cumpărători care așteptau prețul. Același fitil în mijlocul intervalului spune
-doar că a fost o zi agitată. Materialul e categoric aici: pattern-ul „contează
-mult mai mult la un suport important (weekly, monthly, quarterly) decât în
-mijlocul range-ului".
+doar că a fost o zi agitată.
+
+Același raționament apare și în materialul de curs, în sesiunea de întrebări
+din 11.06.2025 — dar spus despre **divergența pe volum**, nu despre hammer: ea
+contează mult mai mult la un suport important (weekly, monthly, quarterly)
+decât în mijlocul range-ului. Nu e un citat al autorului și nu e spus despre
+locația hammer-ului; eu îl aplic aici, pentru că mecanismul e același.
> **Completare proprie:** materialul nu dă un prag numeric pentru „lângă
-> nivel". Am împrumutat pragul de 1-2 % de la buy doji, ca să ai ce măsura.
-> Dacă vrei să fii mai strict, ține-te de 1 %.
+> nivel" la hammer. Singurul număr din curs e la buy doji și e pe 60 de
+> minute: **0,5 %**. Pragul de **1-2 %** pentru daily nu e al cursului, ci
+> adaptarea mea din [capitolul de buy doji](01_buy_doji.md) — pe daily, la
+> 0,5 % găsești prea puține simboluri. Dacă vrei să fii mai strict, ține-te
+> de 1 %.
**Treci mai departe doar dacă** low-ul hammer-ului e la cel mult 1-2 % de un
suport sau de un pivot weekly, monthly ori quarterly.
@@ -1258,12 +1275,11 @@ exact acolo: un suport, locul crimei, un double bottom, un buy doji sau o
divergență de volum.**
-
- MBT-10, pasul „unde" — double bottom pe suportul weekly (exemplu construit)
-
- double bottom: 87.60 și 87.55
-
- suport weekly 87.50
+
+ MBT-10, pasul „unde" — suport weekly testat de trei ori, pe 60 de minute
+
+
+ suport weekly 88.00
@@ -1282,71 +1298,72 @@ divergență de volum.**
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- volum
-
-
- piciorul 1: low 87.60,
- la 0,11 % peste suport
-
-
- piciorul 2: low 87.55, cu 5 cenți mai jos,
- dar cu volum mai mic decât la piciorul 1 —
- vânzarea a slăbit (divergență de volum)
-Aici nu intri încă: diagrama arată doar ideea de bottom. MBT-10 e ultima piesă, și vine abia la close-ul unei bare.Cifrele 89.90 / 87.30 / 95.20 ale trade-ului sunt din exemplul construit al materialului;suportul weekly 87.50, pivotul daily 89.60 și structura barelor sunt ale mele.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ volum
+ test 1
+ test 2
+ test 3
+Aici nu intri încă: diagrama arată doar ideea de bottom. MBT-10 e ultima piesă, și vine abia la close-ul unei bare.Suportul 88.00 ține de trei ori, iar între teste vârfurile scad — 89.50, apoi 89.10: compresie.Exemplul e al materialului și e pe 60 de minute: suport 88.00, intrare 89.90, SL 87.30, țintă 95.20.Nu e double bottom și nu e divergență de volum — alea sunt din alt exemplu al lui (gap up, picioarele 32.10 / 30.90).Forma exactă a barelor și volumul sunt ale mele; la fel pivotul daily 89.60, pus ca să aibă ce verifica pasul B3.
-Pe diagramă sunt trei motive suprapuse. Prețul coboară până la suportul
-weekly 87.50 și face acolo două minime aproape egale — 87.60 și 87.55, cu
-5 cenți între ele, adică 0,06 %: un **double bottom**. Al doilea picior
-coboară puțin mai jos decât primul, dar cu **volum mai mic** — asta e
-divergența de volum: prețul mai face un minim, dar vânzarea din spatele lui a
-slăbit.
+Pe diagramă e motivul din exemplul materialului, și e un singur motiv: prețul
+coboară în **suportul weekly 88.00** și îl testează de **trei ori**, fără să-l
+rupă. Între teste, vârfurile sunt tot mai mici — 89.50, apoi 89.10: vânzătorii
+împing de fiecare dată mai puțin. Asta e compresia, și atât îți trebuie ca să
+poți spune de ce s-ar opri prețul acolo.
-Structura care leagă cifrele — suportul weekly 87.50 și double bottom-ul 87.60 /
-87.55 — e **completarea mea**, nu a materialului. Exemplul din care vin
-89.90 / 87.30 / 95.20 e pe **60 de minute**, cu un **suport weekly la 88.00
-testat de trei ori**, nu pe daily și nu cu un double bottom. Am coborât suportul
-la 87.50 ca stopul de la pasul B4 să aibă sub ce sta.
+**Exemplul e pe 60 de minute, nu pe daily** — și materialul spune și de ce: „o
+bară daily în suport weekly poate avea un low cu 2-3 % sub suport, deci stopul
+ar sta departe". Pe 60 de minute vezi testele una câte una și pui stopul chiar
+sub suport. Ideea — suportul weekly — rămâne pe timeframe-ul mare; doar
+intrarea se face pe cel mic. Toate cifrele trade-ului sunt ale materialului:
+suport 88.00, intrare 89.90, SL 87.30, țintă 95.20. Ale mele sunt doar forma
+exactă a barelor, volumul și pivotul daily 89.60, pus ca să aibă ce verifica
+pasul B3.
+
+Celelalte motive din listă — double bottom, divergență de volum — apar în
+material pe **alt** exemplu: gap up în MBT-10, cu picioarele 32.10 și 30.90, al
+doilea mai jos dar cu volum de sub jumătate. Sunt două setup-uri diferite; nu
+le amesteca într-unul.
Aici nu intri încă. Diagrama nu are nici intrare, nici stop desenate, fiindcă
la pasul ăsta nu există. Materialul e explicit: fără suport, volum și un
@@ -1452,33 +1469,31 @@ timp.
ziua s-a închis peste pivotul daily?**
-
- MBT-10 — condiția de preț: close peste pivotul daily (exemplu construit)
-
-
- pivotul daily 89.60
-
- suport weekly 87.50
-
+
+ MBT-10 — condiția de preț: close peste pivotul daily (60 de minute)
+
+
+ suport weekly 88.00
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1487,39 +1502,41 @@ ziua s-a închis peste pivotul daily?**
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- volum
-
-
- a atins 89.70 în timpul zilei,
- dar s-a închis la 89.40, sub pivot:
- nu e semnal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ volum
+
+
+ a atins 89.70 în timpul barei,
+ dar s-a închis la 89.40, sub pivot:
+ nu e semnals-a închis la 89.90, peste pivot:
- aici intri, la close-ul zilei
-Pivotul daily se recalculează în fiecare zi din maximul, minimul și închiderea zilei precedente;linia desenată e valoarea din ziua intrării, 89.60, nu un nivel fix.Asta e tot ce se poate verifica din MBT-10 fără indicatorul proprietar — „prima componentă" din el,cum îi spune materialul; restul formulei nu e publicat nicăieri.
+ aici intri, la close-ul barei
+pivotul daily al zilei deintrare: 89.60 (ieri, altul) →Pivotul daily se recalculează în fiecare zi din maximul, minimul și închiderea zilei precedente.Pe 60 de minute e același nivel pentru toate barele unei zile, așa că e desenat doar între cele douălinii subțiri care taie ziua intrării — nu peste tot graficul.Asta e tot ce se poate verifica din MBT-10 fără indicatorul proprietar — „prima componentă" din el,cum îi spune materialul; restul formulei nu e publicat nicăieri.
Pivotul daily se calculează din maximul, minimul și închiderea zilei
-precedente, cu formula clasică — deci se schimbă în fiecare zi. Pe diagramă,
-în ziua intrării el e la 89.60. Ziua dinainte urcă până la 89.70 în timpul
-sesiunii, dar se închide la 89.40, sub pivot: nu e semnal. Ziua următoare se
-închide la 89.90, peste pivot: aici intri, la close.
+precedente, cu formula clasică — deci se schimbă în fiecare zi. Pe 60 de
+minute, timeframe-ul exemplului, el e un singur nivel pentru toate barele unei
+zile: de aceea pe diagramă e desenat doar peste barele zilei de intrare, între
+cele două linii subțiri, nu peste tot graficul. În ziua aceea e la 89.60. Bara
+dinainte urcă până la 89.70, dar se închide la 89.40, sub pivot: nu e semnal.
+Bara următoare se închide la 89.90, peste pivot: aici intri, la close-ul ei.
Materialul numește asta „prima componentă din MBT-10", ceea ce înseamnă
probabil că nu e singura — restul formulei nu e publicat nicăieri. Așa că:
@@ -1539,38 +1556,37 @@ de tine, și dimensionezi pentru două-trei încercări dacă vii după un gap
down.**
-
- MBT-10 — stopul sub structură (exemplu construit)
-
- structura care ține ideea
-
- intrare 89.90 (close-ul zilei)
-
- suport weekly 87.50
-
- SL 87.30
+
+ MBT-10 — stopul sub structură, pe 60 de minute
+
+
+ intrare 89.90 (close-ul barei)
+
+ suport weekly 88.00, testat de trei ori
+
+ SL 87.30
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1579,23 +1595,24 @@ down.**
- sub 87.30 nu mai e double bottom:
+ sub 87.30 nu mai ține suportul weekly:ideea de la pasul 1 a murit,nu mai ai ce aștepta
-1R = 2.60 $Mărimea, cu aceeași regulă ca la buy hammer: 2 % dintr-un cont de 10.000 $ = 200 $;200 / 2.60 = 76.9 → 76 de acțiuni, pierdere maximă 197.60 $.87.30 e cifra materialului, nu marja mea de 5 cenți; suportul weekly 87.50 e construit de mine ca stopulacela să aibă sub ce sta. Materialul nu dă niciun procent fix de stop pentru MBT-10.
+1R = 2.60 $Mărimea, cu aceeași regulă ca la buy hammer: 2 % dintr-un cont de 10.000 $ = 200 $;200 / 2.60 = 76.9 → 76 de acțiuni, pierdere maximă 197.60 $.87.30 și suportul weekly 88.00 sunt cifrele materialului, pe exemplul lui de 60 de minute —nu marja mea de 5 cenți. Materialul nu dă niciun procent fix de stop pentru MBT-10:stopul numește structura de sub el.
-Stopul stă sub ce ar invalida ideea de la pasul B1. În construcția din capitol,
-ideea era double bottom-ul de pe suportul weekly 87.50 — **structură a mea**, nu
-a materialului, al cărui exemplu e pe 60 de minute, cu suport weekly 88.00
-testat de trei ori. Deci stopul merge la **87.30**, sub amândouă picioarele și
-sub suport. Riscul e 89.90 − 87.30 = **2.60 $ pe acțiune**; pe același cont de
-10.000 $ cu 2 %, 200 / 2.60 = 76,9, deci **76 de acțiuni**.
+Stopul stă sub ce ar invalida ideea de la pasul B1. Aici ideea era suportul
+weekly 88.00, cel testat de trei ori, deci stopul merge la **87.30**, sub el —
+exact unde îl pune materialul. Dacă prețul se tranzacționează sub 87.30,
+suportul a cedat și motivul trade-ului nu mai există. Riscul e
+89.90 − 87.30 = **2.60 $ pe acțiune**; pe același cont de 10.000 $ cu 2 %,
+200 / 2.60 = 76,9, deci **76 de acțiuni**.
Alte exemple de aceeași formă din material: sub codița hammer-ului care e și
locul crimei (52.00); sub low-ul barelor de după un gap down (63.20, apoi
-60.40); la un gap up, sub low-ul barei de gap (32.80). De fiecare dată stopul
-numește o structură, nu un procent — materialul nu dă niciun procent fix.
+60.40, sub noul low de 60.60); la un gap up, sub low-ul barei de gap (32.80).
+De fiecare dată stopul numește o structură, nu un procent — materialul nu dă
+niciun procent fix.
Excepția de mărime: **primul MBT-10 după un gap down poate să nu meargă**. În
exemplul din material, încercarea 1 e stopată, iar încercarea 2 merge până la
@@ -1613,18 +1630,18 @@ la fiecare, în loc să pui tot pe prima. Diagrama e la
că MBT-10 nu are o țintă proprie.**
-
- MBT-10 — ieșirea la prima structură din stânga (exemplu construit)
+
+ MBT-10 — ieșirea la prima structură din stânga (60 de minute)de aici a pornit coborâreadrumul până la structură: 7 bare
-
+ ținta 95.20 = ultimul maxim dinaintea coborârii
-
- intrare 89.90
-
- SL 87.30
+
+ intrare 89.90
+
+ SL 87.30
@@ -1643,26 +1660,26 @@ că MBT-10 nu are o țintă proprie.**
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1679,41 +1696,41 @@ că MBT-10 nu are o țintă proprie.**
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- volum
-
-
- ieși la 95.20 (+2.0R):
- prima structură care a oprit
- prețul ultima dată
-Materialul nu dă o regulă proprie de take-profit la MBT-10. Ce au în comun toate exemplele lui e căținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau închiderea unui gap.Aici: 89.90 → 95.20 = 2.0R, în 7 bare. Cifrele trade-ului sunt din exemplul construit al materialului.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ volum
+
+
+ ieși la 95.20 (+2.0R):
+ prima structură care a oprit
+ prețul ultima dată
+Materialul nu dă o regulă proprie de take-profit la MBT-10. Ce au în comun toate exemplele lui e căținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau închiderea unui gap.Aici: 89.90 → 95.20 = 2.0R, în 7 bare de 60 de minute. Cifrele trade-ului sunt din exemplul materialului.
Asta e o gaură reală în material, nu o simplificare a mea: fișierul principal
@@ -1749,8 +1766,8 @@ același trade, cu atât e mai bun — dar materialul nu cere o poziție mai mar
Buy hammer A+ vs. mediocru (două panouri, exemple construite)A+ — hammer la suport monthly
-
- suport monthly 42.00
+
+ suport monthly 42.00
@@ -1818,8 +1835,8 @@ același trade, cu atât e mai bun — dar materialul nu cere o poziție mai mar
bara 13: 42.95 peste 42.90, volum bun.Mediocru — hammer fără nivel
-
- fără nivel apropiat (suport 42.50 la −3,6 %)
+
+ fără nivel apropiat (suport 42.50 la −3,8 %)
@@ -1912,7 +1929,9 @@ hammer.
Singurul caz pe care materialul îl numește „cel mai puternic": un **gap up**
în MBT-10 după o cădere masivă, departe de medie, cu indicatorul stochastic în
zona de supravânzare pe monthly și weekly, cu un double bottom sau o serie de
-doji-uri ideal în locul crimei, și cu divergență de volum pe ultimul picior.
+doji-uri ideal în locul crimei, și cu divergență de volum pe ultimul picior. În
+exemplul lui, picioarele sunt 32.10 și 30.90 — al doilea mai jos, dar cu volum
+de sub jumătate — iar bara de gap închide la 34.20, peste neckline-ul 34.10.
Opusul: MBT-10 pe o bară oarecare, luat direct din scaner, fără nicio
confluență. Diferența nu e forma semnalului — el arată la fel, fiindcă nu se
@@ -1924,15 +1943,15 @@ vede — ci contextul din jur.
După gap down — primul MBT-10 te scoate, al doilea merge (exemplu construit)
-
+ #1 intrare 64.80
-
+ #1 SL 63.20
-
+ #2 intrare 62.20
-
- #2 SL 60.40
-
+
+ #2 SL 60.40, sub noul low 60.60
+ TP 70.60 = 4.7R (gap închis)
@@ -1976,7 +1995,7 @@ vede — ci contextul din jur.
-
+
@@ -2038,8 +2057,8 @@ vede — ci contextul din jur.
gap downMBT-10 #1stop #1 atins
- MBT-10 #2
-MBT-10 #1: intrare 64.80 / SL 63.20 — risc 1R în baniMBT-10 #2: intrare 62.20 / SL 60.40 — risc 1R în bani (mărime ajustată)Exemplu construit: #1 și #2 au același risc în bani; #2 singur dă 4.7R.De aceea mărimea se împarte pe 2-3 încercări.
+ MBT-10 #2: flush la 60.60, închidere 62.20
+MBT-10 #1: intrare 64.80 / SL 63.20 — risc 1R în baniMBT-10 #2: intrare 62.20 / SL 60.40, sub noul low 60.60 — risc 1R în bani (mărime ajustată)Exemplu construit: #1 și #2 au același risc în bani; #2 singur dă 4.7R.De aceea mărimea se împarte pe 2-3 încercări.
Ăsta e cazul care justifică împărțirea riscului de la [pasul B4](#pasul-b4).
@@ -2064,11 +2083,11 @@ Asta se bate parțial cu ideea că MBT-10 e ultima piesă din flux
LABU — daily
-
- suport monthly 80.00
-
- SL sub low-ul hammer-ului 79.60 (construit)
-
+
+ suport monthly 80.00
+
+ SL 79.55 = low 79.60 − 5 cenți (construit)
+ intrare 81.30 (construit)SMA-20
@@ -2148,51 +2167,51 @@ Asta se bate parțial cu ideea că MBT-10 e ultima piesă din flux
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- volum
- hammer 80.90 / 79.60 (construit)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ volum
+ hammer 80.90 / 79.60 (construit)+20 % (cifra cursului): 97.56 / 81.30
- bara 23 = hammer: o 80.80, h 80.90, l 79.60, c 80.90 — corp 0.10, fitil jos 1.20 (H=C), pe suportul 80.00
- bara 24 = confirmare: close 81.30 — close peste high-ul hammer-ului 80.90 = intrare 81.30 (construit)
- Procentul (+20 % în jumătate de lună) și contextul (suport monthly) sunt ale cursului;
+ bara 23 = hammer: o 80.80, h 80.90, l 79.60, c 80.90 — corp 0.10, fitil jos 1.20 (H=C), pe suportul 80.00
+ bara 24 = confirmare: close 81.30 — close peste high-ul hammer-ului 80.90 = intrare 81.30 (construit)
+ Procentul (+20 % în jumătate de lună) și contextul (suport monthly) sunt ale cursului;nivelurile de preț sunt construite de sumarizator.
diff --git a/summaries/17_STRATEGII/fise/06_hammer_mbt10_surse.html b/summaries/17_STRATEGII/fise/06_hammer_mbt10_surse.html
index c6d1175..c31607c 100644
--- a/summaries/17_STRATEGII/fise/06_hammer_mbt10_surse.html
+++ b/summaries/17_STRATEGII/fise/06_hammer_mbt10_surse.html
@@ -55,6 +55,8 @@ construite) ·
(definiția hammer, trigger, SL/TP, hanging man) ·
scaner = 11_construire_scanere_sf_byd_sld.md ·
byh = 13_strategia_3_byh.md ·
+buydoji = 01_buy_doji.md (capitolul vecin, nu o lecție
+de curs) ·
filtre = 01_filtre_scaner_bull_bear_reversal_pp.md ·
mdsrt = 02_strategia_5_mdsrt.md ·
mbp = 03_strategia_6_mbp_mbappe.md ·
@@ -87,15 +89,19 @@ divergență de volum: mbt: 469-474; volum: 2169 · ga
Filtrul de listă — scaner: 70-73 (volum mediu ≥ 500.000, preț 30-40 $) ·
-28_2025-05-27: 372-380, 400 (sub 10 $ nu se shortează) · earnings: 43-45
-(veto de eveniment).
+
Filtrul de listă — scaner: 70-73 (volum mediu ≥ 500.000) ·
+28_2025-05-27: 376 (preț peste 30-40 $), 372-380, 400 (sub 10 $ nu se
+shortează) · earnings: 43-45 (veto de eveniment).
Pasul A1 — pattern: 77-80 (fără downtrend nu e reversal), 79-88 (forma),
254-265 (hanging man), 1118-1120.
-
Pasul A2 — 26_2025-06-11: 701-703 („contează mult mai mult la un suport
-important [...] decât în mijlocul range-ului"), 505 · pattern: 1115-1117 ·
-volum: 1024. Pragul de 1-2 % e împrumutat de la buy doji (byh: 188-190) și
-marcat ca atare — materialul nu dă unul pentru hammer.
+
Pasul A2 — 26_2025-06-11: 702-703 (bullet în vocea sumarizatorului, la
+finalul secțiunii despre divergența pe volum / OBV: „contează mult mai mult la
+un suport important [...] decât în mijlocul range-ului" — nu e citat al
+autorului și nu e spus despre locația hammer-ului), 505 · pattern: 1115-1117 ·
+volum: 1024. Pragul numeric: cursul dă 0,5 %, la buy doji și pe 60 de
+minute; 1-2 % pentru daily e adaptarea mea din buydoji: 675-676 (care e
+ea însăși o adaptare, nu o cifră de curs). Materialul nu dă niciun prag pentru
+hammer.
Pasul A3 — pattern: 99-124 (trigger valid, prea devreme, invalidat),
102-124 · 26_2025-06-11: 507-508 (mecanismul) · scaner: 30 (BHATM = 0),
63-73, 115-116 · earnings: 502-508 (hammer în gap: low 64.30, close 66.90,
@@ -113,16 +119,19 @@ Regulile scrise ale oglinzii sunt simetria aplicată de mine.
Nivelul 2B — MBT-10
Pasul B1 — mbt: 9-11 (lista de confluențe), 43-60, 867-881 (cele 12
setup-uri în care apare), 933-937 („scanerul nu e listă de cumpărături"),
-469-474 (divergența de volum), 449-450 (exemplul construit cu suport weekly,
-SL 87.30), 451 (ținta 95.20 = 2.0R) · volum: 2169.
+469-474 (divergența de volum — pe alt exemplu: gap up, picioarele 32.10 /
+30.90, mbt: 615-625), 440-455 (exemplul folosit în pașii B1-B5: 60 de
+minute, suport weekly 88.00 testat de trei ori, cu compresie, intrare
+89.90, SL 87.30, plus motivul pentru care nu e pe daily), 451 (ținta
+95.20 = 2.0R) · volum: 2169.
Pasul B2 — mbt: 7-8, 70-71, 243-330 (intraday 55.30, close 52.90, a doua
zi 51.50), 325-330, 929-930 · 04_2026-08-04: 298-333, 317 („dacă se închide,
e mișto de intrat").
Pasul B4 — mbt: 171-172 (SL 52.00 sub codiță), 449-450 (SL 87.30),
-622-623 (SL 32.80 la gap up), 729-732 (SL 63.20 / 60.40, același risc în
-bani), 16-17, 639-641, 736-740 (2-3 încercări după gap down), 978-984 (toate
+622-623 (SL 32.80 la gap up), 729-732 (SL 63.20 / 60.40 „sub noul low",
+același risc în bani), 16-17, 639-641, 736-740 (2-3 încercări după gap down), 978-984 (toate
cifrele sunt ale sumarizatorului) · mm: 4-11, 28-34 · sinteza: 395-396
(exemplul de sizing 25 / 2.00 → 12 acțiuni) · 03_2026-08-11: 146-152,
173-178. Mărimea minimă de cont și riscul per trade la MBT-10:
diff --git a/summaries/17_STRATEGII/fise/06_hammer_mbt10_surse.md b/summaries/17_STRATEGII/fise/06_hammer_mbt10_surse.md
index eb13c77..2fabd60 100644
--- a/summaries/17_STRATEGII/fise/06_hammer_mbt10_surse.md
+++ b/summaries/17_STRATEGII/fise/06_hammer_mbt10_surse.md
@@ -24,6 +24,8 @@ construite) ·
(definiția hammer, trigger, SL/TP, hanging man) ·
`scaner` = [`11_construire_scanere_sf_byd_sld.md`](../../03_MODUL_2/11_construire_scanere_sf_byd_sld.md) ·
`byh` = [`13_strategia_3_byh.md`](../../03_MODUL_2/13_strategia_3_byh.md) ·
+`buydoji` = [`01_buy_doji.md`](../01_buy_doji.md) (capitolul vecin, nu o lecție
+de curs) ·
`filtre` = [`01_filtre_scaner_bull_bear_reversal_pp.md`](../../04_MODUL_3/01_filtre_scaner_bull_bear_reversal_pp.md) ·
`mdsrt` = [`02_strategia_5_mdsrt.md`](../../05_MODUL_4/02_strategia_5_mdsrt.md) ·
`mbp` = [`03_strategia_6_mbp_mbappe.md`](../../05_MODUL_4/03_strategia_6_mbp_mbappe.md) ·
@@ -65,17 +67,21 @@ divergență de volum: `mbt`: 469-474; `volum`: 2169 · gap: `crimei`: 335;
## Nivelul 2A — buy hammer
-**Filtrul de listă** — `scaner`: 70-73 (volum mediu ≥ 500.000, preț 30-40 $) ·
-`28_2025-05-27`: 372-380, 400 (sub 10 $ nu se shortează) · `earnings`: 43-45
-(veto de eveniment).
+**Filtrul de listă** — `scaner`: 70-73 (volum mediu ≥ 500.000) ·
+`28_2025-05-27`: 376 (preț peste 30-40 $), 372-380, 400 (sub 10 $ nu se
+shortează) · `earnings`: 43-45 (veto de eveniment).
**Pasul A1** — `pattern`: 77-80 (fără downtrend nu e reversal), 79-88 (forma),
254-265 (hanging man), 1118-1120.
-**Pasul A2** — `26_2025-06-11`: 701-703 („contează mult mai mult la un suport
-important [...] decât în mijlocul range-ului"), 505 · `pattern`: 1115-1117 ·
-`volum`: 1024. Pragul de 1-2 % e împrumutat de la buy doji (`byh`: 188-190) și
-marcat ca atare — materialul nu dă unul pentru hammer.
+**Pasul A2** — `26_2025-06-11`: 702-703 (bullet în vocea sumarizatorului, la
+finalul secțiunii despre divergența pe volum / OBV: „contează mult mai mult la
+un suport important [...] decât în mijlocul range-ului" — nu e citat al
+autorului și nu e spus despre locația hammer-ului), 505 · `pattern`: 1115-1117 ·
+`volum`: 1024. Pragul numeric: cursul dă **0,5 %**, la buy doji și pe 60 de
+minute; **1-2 %** pentru daily e adaptarea mea din `buydoji`: 675-676 (care e
+ea însăși o adaptare, nu o cifră de curs). Materialul nu dă niciun prag pentru
+hammer.
**Pasul A3** — `pattern`: 99-124 (trigger valid, prea devreme, invalidat),
102-124 · `26_2025-06-11`: 507-508 (mecanismul) · `scaner`: 30 (`BHATM = 0`),
@@ -99,8 +105,11 @@ Regulile scrise ale oglinzii sunt simetria aplicată de mine.
**Pasul B1** — `mbt`: 9-11 (lista de confluențe), 43-60, 867-881 (cele 12
setup-uri în care apare), 933-937 („scanerul nu e listă de cumpărături"),
-469-474 (divergența de volum), 449-450 (exemplul construit cu suport weekly,
-SL 87.30), 451 (ținta 95.20 = 2.0R) · `volum`: 2169.
+469-474 (divergența de volum — pe alt exemplu: gap up, picioarele 32.10 /
+30.90, `mbt`: 615-625), 440-455 (exemplul folosit în pașii B1-B5: **60 de
+minute**, suport weekly **88.00** testat de trei ori, cu compresie, intrare
+89.90, SL 87.30, plus motivul pentru care nu e pe daily), 451 (ținta
+95.20 = 2.0R) · `volum`: 2169.
**Pasul B2** — `mbt`: 7-8, 70-71, 243-330 (intraday 55.30, close 52.90, a doua
zi 51.50), 325-330, 929-930 · `04_2026-08-04`: 298-333, 317 („dacă se închide,
@@ -110,8 +119,8 @@ e mișto de intrat").
199-211, 213-218 · `sinteza`: 802-809 · `DECIZII`: 50, 124-127.
**Pasul B4** — `mbt`: 171-172 (SL 52.00 sub codiță), 449-450 (SL 87.30),
-622-623 (SL 32.80 la gap up), 729-732 (SL 63.20 / 60.40, același risc în
-bani), 16-17, 639-641, 736-740 (2-3 încercări după gap down), 978-984 (toate
+622-623 (SL 32.80 la gap up), 729-732 (SL 63.20 / 60.40 „sub noul low",
+același risc în bani), 16-17, 639-641, 736-740 (2-3 încercări după gap down), 978-984 (toate
cifrele sunt ale sumarizatorului) · `mm`: 4-11, 28-34 · `sinteza`: 395-396
(exemplul de sizing 25 / 2.00 → 12 acțiuni) · `03_2026-08-11`: 146-152,
173-178. Mărimea minimă de cont și riscul per trade la MBT-10: