diff --git a/gen/strategii/mbp_iesire.py b/gen/strategii/mbp_iesire.py
index b60b41f..74b11da 100644
--- a/gen/strategii/mbp_iesire.py
+++ b/gen/strategii/mbp_iesire.py
@@ -5,15 +5,18 @@ Două panouri de 15 minute care pornesc din aceeași intrare (623.95, stop
faci cu stopul după ce prima tranșă a ieșit la 1:1:
- DA: prima tranșă iese la TP1 624.30 (1:1), stopul rămas se mută la break
- even (623.95, prețul de intrare), restul merge pe trail — stopul urcă sub
- minimul fiecărei candele închise — și iese la prima închidere sub el.
+ even (623.95, prețul de intrare), iar restul merge pe trail **pe ultimul
+ swing low** — regula poziției 3 din lecția principală (Bull Trail, apoi
+ swing low dacă se formează unul mai sus). Fiecare treaptă pornește de la
+ swing low-ul care o declanșează, nu din marginea graficului.
- NU: stopul e mutat la jumătatea drumului („50 %", 624.125). Fitilul unei
bare lungi coboară sub el și te scoate, deși prețul urcă apoi mai sus
decât în panoul din stânga.
Toate nivelurile ies din serie prin calcul: TP1 = intrare + (intrare − stop),
-break even = intrarea, nivelul „50 %" = intrare + 1R/2, iar ieșirea pe trail e
-prima închidere sub minimul candelei precedente, căutată în serie.
+break even = intrarea, nivelul „50 %" = intrare + 1R/2, treptele de trail sunt
+swing low-urile găsite în serie (minim local confirmat de o bară cu low mai
+sus), iar ieșirea e prima închidere sub ultima treaptă.
Rulează: python3 gen/strategii/mbp_iesire.py
"""
@@ -22,7 +25,9 @@ import sys
from pathlib import Path
sys.path.insert(0, "/workspace/atm-curs-dl")
-from svg_candles import Arrow, Chart, Level, from_closes # noqa: E402
+sys.path.insert(0, "/workspace/atm-curs-dl/gen")
+from svg_candles import Arrow, Chart, Level, Mark, from_closes # noqa: E402
+from eticheta_libera import eticheta_libera # noqa: E402
OUT = Path(__file__).with_suffix(".svg")
RED, GREEN, BLUE, GRAY, ORANGE = "#c00", "#188a3e", "#1a5fb4", "#777", "#b06000"
@@ -36,39 +41,61 @@ E = 3 # indexul candelei de trigger (intrarea = close-ul e
PRE = [624.15, 623.98, 623.87, ENTRY] # ...M la index 2, trigger la 3
W_PRE = [(0.06, 0.10), (0.05, 0.16), (0.06, 0.27), (0.05, 0.12)]
-# DA: urcare la TP1, încă două bare, apoi întoarcere care rupe trail-ul
-DA = PRE + [624.12, 624.24, 624.34, 624.46, 624.52, 624.40, 624.28]
-W_DA = W_PRE + [(0.05, 0.06), (0.06, 0.05), (0.04, 0.06), (0.05, 0.06),
- (0.07, 0.05), (0.04, 0.08), (0.03, 0.06)]
+# DA: TP1, apoi două pullback-uri care lasă fiecare un swing low mai sus;
+# trail-ul urcă pe ele și te scoate abia la a treia coborâre, pe la +4R.
+DA = PRE + [624.70, 624.78, 624.60, 625.05, 625.45, 625.70, 625.52, 625.92, 625.35]
+W_DA = W_PRE + [(0.04, 0.04), (0.04, 0.03), (0.03, 0.09), (0.05, 0.04),
+ (0.05, 0.03), (0.08, 0.02), (0.03, 0.14), (0.05, 0.03),
+ (0.02, 0.04)]
# NU: aceeași urcare, dar a treia bară are un fitil lung care taie nivelul 50 %
NU = PRE + [624.12, 624.24, 624.20, 624.38, 624.52, 624.60, 624.55]
W_NU = W_PRE + [(0.05, 0.06), (0.06, 0.05), (0.04, 0.22), (0.05, 0.06),
(0.06, 0.05), (0.06, 0.05), (0.04, 0.07)]
-da = from_closes(DA, wicks=W_DA, start=624.30)
-nu = from_closes(NU, wicks=W_NU, start=624.30)
-assert len(da) == len(nu) == 11
+da = from_closes(DA, wicks=W_DA, start=624.20)
+nu = from_closes(NU, wicks=W_NU, start=624.20)
+assert len(da) == 13 and len(nu) == 11
# ── ce afirmă textul, verificat pe serie ───────────────────────────────────
assert abs(da[E].c - ENTRY) < 1e-9 and abs(nu[E].c - ENTRY) < 1e-9
assert da[E].c > da[E].o and nu[E].c > nu[E].o # candela de trigger e verde
assert min(c.l for c in da[E - 3:E + 1]) == SL, "stopul: cel mai jos minim din 4 candele"
assert min(c.l for c in nu[E - 3:E + 1]) == SL
-assert all(abs(a.c - b.c) < 1e-9 for a, b in zip(da[:E + 2], nu[:E + 2]))
+assert all(abs(a.c - b.c) < 1e-9 for a, b in zip(da[:E + 1], nu[:E + 1]))
tp_i = next(i for i in range(E + 1, len(da)) if da[i].h >= TP1)
-assert abs(da[tp_i].h - 624.34) < 0.05, da[tp_i].h # TP1 atins de fitilul barei
-assert tp_i == E + 3, tp_i
+assert tp_i == E + 1, tp_i # TP1 atins de fitilul barei
-# trail: stopul urcă sub minimul fiecărei candele închise; ieși la prima
-# închidere sub el. Nivelul și bara de ieșire se caută în serie, nu se scriu.
-iesire_i = next(i for i in range(tp_i + 1, len(da)) if da[i].c < da[i - 1].l)
-trail = da[iesire_i - 1].l
+# ── trail-ul pe swing low ──────────────────────────────────────────────────
+# Un swing low = minim local; devine treaptă de trail din momentul în care o
+# bară de după el închide un low mai sus. Treptele se caută în serie, nu se
+# scriu de mână; stopul nu coboară niciodată.
+swings = [i for i in range(1, len(da) - 1)
+ if da[i].l < da[i - 1].l and da[i].l < da[i + 1].l]
+trepte = [i for i in swings if i > tp_i]
+assert trepte == [6, 10], trepte
+assert all(da[j].l > da[i].l for i, j in zip(trepte, trepte[1:])), "treptele urcă"
+
+iesire_i = next(i for i in range(trepte[-1] + 1, len(da)) if da[i].c < da[trepte[-1]].l)
+trail = da[trepte[-1]].l
iesire = da[iesire_i].c
-assert iesire > ENTRY, iesire
+assert iesire_i == len(da) - 1, iesire_i
r_iesire = (iesire - ENTRY) / RISC
-assert 0.5 < r_iesire < 2.5, r_iesire
-assert tp_i < iesire_i < len(da), iesire_i # ieșirea vine după TP1, în serie
+assert abs(r_iesire - 4.0) < 0.02, r_iesire # ~1:4, cât spune materialul
+
+# nicio treaptă de trail nu are voie să treacă peste low-ul unei bare din
+# dreapta ei — altfel linia ar fi desenată deasupra prețului. Bara care rupe
+# trail-ul (ieșirea) e singura excepție, prin definiție.
+for i in trepte:
+ for j in range(i + 1, iesire_i):
+ assert da[j].l > da[i].l, (i, j, da[i].l, da[j].l)
+assert da[iesire_i].l < trail < da[iesire_i - 1].l + 1
+
+# contrastul cu varianta „set and forget": trail sub minimul fiecărei candele
+# închise, pe exact aceeași structură — prima corecție te scoate.
+cc_i = next(i for i in range(tp_i + 1, len(da)) if da[i].c < da[i - 1].l)
+cc, r_cc = da[cc_i].c, (da[cc_i].c - ENTRY) / RISC
+assert cc_i < iesire_i and r_cc < r_iesire, (cc_i, r_cc)
# panoul NU: nivelul „50 %" și fitilul care îl taie
half = ENTRY + RISC / 2
@@ -77,44 +104,47 @@ sc_i = E + 3
assert nu[sc_i].l < half, (nu[sc_i].l, half) # fitilul coboară sub 50 %
assert nu[sc_i].c > half, nu[sc_i].c # dar candela închide peste el
assert nu[sc_i].h < TP1, "în panoul NU ieșirea vine înainte de TP1"
-assert max(c.h for c in nu[sc_i + 1:]) > max(c.h for c in da), \
- "NU: prețul urcă după aceea mai sus decât în panoul DA"
ratat = max(c.h for c in nu[sc_i + 1:])
r_scos = (half - ENTRY) / RISC
r_ratat = (ratat - ENTRY) / RISC
-SCALE, GAP, BODY, LEFT, PW = 300.0, 30, 18, 52, 372
+SCALE, GAP, BODY, LEFT = 158.0, 28, 16, 46
pts = [p for c in (da + nu) for p in (c.h, c.l)] + [TP1, SL, half]
AER = 0.07 * (max(pts) - min(pts))
SPACER = [Level(max(pts) + AER, "", "none", dash=""), Level(min(pts) - AER, "", "none", dash="")]
-def panel(cds, levels, arrows):
- ch = Chart(candles=cds, levels=levels + SPACER, arrows=arrows, scale=SCALE,
- gap=GAP, body_w=BODY, left=LEFT, width=PW)
+def panel(cds, levels, arrows, marks, pw):
+ ch = Chart(candles=cds, levels=levels + SPACER, arrows=arrows, marks=marks, scale=SCALE,
+ gap=GAP, body_w=BODY, left=LEFT, width=pw)
raw = ch.render()
m = re.search(r'viewBox="0 0 (\d+) ([0-9.]+)"', raw)
assert m
return ch, int(m.group(1)), float(m.group(2)), raw[raw.index(">") + 1:raw.rindex("")].strip("\n")
+ET_DA = {f"swing low {da[i].l:.2f}" for i in trepte}
ch_da, w_da, h_da, in_da = panel(
da,
[Level(TP1, f"TP1 {TP1:.2f} (1:1)", BLUE, dash="4 3", label_at="left"),
- Level(ENTRY, f"intrare {ENTRY:.2f} = break even", GREEN, dash="2 3", label_at="left"),
- Level(SL, f"SL inițial {SL:.2f}", RED, dash="4 3", label_at="left"),
- Level(trail, f"trail {trail:.2f}", ORANGE, dash="1 3", label_at="right")],
- [Arrow(tp_i, f"prima tranșă iese la {TP1:.2f}", where="above", color=BLUE, dy=-6),
- Arrow(iesire_i, f"închidere sub trail:\nieși cu +{r_iesire:.2f}R", where="below", color=ORANGE)])
+ Level(ENTRY, f"intrare {ENTRY:.2f} = break even", GREEN, dash="2 3", label_at="right"),
+ Level(SL, f"SL inițial {SL:.2f}", RED, dash="4 3", label_at="left")]
+ + [Level(da[i].l, "", ORANGE, dash="1 3", i0=i) for i in trepte],
+ [Arrow(tp_i, f"prima tranșă iese la {TP1:.2f}", where="above", color=BLUE, dy=-4),
+ Arrow(iesire_i, f"închidere sub trail:\nieși cu +{r_iesire:.2f}R", where="below",
+ color=ORANGE)],
+ [Mark(i, f"swing low {da[i].l:.2f}", color=ORANGE, where="below", dy=400) for i in trepte],
+ 404)
ch_nu, w_nu, h_nu, in_nu = panel(
nu,
- [Level(TP1, f"TP1 {TP1:.2f} (1:1) — nu mai ajungi la el", BLUE, dash="4 3", label_at="left"),
- Level(half, f"stop mutat la 50 %: {half:.3f}", RED, dash="4 3", label_at="right"),
- Level(ENTRY, f"intrare {ENTRY:.2f}", GREEN, dash="2 3", label_at="left"),
+ [Level(TP1, f"TP1 {TP1:.2f} (1:1)", BLUE, dash="4 3", label_at="left"),
+ Level(half, f"stop la 50 %: {half:.3f}", RED, dash="4 3", label_at="right"),
+ Level(ENTRY, f"intrare {ENTRY:.2f}", GREEN, dash="2 3", label_at="right"),
Level(SL, f"SL inițial {SL:.2f}", RED, dash="4 3", label_at="left")],
[Arrow(sc_i, f"fitilul taie 50 %:\nieși cu +{r_scos:.1f}R", where="below", color=RED),
Arrow(len(nu) - 2, f"prețul urcă la {ratat:.2f}\n(+{r_ratat:.1f}R) fără tine",
- where="above", color=GRAY)])
+ where="above", color=GRAY)],
+ [], 420)
PH = max(h_da, h_nu)
TOP = 52
@@ -125,9 +155,14 @@ FOOTER = [
f"deci 1R = {RISC:.2f} $ și TP1 = {TP1:.2f}.",
f"DA: prima tranșă iese la TP1. Stopul rămas se duce la break even {ENTRY:.2f} — de acolo "
f"trade-ul nu mai poate ieși pe minus —",
- f"iar restul merge pe trail: stopul urcă sub minimul fiecărei candele închise "
- f"({trail:.2f} aici)",
- f"și ieși la prima închidere sub el, {iesire:.2f} = +{r_iesire:.2f}R.",
+ "iar a treia tranșă merge pe trail pe ultimul swing low — liniile portocalii punctate.",
+ f"Treapta 1 = {da[trepte[0]].l:.2f}, treapta 2 = {trail:.2f}; fiecare pornește de la swing "
+ f"low-ul care o ridică, nu din marginea graficului.",
+ f"Ieși la prima închidere sub ultima treaptă, {iesire:.2f} = +{r_iesire:.1f}R — de aici vine "
+ f"„realizat ~1:4\" din material; prețul atinsese {max(c.h for c in da):.2f}.",
+ "Trail-ul sub minimul fiecărei candele închise e pasul 4 al variantei „set and forget\", "
+ "nu regula poziției 3:",
+ f"pe aceeași structură te-ar fi scos la prima corecție, {cc:.2f} = +{r_cc:.1f}R.",
f"NU: stopul mutat la jumătatea drumului, {half:.3f}. Fitilul unei singure bare coboară sub "
f"el și te scoate cu +{r_scos:.1f}R,",
f"deși bara închide peste nivel, iar prețul urcă după aceea la {ratat:.2f} "
@@ -143,7 +178,7 @@ out = [f'
Etichete:longshort · intraday pe 15 minute · acțiuni USETFindicifutures · dificultate 3/5 (judecata mea) · merge pe prop (cont
-finanțat de o firmă): parțial, doar cu TradeStation și abonamentul lui de date ·
-merge pe BVB: nu
+finanțat de o firmă): parțial, doar pe TradeStation — TICUS și trigger-ele de
+moment există acolo și nu se pot replica în altă parte · merge pe BVB: nu
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: din
@@ -284,12 +284,24 @@ Sell Momentum sau Sell Doji.
Break even — stopul mutat fix la prețul de intrare. De acolo, trade-ul nu
mai poate ieși în pierdere; ieși pe zero, fără câștig și fără pierdere.
Trailing stop („trail") — un stop pe care îl urci după preț, dar nu-l
- cobori niciodată. Aici: sub minimul fiecărei candele închise. Ieși la prima
- închidere sub el; în diagrama de la pasul 5, la 624.40, cu +1.29R.
+ cobori niciodată. La MBP, pentru poziția a treia: pe Bull Trail, iar apoi
+ pe ultimul swing low de fiecare dată când se formează unul mai sus
+ (swing high pe short). Ieși la prima închidere sub treapta curentă; în
+ diagrama de la pasul 5, la 625.35, cu +4R. Varianta „sub minimul fiecărei
+ candele închise" e tot din material, dar e pasul 4 al variantei „set and
+ forget" — nu regula poziției 3.
+
Swing low — o candelă cu minimul mai jos decât al vecinei din stânga și
+ decât al vecinei din dreapta: fundul unei corecții mici, confirmat abia de
+ bara de după el. Pe short, oglindit: swing high.
+
Bull Trail — indicatorul de trail al autorului, din TradeStation: mută
+ stopul pe extremele locale, în sus, pe măsură ce trade-ul avansează.
+ Materialul nu dă formula lui — e un indicator propriu.
Nivel major — un preț la care piața a reacționat de mai multe ori și care
se vede pe un timeframe mare (minimul lunii, un suport de pe grafic). În
- diagrama de la pasul 1 e 623.60, minimul din care pornise urcarea și în care
- cade prețul înapoi.
+ diagrama de la pasul 1 l-am desenat la 623.60, minimul din care pornise
+ urcarea. Completare proprie: din curs, 623.60 e stopul exemplului (cel mai
+ jos minim din 4 candele); că acolo ar fi și un suport major e construcția mea,
+ pentru desen — materialul nu dă un preț pentru nivelul major al exemplului.
Consolidare strânsă — o perioadă în care prețul se mișcă într-un interval
îngust. Nu e același lucru cu un range larg: strategia prinde bine range-urile
cu mișcare, dar într-o consolidare strânsă prețul nu mai ajunge la benzi, deci
@@ -486,14 +498,16 @@ nu mai atinge benzile deloc, deci nu ai ce aștepta.
În stânga, terenul bun: opt bare duc prețul cu 1.72 $ în jos, înapoi în suportul
-de la 623.60 din care pornise urcarea, iar patru bare se închid sub banda
+de la 623.60 din care pornise urcarea — nivelul de suport e completarea mea,
+exemplul din curs nu dă un preț pentru el —, iar patru bare se închid sub banda
inferioară. În dreapta, aceeași durată, dar prețul stă pe loc: benzile se strâng
la 0.79 $ lățime față de 2.19 $ în stânga, și niciun close nu iese din ele.
Fără o candelă închisă în afara benzii nu există condiția M, deci nu există
trade — oricât de mult te-ai uita la grafic.
Două lucruri pe care materialul nu le cere: un filtru de volum (a fost
-testat explicit și nu a adăugat nimic) și un preț sau un volum minim al
-instrumentului. Iar dacă SPY și QQQ (ETF-ul pe Nasdaq 100) dau semnal în același
+testat explicit — cel mult 1-2 % îmbunătățire pe eșantioane foarte mari, de
+1000+ tranzacții, adică nu cât să merite complicația) și un preț sau un volum
+minim al instrumentului. Iar dacă SPY și QQQ (ETF-ul pe Nasdaq 100) dau semnal în același
timp, nu sunt două tranzacții independente — e același semnal, de două ori; Dow
(indicele Dow Jones) și Russell (indicele Russell 2000, văzut prin ETF-ul IWM)
adaugă ceva în plus.
@@ -849,119 +863,141 @@ respectate:
Cu ecran, trei poziții: prima iese la 1:1; a doua la primul semnal de sens
opus, iar stopul rămas se mută la break even după ce prețul a făcut 1:2; a
- treia merge pe trail, sub minimul fiecărei candele închise.
+ treia merge pe trail pe Bull Trail, apoi pe ultimul swing low de fiecare
+ dată când se formează unul mai sus decât stopul curent (swing high pe short).
+ Asta e regula poziției 3 din lecția principală, și e cea care lasă trade-ul să
+ ajungă la 1:4 — un trail mai strâns te scoate mult mai repede.
Fără ecran, două poziții („set and forget"): prima iese la 1:1, iar în
momentul acela stopul celei de-a doua se mută la break even; a doua are ținta
- la 1:2.
+ la 1:2. Pasul 4 al variantei, dacă totuși ești la ecran: trail sub minimul
+ fiecărei candele închise — nu sub prețul curent. Ăsta e singurul loc din
+ material unde trail-ul se face candelă cu candelă; nu îl amesteca cu regula
+ poziției 3 de mai sus.
-
+
Pasul 5 — unde muți stopul după ce prima tranșă a ieșit
- DA — break even, apoi trail
- NU — stopul mutat la „50 %"
-
- TP1 624.30 (1:1)
-
- intrare 623.95 = break even
-
- SL inițial 623.60
-
- trail 624.41
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- prima tranșă iese la 624.30
-
-
- închidere sub trail:
- ieși cu +1.29R
-
- TP1 624.30 (1:1) — nu mai ajungi la el
-
- stop mutat la 50 %: 624.125
-
- intrare 623.95
-
- SL inițial 623.60
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- fitilul taie 50 %:
- ieși cu +0.5R
-
-
- prețul urcă la 624.66
- (+2.0R) fără tine
- Ambele panouri pornesc din aceeași intrare 623.95, cu stopul la 623.60, deci 1R = 0.35 $ și TP1 = 624.30.
- DA: prima tranșă iese la TP1. Stopul rămas se duce la break even 623.95 — de acolo trade-ul nu mai poate ieși pe minus —
- iar restul merge pe trail: stopul urcă sub minimul fiecărei candele închise (624.41 aici)
- și ieși la prima închidere sub el, 624.40 = +1.29R.
- NU: stopul mutat la jumătatea drumului, 624.125. Fitilul unei singure bare coboară sub el și te scoate cu +0.5R,
- deși bara închide peste nivel, iar prețul urcă după aceea la 624.66 (+2.0R).
- Break even nu are cum să te scoată în pierdere: stă fix la prețul de intrare.
- Ce nu a ieșit nici la țintă, nici pe trail se închide oricum la finalul sesiunii.
- Cifrele intrării, stopului și ale TP1 sunt din curs; barele de după intrare sunt construite de mine.
+ DA — break even, apoi trail pe ultimul swing low
+ NU — stopul mutat la „50 %"
+
+ TP1 624.30 (1:1)
+
+ intrare 623.95 = break even
+
+ SL inițial 623.60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ swing low 624.51
+ swing low 625.38
+
+
+ prima tranșă iese la 624.30
+
+
+ închidere sub trail:
+ ieși cu +4.00R
+
+ TP1 624.30 (1:1)
+
+ stop la 50 %: 624.125
+
+ intrare 623.95
+
+ SL inițial 623.60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fitilul taie 50 %:
+ ieși cu +0.5R
+
+
+ prețul urcă la 624.66
+ (+2.0R) fără tine
+ Ambele panouri pornesc din aceeași intrare 623.95, cu stopul la 623.60, deci 1R = 0.35 $ și TP1 = 624.30.
+ DA: prima tranșă iese la TP1. Stopul rămas se duce la break even 623.95 — de acolo trade-ul nu mai poate ieși pe minus —
+ iar a treia tranșă merge pe trail pe ultimul swing low — liniile portocalii punctate.
+ Treapta 1 = 624.51, treapta 2 = 625.38; fiecare pornește de la swing low-ul care o ridică, nu din marginea graficului.
+ Ieși la prima închidere sub ultima treaptă, 625.35 = +4.0R — de aici vine „realizat ~1:4" din material; prețul atinsese 625.97.
+ Trail-ul sub minimul fiecărei candele închise e pasul 4 al variantei „set and forget", nu regula poziției 3:
+ pe aceeași structură te-ar fi scos la prima corecție, 624.60 = +1.9R.
+ NU: stopul mutat la jumătatea drumului, 624.125. Fitilul unei singure bare coboară sub el și te scoate cu +0.5R,
+ deși bara închide peste nivel, iar prețul urcă după aceea la 624.66 (+2.0R).
+ Break even nu are cum să te scoată în pierdere: stă fix la prețul de intrare.
+ Ce nu a ieșit nici la țintă, nici pe trail se închide oricum la finalul sesiunii.
+ Cifrele intrării, stopului și ale TP1 sunt din curs; barele de după intrare sunt construite de mine.
În stânga, varianta corectă: prima tranșă iese la 624.30, stopul rămas se duce
-la break even 623.95 — de acolo trade-ul nu mai poate ieși în pierdere — iar
-restul merge pe trail, la 624.41, și iese la prima închidere sub el, 624.40, cu
-+1.29R.
+la break even 623.95 — de acolo trade-ul nu mai poate ieși în pierdere — iar a
+treia merge pe trail pe ultimul swing low. Prima corecție lasă un swing low la
+624.51 și stopul urcă acolo; a doua lasă unul mai sus, la 625.38, și
+stopul urcă din nou. Prețul atinge 625.97, apoi o candelă închide sub treapta
+curentă: ieși la 625.35, adică +4R. De aici vine „realizat ~1:4" din
+material — nu din ținte fixe, ci din pozițiile lăsate să meargă pe swing-uri.
+Dacă ai trailat candelă cu candelă (regula variantei „set and forget"), prima
+corecție te-ar fi scos la 624.60, adică +1.9R, pe exact aceeași
+structură de bare. Nu e o nuanță de formulare: e diferența dintre 1.9R și 4R.
În dreapta, capcana pe care materialul o semnalează explicit: stopul mutat „la
50 %", adică la jumătatea drumului spre țintă, 624.125. Fitilul unei singure
bare coboară sub el și te scoate cu +0.5R, deși bara se închide peste nivel, iar
prețul urcă după aceea la 624.66 — un trade de +2R pierdut dintr-o regulă de
management. Formularea „după ce ai trecut de 50 %, te protejezi la 50 %" apare
-în material, dar chiar sesiunea care o citează o explică drept „muți stopul la
-break even". Break even nu are cum să te scoată în pierdere: stă fix la prețul
-de intrare.
+într-o sesiune, iar în alta e demontată exact pe cazul ăsta; citirea mea e
+că „te protejezi" înseamnă break even, nu nivelul de 50 % — sesiunea nu spune
+asta cu cuvintele ei. Break even nu are cum să te scoată în pierdere: stă fix la
+prețul de intrare.
Trei lucruri pot închide poziția înainte de țintă: stopul, primul semnal de sens
opus, și finalul sesiunii — ce a mai rămas se lichidează, indiferent de
nivel. Strategia nu ține poziții peste noapte, iar asta e și motivul pentru care
@@ -1214,9 +1250,12 @@ construit de sumarizator, nu preluat din transcriere.
Transfer pe cont de prop (judecata mea, nu a cursului)
Materialul nu spune nimic despre conturile de prop. Ce știm din el și contează
aici: stopuri mici (0.41-0.8 %), drawdown maxim 1.22 % pe backtest, închidere
-obligatorie la finalul sesiunii, și faptul că TICUS vine prin TradeStation cu
-abonament de date, iar trigger-ele de moment sunt indicatori proprii ai
-autorului.
+obligatorie la finalul sesiunii, și faptul că strategia e legată de
+TradeStation — acolo simbolurile de tip TICUS sunt gratuite, iar pe
+TradingView echivalentele costă abonament sau pur și simplu nu există; în plus,
+trigger-ele de moment sunt indicatori proprii ai autorului. Blocajul pe prop nu
+e un abonament de date, e platforma: dacă firma nu îți dă TradeStation, nu ai de
+unde lua condiția M.
@@ -1347,6 +1386,14 @@ condiția care face ca 76 % să fie 76 %.
Numele. MBP în lecție, MBAP în sesiunile de întrebări. Aceeași strategie.
Setup-ul din 15.07.2025, descris altfel decât regulile bandă + TICUS
(vezi exemplele de mai sus).
+
Universul de instrumente — și aici eu contrazic materialul, nu el pe
+ sine. O sesiune spune că MBT-10, MBP și MP² „merg pe orice": forex, bitcoin,
+ crude, aur, zahăr, cafea, bonduri, fiind strategii de price action pe pivoți.
+ Eticheta de la începutul capitolului dă totuși doar acțiuni USETF
+ indicifutures, iar restricția e judecata mea: condiția M are nevoie
+ de TICUS, iar TICUS măsoară numai piața de equities din SUA, deci pe forex
+ sau pe aur rămâi fără jumătatea strategiei. Afirmația „merge pe orice" se
+ aplică părții de price action, nu condiției M.
diff --git a/summaries/17_STRATEGII/08_mbp.md b/summaries/17_STRATEGII/08_mbp.md
index e5a4063..4cd3fd3 100644
--- a/summaries/17_STRATEGII/08_mbp.md
+++ b/summaries/17_STRATEGII/08_mbp.md
@@ -15,8 +15,8 @@
**Etichete:** `long` `short` · `intraday` pe 15 minute · `acțiuni US` `ETF`
`indici` `futures` · dificultate `3/5` (judecata mea) · merge pe prop (cont
-finanțat de o firmă): parțial, doar cu TradeStation și abonamentul lui de date ·
-merge pe BVB: nu
+finanțat de o firmă): parțial, doar pe TradeStation — TICUS și trigger-ele de
+moment există acolo și nu se pot replica în altă parte · merge pe BVB: nu
**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
@@ -260,12 +260,24 @@ Sell Momentum sau Sell Doji.
- **Break even** — stopul mutat fix la prețul de intrare. De acolo, trade-ul nu
mai poate ieși în pierdere; ieși pe zero, fără câștig și fără pierdere.
- **Trailing stop („trail")** — un stop pe care îl urci după preț, dar nu-l
- cobori niciodată. Aici: sub minimul fiecărei candele **închise**. Ieși la prima
- închidere sub el; în diagrama de la pasul 5, la 624.40, cu +1.29R.
+ cobori niciodată. La MBP, pentru poziția a treia: pe **Bull Trail**, iar apoi
+ pe **ultimul swing low** de fiecare dată când se formează unul mai sus
+ (swing high pe short). Ieși la prima închidere sub treapta curentă; în
+ diagrama de la pasul 5, la 625.35, cu +4R. Varianta „sub minimul fiecărei
+ candele închise" e tot din material, dar e pasul 4 al variantei „set and
+ forget" — nu regula poziției 3.
+- **Swing low** — o candelă cu minimul mai jos decât al vecinei din stânga și
+ decât al vecinei din dreapta: fundul unei corecții mici, confirmat abia de
+ bara de după el. Pe short, oglindit: **swing high**.
+- **Bull Trail** — indicatorul de trail al autorului, din TradeStation: mută
+ stopul pe extremele locale, în sus, pe măsură ce trade-ul avansează.
+ Materialul nu dă formula lui — e un indicator propriu.
- **Nivel major** — un preț la care piața a reacționat de mai multe ori și care
se vede pe un timeframe mare (minimul lunii, un suport de pe grafic). În
- diagrama de la pasul 1 e 623.60, minimul din care pornise urcarea și în care
- cade prețul înapoi.
+ diagrama de la pasul 1 l-am desenat la 623.60, minimul din care pornise
+ urcarea. **Completare proprie:** din curs, 623.60 e stopul exemplului (cel mai
+ jos minim din 4 candele); că acolo ar fi și un suport major e construcția mea,
+ pentru desen — materialul nu dă un preț pentru nivelul major al exemplului.
- **Consolidare strânsă** — o perioadă în care prețul se mișcă într-un interval
îngust. Nu e același lucru cu un range larg: strategia prinde bine range-urile
cu mișcare, dar într-o consolidare strânsă prețul nu mai ajunge la benzi, deci
@@ -471,15 +483,17 @@ nu mai atinge benzile deloc, deci nu ai ce aștepta.
În stânga, terenul bun: opt bare duc prețul cu 1.72 $ în jos, înapoi în suportul
-de la 623.60 din care pornise urcarea, iar patru bare se închid sub banda
+de la 623.60 din care pornise urcarea — nivelul de suport e **completarea mea**,
+exemplul din curs nu dă un preț pentru el —, iar patru bare se închid sub banda
inferioară. În dreapta, aceeași durată, dar prețul stă pe loc: benzile se strâng
la 0.79 $ lățime față de 2.19 $ în stânga, și niciun close nu iese din ele.
Fără o candelă închisă în afara benzii nu există condiția M, deci nu există
trade — oricât de mult te-ai uita la grafic.
Două lucruri pe care materialul **nu** le cere: un filtru de volum (a fost
-testat explicit și nu a adăugat nimic) și un preț sau un volum minim al
-instrumentului. Iar dacă SPY și QQQ (ETF-ul pe Nasdaq 100) dau semnal în același
+testat explicit — cel mult 1-2 % îmbunătățire pe eșantioane foarte mari, de
+1000+ tranzacții, adică nu cât să merite complicația) și un preț sau un volum
+minim al instrumentului. Iar dacă SPY și QQQ (ETF-ul pe Nasdaq 100) dau semnal în același
timp, nu sunt două tranzacții independente — e același semnal, de două ori; Dow
(indicele Dow Jones) și Russell (indicele Russell 2000, văzut prin ETF-ul IWM)
adaugă ceva în plus.
@@ -860,120 +874,142 @@ respectate:
- **Cu ecran, trei poziții:** prima iese la 1:1; a doua la primul semnal de sens
opus, iar stopul rămas se mută la break even după ce prețul a făcut 1:2; a
- treia merge pe trail, sub minimul fiecărei candele închise.
+ treia merge pe **trail pe Bull Trail, apoi pe ultimul swing low** de fiecare
+ dată când se formează unul mai sus decât stopul curent (swing high pe short).
+ Asta e regula poziției 3 din lecția principală, și e cea care lasă trade-ul să
+ ajungă la 1:4 — un trail mai strâns te scoate mult mai repede.
- **Fără ecran, două poziții („set and forget"):** prima iese la 1:1, iar în
momentul acela stopul celei de-a doua se mută la break even; a doua are ținta
- la 1:2.
+ la 1:2. Pasul 4 al variantei, dacă totuși ești la ecran: trail **sub minimul
+ fiecărei candele închise** — nu sub prețul curent. Ăsta e singurul loc din
+ material unde trail-ul se face candelă cu candelă; nu îl amesteca cu regula
+ poziției 3 de mai sus.
-
+Pasul 5 — unde muți stopul după ce prima tranșă a ieșit
- DA — break even, apoi trail
- NU — stopul mutat la „50 %"
-
- TP1 624.30 (1:1)
-
- intrare 623.95 = break even
-
- SL inițial 623.60
-
- trail 624.41
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- prima tranșă iese la 624.30
-
-
- închidere sub trail:
- ieși cu +1.29R
-
- TP1 624.30 (1:1) — nu mai ajungi la el
-
- stop mutat la 50 %: 624.125
-
- intrare 623.95
-
- SL inițial 623.60
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- fitilul taie 50 %:
- ieși cu +0.5R
-
-
- prețul urcă la 624.66
- (+2.0R) fără tine
- Ambele panouri pornesc din aceeași intrare 623.95, cu stopul la 623.60, deci 1R = 0.35 $ și TP1 = 624.30.
- DA: prima tranșă iese la TP1. Stopul rămas se duce la break even 623.95 — de acolo trade-ul nu mai poate ieși pe minus —
- iar restul merge pe trail: stopul urcă sub minimul fiecărei candele închise (624.41 aici)
- și ieși la prima închidere sub el, 624.40 = +1.29R.
- NU: stopul mutat la jumătatea drumului, 624.125. Fitilul unei singure bare coboară sub el și te scoate cu +0.5R,
- deși bara închide peste nivel, iar prețul urcă după aceea la 624.66 (+2.0R).
- Break even nu are cum să te scoată în pierdere: stă fix la prețul de intrare.
- Ce nu a ieșit nici la țintă, nici pe trail se închide oricum la finalul sesiunii.
- Cifrele intrării, stopului și ale TP1 sunt din curs; barele de după intrare sunt construite de mine.
+ DA — break even, apoi trail pe ultimul swing low
+ NU — stopul mutat la „50 %"
+
+ TP1 624.30 (1:1)
+
+ intrare 623.95 = break even
+
+ SL inițial 623.60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ swing low 624.51
+ swing low 625.38
+
+
+ prima tranșă iese la 624.30
+
+
+ închidere sub trail:
+ ieși cu +4.00R
+
+ TP1 624.30 (1:1)
+
+ stop la 50 %: 624.125
+
+ intrare 623.95
+
+ SL inițial 623.60
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ fitilul taie 50 %:
+ ieși cu +0.5R
+
+
+ prețul urcă la 624.66
+ (+2.0R) fără tine
+ Ambele panouri pornesc din aceeași intrare 623.95, cu stopul la 623.60, deci 1R = 0.35 $ și TP1 = 624.30.
+ DA: prima tranșă iese la TP1. Stopul rămas se duce la break even 623.95 — de acolo trade-ul nu mai poate ieși pe minus —
+ iar a treia tranșă merge pe trail pe ultimul swing low — liniile portocalii punctate.
+ Treapta 1 = 624.51, treapta 2 = 625.38; fiecare pornește de la swing low-ul care o ridică, nu din marginea graficului.
+ Ieși la prima închidere sub ultima treaptă, 625.35 = +4.0R — de aici vine „realizat ~1:4" din material; prețul atinsese 625.97.
+ Trail-ul sub minimul fiecărei candele închise e pasul 4 al variantei „set and forget", nu regula poziției 3:
+ pe aceeași structură te-ar fi scos la prima corecție, 624.60 = +1.9R.
+ NU: stopul mutat la jumătatea drumului, 624.125. Fitilul unei singure bare coboară sub el și te scoate cu +0.5R,
+ deși bara închide peste nivel, iar prețul urcă după aceea la 624.66 (+2.0R).
+ Break even nu are cum să te scoată în pierdere: stă fix la prețul de intrare.
+ Ce nu a ieșit nici la țintă, nici pe trail se închide oricum la finalul sesiunii.
+ Cifrele intrării, stopului și ale TP1 sunt din curs; barele de după intrare sunt construite de mine.
În stânga, varianta corectă: prima tranșă iese la 624.30, stopul rămas se duce
-la break even 623.95 — de acolo trade-ul nu mai poate ieși în pierdere — iar
-restul merge pe trail, la 624.41, și iese la prima închidere sub el, 624.40, cu
-**+1.29R**.
+la break even 623.95 — de acolo trade-ul nu mai poate ieși în pierdere — iar a
+treia merge pe trail pe ultimul swing low. Prima corecție lasă un swing low la
+**624.51** și stopul urcă acolo; a doua lasă unul mai sus, la **625.38**, și
+stopul urcă din nou. Prețul atinge 625.97, apoi o candelă închide sub treapta
+curentă: ieși la **625.35**, adică **+4R**. De aici vine „realizat ~1:4" din
+material — nu din ținte fixe, ci din pozițiile lăsate să meargă pe swing-uri.
+Dacă ai trailat candelă cu candelă (regula variantei „set and forget"), prima
+corecție te-ar fi scos la **624.60**, adică **+1.9R**, pe exact aceeași
+structură de bare. Nu e o nuanță de formulare: e diferența dintre 1.9R și 4R.
În dreapta, capcana pe care materialul o semnalează explicit: stopul mutat „la
50 %", adică la jumătatea drumului spre țintă, 624.125. Fitilul unei singure
bare coboară sub el și te scoate cu +0.5R, deși bara se închide peste nivel, iar
prețul urcă după aceea la 624.66 — un trade de +2R pierdut dintr-o regulă de
management. Formularea „după ce ai trecut de 50 %, te protejezi la 50 %" apare
-în material, dar chiar sesiunea care o citează o explică drept „muți stopul la
-break even". Break even nu are cum să te scoată în pierdere: stă fix la prețul
-de intrare.
+într-o sesiune, iar în alta e demontată exact pe cazul ăsta; **citirea mea** e
+că „te protejezi" înseamnă break even, nu nivelul de 50 % — sesiunea nu spune
+asta cu cuvintele ei. Break even nu are cum să te scoată în pierdere: stă fix la
+prețul de intrare.
Trei lucruri pot închide poziția înainte de țintă: stopul, primul semnal de sens
opus, și **finalul sesiunii** — ce a mai rămas se lichidează, indiferent de
@@ -1187,9 +1223,12 @@ construit de sumarizator, nu preluat din transcriere.
Materialul nu spune nimic despre conturile de prop. Ce știm din el și contează
aici: stopuri mici (0.41-0.8 %), drawdown maxim 1.22 % pe backtest, închidere
-obligatorie la finalul sesiunii, și faptul că TICUS vine prin TradeStation cu
-abonament de date, iar trigger-ele de moment sunt indicatori proprii ai
-autorului.
+obligatorie la finalul sesiunii, și faptul că strategia e legată de
+TradeStation — acolo simbolurile de tip TICUS sunt **gratuite**, iar pe
+TradingView echivalentele costă abonament sau pur și simplu nu există; în plus,
+trigger-ele de moment sunt indicatori proprii ai autorului. Blocajul pe prop nu
+e un abonament de date, e platforma: dacă firma nu îți dă TradeStation, nu ai de
+unde lua condiția M.
| Regula de prop | Ce strică | Ajustarea |
|---|---|---|
@@ -1275,6 +1314,14 @@ Dacă vrei ceva care chiar se calculează pe BVB, [`02_mp2.md`](02_mp2.md) și
6. **Numele.** MBP în lecție, MBAP în sesiunile de întrebări. Aceeași strategie.
7. **Setup-ul din 15.07.2025**, descris altfel decât regulile bandă + TICUS
(vezi exemplele de mai sus).
+8. **Universul de instrumente** — și aici eu contrazic materialul, nu el pe
+ sine. O sesiune spune că MBT-10, MBP și MP² „merg pe orice": forex, bitcoin,
+ crude, aur, zahăr, cafea, bonduri, fiind strategii de price action pe pivoți.
+ Eticheta de la începutul capitolului dă totuși doar `acțiuni US` `ETF`
+ `indici` `futures`, iar restricția e **judecata mea**: condiția M are nevoie
+ de TICUS, iar TICUS măsoară numai piața de equities din SUA, deci pe forex
+ sau pe aur rămâi fără jumătatea strategiei. Afirmația „merge pe orice" se
+ aplică părții de price action, nu condiției M.
Contradicțiile din tot materialul, la un loc:
[`A2_contradictii.md`](A2_contradictii.md).
diff --git a/summaries/17_STRATEGII/fise/08_mbp_surse.html b/summaries/17_STRATEGII/fise/08_mbp_surse.html
index f2f5668..310bff2 100644
--- a/summaries/17_STRATEGII/fise/08_mbp_surse.html
+++ b/summaries/17_STRATEGII/fise/08_mbp_surse.html
@@ -47,6 +47,8 @@ transcrieri.
mbt10 = 02_mbt10.md ·
fișa = fise/mbp.md (fișa de triaj a strategiei) ·
INDEX = 09_QA/INDEX_TEMATIC.md ·
+DECIZII = triaj/DECIZII.md (registrul de triaj
+al materialului) ·
fișierele datate sunt sesiuni de întrebări din ../../09_QA/:
01_2026-08-25 ·
03_2026-08-11 ·
@@ -58,7 +60,6 @@ fișierele datate sunt sesiuni de întrebări din ../../09_QA/:
16_2025-10-07 ·
17_2025-09-30 ·
18_2025-09-23 ·
-19_2025-09-08 ·
23_2025-07-29 ·
24_2025-07-15.
Avertismentul de la început și eticheta „nu merge pe BVB" — mbp: 3-11,
@@ -95,9 +96,12 @@ structurii) · 11_2025-11-25: 565, 632-636 (risc 0.41 %) · 2
(cont de backtest 100.000). „De ce 4 candele" și procentul de risc per trade:
neacoperite. Cifrele de sizing (cont 50.000 $, risc 0.5 %, 714 / 92 unități)
sunt completarea mea.
-
Pasul 5 (ieșirea, tranșele, break even, trail) — mbp: 95-98, 108-109,
-223-231, 226-231, 428-429, 443-445 · 09_2025-12-09: 999-1006 (varianta fără
-ecran), 1008-1112, 1114-1120, 1203-1207 (de ce break even și nu „50 %") ·
+
Pasul 5 (ieșirea, tranșele, break even, trail) — mbp: 95-98, 97-98, 109
+(trail pe Bull Trail, apoi pe swing low/high — regula poziției 3), 108-109,
+223-231, 226-231, 45-46 (Bull Trail / Swing Low ca unelte), 428-429, 443-445 ·
+09_2025-12-09: 999-1006 (varianta „set and forget"; pasul 4 de acolo e
+trail-ul sub minimul fiecărei candele închise), 1008-1112, 1114-1120, 1203-1207
+(de ce break even și nu „50 %") ·
10_2025-12-02: 166-168 (regula „50 %", interpretată în aceeași sesiune ca
break even), 178-181 · 11_2025-11-25: 571, 639-648.
Oglinda pe short (exemplul din 25.11.2025) — 11_2025-11-25: 557-648,
@@ -106,7 +110,7 @@ break even), 178-181 · 11_2025-11-25: 571, 639-648.
Ce dă avantajul — mbp: 39-42, 179-221, 217-221, 351-420, 436-442,
446-448 · 14_2025-10-21: 517-527 · 10_2025-12-02: 178-181, 565-568 ·
03_2026-08-11: 39-63 · 16_2025-10-07: 109-131. MBP nu apare în
-triaj/DECIZII.md, deci „cât e confirmat" numără surse distincte din fișa.
+DECIZII, deci „cât e confirmat" numără surse distincte din fișa.
A+ față de mediocru — mbp: 87-98, 179-221, 217-221, 344-349, 351-420 ·
03_2026-08-11: 39-63 · 10_2025-12-02: 565-568 · 09_2025-12-09: 1008-1112.
Transfer pe prop — nicio mențiune în material; e judecata mea. Cifrele din
curs folosite: mbp: 428-429, 443-445 · 09_2025-12-09: 1144-1149, 1151,
1184-1186 · 11_2025-11-25: 571, 639-641 · 18_2025-09-23: 748-756 ·
-14_2025-10-21: 501-535 · 24_2025-07-15: 450-453.
+14_2025-10-21: 501-535, 533-535 (în TradeStation simbolurile sunt gratuite;
+pe TradingView echivalentele costă sau nu există) · 24_2025-07-15: 450-453.
Transfer pe BVB — mbp: 37-38, 39-42, 56-64 · 14_2025-10-21: 501-527 ·
09_2025-12-09: 1173-1180, 1184-1186. Pragurile de lichiditate, universul de
simboluri și procentul „10-15 % supraviețuiește" sunt estimările mele.
@@ -128,12 +133,14 @@ simboluri și procentul „10-15 % supraviețuiește" sunt estimările mele.
1008-1112, 1203-1207 · 10_2025-12-02: 166-168; (4) mbp: 91-92, 105 ·
23_2025-07-29: 1662-1663; (5) mbp: 93-94 · 03_2026-08-11: 28-31, 34-37;
(6) mbp: 1 · 23_2025-07-29: 1660 · mbt10: 75; (7) 24_2025-07-15:
-440-448 · mbt10: 892-902.
+440-448 · mbt10: 892-902; (8) 01_2026-08-25: 854-862 („merg pe orice") ·
+mbp: 7, 39-42 · 14_2025-10-21: 517-527 (TICUS e doar pe equities US) —
+restricția din etichetă e judecata mea.
Legături — mbt10: 66-76, 892-911, 961, 984-989 · 09_2025-12-09:
1177-1180 (pivoții clasici se calculează pe BVB — ajută MP², nu MBP) ·
17_2025-09-30: 14-18 (long weekly MP² plus short 15 min MBP) ·
01_2026-08-25: 854-867 (merge și pe forex, crypto, mărfuri) ·
-19_2025-09-08: 313-317 (robotizare) · INDEX: 30-31, 56-57, 82-83, 132-133,
+INDEX: 30-31, 56-57, 82-83, 132-133,
230-233, 295-301 · fișa: toată.