08_mbp: capitol reconstruit dupa sablon

Primul capitol terminat cap-coada dupa 01_buy_doji: nivelurile 1-2-3,
cei 5 pasi cu propozitie de actiune si "Treci mai departe doar daca",
mini-glosar de 38 de termeni, oglinda pe short cu diagrama ei, checklist.
Sursele au iesit in fise/08_mbp_surse.md.

Diagrame noi pentru pasii 1, 3, 4 si 5, care nu aveau: context, trigger,
stop, iesire. Benzile Bollinger din context sunt calculate din close-uri,
nu desenate, cu 20 de bare de incalzire nedesenate.

MBP e monotimeframe, deci cerinta de corespondenta intre timeframe-uri nu
se aplica aici — nu s-a inventat o diagrama pentru ea.

Stopul e fix pe cel mai jos minim din 4 candele, fara marja: asa spune
cursul pentru strategia asta, spre deosebire de 01_buy_doji. Diferenta e
spusa explicit in text.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
This commit is contained in:
Claude Agent
2026-09-20 12:48:27 +00:00
parent e8125d1d1c
commit 1f91e0b5a7
11 changed files with 2078 additions and 1509 deletions

View File

@@ -243,6 +243,11 @@ _fits(in_da + "\n" + "\n".join(add_da), w_da, PH, "panoul DA")
_fits(in_nu + "\n" + "\n".join(add_nu), w_nu, PH, "panoul NU")
assert svg.count("<svg") == 3 and svg.count("</svg>") == 3
assert f"{n_fall} bare" in svg and len(FALL) == n_fall
# etichetele goale (nivelurile-distanțier) nu au ce căuta în SVG: auditul le
# citește ca text suprapus peste ce e sub ele
svg = re.sub(r"\n\s*<text[^>]*>\s*</text>", "", svg)
assert svg.count("\n\n") == 0
OUT.write_text(svg, encoding="utf-8")
print(f"scris {OUT.name}: DA close {da[M].c:.2f} < bandă {lo_da:.2f}, cădere {cadere:.2f} $ "
f"în {n_fall} bare, suport {nivel:.2f}; NU lățime bandă {lat_nu:.2f} vs {lat_da:.2f}")

View File

@@ -6,11 +6,8 @@
<polyline points="40.0,210.0 52.0,212.9 64.0,215.4 76.0,216.4 88.0,215.8 100.0,214.7 112.0,212.2 124.0,209.4 136.0,205.3 148.0,201.0 160.0,196.5 172.0,191.9 184.0,186.9 196.0,181.8 208.0,176.5 220.0,171.0 232.0,165.3 244.0,159.4 256.0,153.1 268.0,146.1 280.0,140.3 292.0,135.6 304.0,132.7 316.0,131.5 328.0,131.9 340.0,133.8 352.0,136.8 364.0,141.2" fill="none" stroke="#1a5fb4" stroke-width="1.2" opacity="0.85"/>
<polyline points="40.0,178.4 52.0,179.5 64.0,185.5 76.0,188.5 88.0,186.3 100.0,180.8 112.0,169.8 124.0,157.0 136.0,142.0 148.0,126.8 160.0,115.4 172.0,103.1 184.0,93.8 196.0,83.1 208.0,75.7 220.0,66.7 232.0,61.1 244.0,54.3 256.0,50.8 268.0,48.0 280.0,51.9 292.0,61.3 304.0,69.2 316.0,73.4 328.0,72.2 340.0,67.1 352.0,61.5 364.0,55.9" fill="none" stroke="#1a5fb4" stroke-width="1.2" opacity="0.85" stroke-dasharray="4 3"/>
<line x1="24" y1="249.8" x2="358" y2="249.8" stroke="#777" stroke-width="1.5" stroke-dasharray="6 3"/>
<text x="30" y="243.8" fill="#777"></text>
<line x1="24" y1="34.0" x2="358" y2="34.0" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="344" y="28.0" fill="none" text-anchor="end"></text>
<line x1="24" y1="294.6" x2="358" y2="294.6" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="344" y="288.6" fill="none" text-anchor="end"></text>
<line x1="40.0" y1="229.6" x2="40.0" y2="245.2" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="36.0" y="234.2" width="8" height="6.2" fill="#c00"/>
<line x1="52.0" y1="235.8" x2="52.0" y2="249.8" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -76,9 +73,7 @@
<polyline points="40.0,113.7 52.0,113.5 64.0,113.4 76.0,113.4 88.0,113.3 100.0,113.1 112.0,113.0 124.0,113.0 136.0,112.9 148.0,112.8 160.0,112.7 172.0,112.8 184.0,112.6 196.0,112.7 208.0,112.6 220.0,112.5 232.0,112.5 244.0,112.4 256.0,112.4 268.0,112.5 280.0,113.3 292.0,114.2 304.0,114.3 316.0,113.7 328.0,112.8 340.0,112.2 352.0,112.4 364.0,113.1" fill="none" stroke="#1a5fb4" stroke-width="1.2" opacity="0.85"/>
<polyline points="40.0,84.2 52.0,83.6 64.0,83.3 76.0,83.3 88.0,83.3 100.0,83.5 112.0,83.7 124.0,83.6 136.0,83.4 148.0,83.1 160.0,82.9 172.0,82.9 184.0,83.1 196.0,83.1 208.0,83.0 220.0,82.9 232.0,82.7 244.0,82.5 256.0,82.5 268.0,82.4 280.0,82.3 292.0,84.1 304.0,84.7 316.0,82.9 328.0,82.0 340.0,82.7 352.0,82.3 364.0,82.2" fill="none" stroke="#1a5fb4" stroke-width="1.2" opacity="0.85" stroke-dasharray="4 3"/>
<line x1="24" y1="34.0" x2="358" y2="34.0" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="344" y="28.0" fill="none" text-anchor="end"></text>
<line x1="24" y1="294.6" x2="358" y2="294.6" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="344" y="288.6" fill="none" text-anchor="end"></text>
<line x1="40.0" y1="107.9" x2="40.0" y2="139.9" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="36.0" y="113.3" width="8" height="21.1" fill="#188a3e"/>
<line x1="52.0" y1="90.7" x2="52.0" y2="118.8" stroke="#1a1a1a" stroke-width="1.2"/>

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -184,6 +184,11 @@ assert abs((ch_da._y(ENTRY) - ch_da._y(TP1)) - (ch_nu._y(ENTRY) - ch_nu._y(TP1))
# 1:1 și vizual: distanța intrare-TP1 == distanța SL-intrare
assert abs((ch_da._y(ENTRY) - ch_da._y(TP1)) - (ch_da._y(SL) - ch_da._y(ENTRY))) < 1e-9
# etichetele goale (nivelurile-distanțier) nu au ce căuta în SVG: auditul le
# citește ca text suprapus peste ce e sub ele
svg = re.sub(r"\n\s*<text[^>]*>\s*</text>", "", svg)
assert svg.count("\n\n") == 0
OUT.write_text(svg, encoding="utf-8")
print(f"scris {OUT.name}: TP1 {TP1:.2f} la bara {tp_i}, trail {trail:.2f}, ieșire {iesire:.2f} "
f"(+{r_iesire:.2f}R); NU: 50 % la {half:.3f}, scos cu +{r_scos:.1f}R, ratat {ratat:.2f} "

View File

@@ -11,9 +11,7 @@
<line x1="24" y1="131.3" x2="378" y2="131.3" stroke="#b06000" stroke-width="1.5" stroke-dasharray="1 3"/>
<text x="364" y="125.3" fill="#b06000" text-anchor="end">trail 624.41</text>
<line x1="24" y1="34.0" x2="378" y2="34.0" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="364" y="28.0" fill="none" text-anchor="end"></text>
<line x1="24" y1="396.5" x2="378" y2="396.5" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="364" y="390.5" fill="none" text-anchor="end"></text>
<line x1="52.0" y1="146.3" x2="52.0" y2="239.3" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="43.0" y="164.3" width="18" height="45.0" fill="#c00"/>
<line x1="82.0" y1="194.3" x2="82.0" y2="308.3" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -52,9 +50,7 @@
<line x1="24" y1="392.0" x2="381" y2="392.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="386.0" fill="#c00">SL inițial 623.60</text>
<line x1="24" y1="51.7" x2="381" y2="51.7" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="367" y="45.7" fill="none" text-anchor="end"></text>
<line x1="24" y1="414.3" x2="381" y2="414.3" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="367" y="408.3" fill="none" text-anchor="end"></text>
<line x1="52.0" y1="164.0" x2="52.0" y2="257.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="43.0" y="182.0" width="18" height="45.0" fill="#c00"/>
<line x1="82.0" y1="212.0" x2="82.0" y2="326.0" stroke="#1a1a1a" stroke-width="1.2"/>

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

@@ -149,6 +149,11 @@ for i in range(len(box)):
assert not (abs(ay - by) < 13 and a0 < b1 - 4 and b0 < a1 - 4), \
f"texte suprapuse: {at!r} / {bt!r}"
# etichetele goale (nivelurile-distanțier) nu au ce căuta în SVG: auditul le
# citește ca text suprapus peste ce e sub ele
svg = re.sub(r"\n\s*<text[^>]*>\s*</text>", "", svg)
assert svg.count("\n\n") == 0
OUT.write_text(svg, encoding="utf-8")
print(f"scris {OUT.name}: fereastră {N_F} candele [{I0}..{TRIG}], SL {sl:.2f} (= low M), "
f"intrare {entry:.2f}, 1R {risc:.2f}, {unitati} unități, notional {notional:,.0f}")

View File

@@ -9,9 +9,7 @@
<line x1="24" y1="531.1" x2="742" y2="531.1" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="525.1" fill="#c00">SL 623.60</text>
<line x1="24" y1="56.0" x2="742" y2="56.0" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="728" y="50.0" fill="none" text-anchor="end"></text>
<line x1="24" y1="562.2" x2="742" y2="562.2" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="728" y="556.2" fill="none" text-anchor="end"></text>
<line x1="64.0" y1="87.1" x2="64.0" y2="171.1" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="55.0" y="105.1" width="18" height="36.0" fill="#c00"/>
<line x1="94.0" y1="123.1" x2="94.0" y2="216.1" stroke="#1a1a1a" stroke-width="1.2"/>

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -160,6 +160,11 @@ fits(in_nu + "\n" + "\n".join(add_nu), w_nu, PH, "panoul NU")
assert svg.count("\n\n") == 0, "linie goală în SVG rupe blocul din markdown"
assert svg.count("<svg") == 3 and svg.count("</svg>") == 3
assert f"{n_nu} candele fără trigger" in svg and n_nu == len(fereastra_nu)
# etichetele goale (nivelurile-distanțier) nu au ce căuta în SVG: auditul le
# citește ca text suprapus peste ce e sub ele
svg = re.sub(r"\n\s*<text[^>]*>\s*</text>", "", svg)
assert svg.count("\n\n") == 0
OUT.write_text(svg, encoding="utf-8")
print(f"scris {OUT.name}: M {da[M].c:.2f} (low {sl:.2f}), trigger {entry:.2f}; "
f"NU {n_nu} bare roșii, rupere {rupere:.2f} ({pierdere:.2f} $ sub stop)")

View File

@@ -8,9 +8,7 @@
<line x1="24" y1="354.5" x2="358" y2="354.5" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="348.5" fill="#c00">SL 623.60</text>
<line x1="24" y1="34.0" x2="358" y2="34.0" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="344" y="28.0" fill="none" text-anchor="end"></text>
<line x1="24" y1="426.0" x2="358" y2="426.0" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="344" y="420.0" fill="none" text-anchor="end"></text>
<line x1="44.0" y1="58.1" x2="44.0" y2="117.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="37.0" y="69.5" width="14" height="28.5" fill="#c00"/>
<line x1="66.0" y1="86.6" x2="66.0" y2="145.5" stroke="#1a1a1a" stroke-width="1.2"/>
@@ -55,9 +53,7 @@
<line x1="24" y1="354.5" x2="404" y2="354.5" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="30" y="348.5" fill="#c00">stopul ar fi fost 623.60</text>
<line x1="24" y1="34.0" x2="404" y2="34.0" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="390" y="28.0" fill="none" text-anchor="end"></text>
<line x1="24" y1="426.0" x2="404" y2="426.0" stroke="none" stroke-width="1.5" stroke-dasharray=""/>
<text x="390" y="420.0" fill="none" text-anchor="end"></text>
<line x1="44.0" y1="58.1" x2="44.0" y2="117.0" stroke="#1a1a1a" stroke-width="1.2"/>
<rect x="37.0" y="69.5" width="14" height="28.5" fill="#c00"/>
<line x1="66.0" y1="86.6" x2="66.0" y2="145.5" stroke="#1a1a1a" stroke-width="1.2"/>

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,125 @@
# Surse — 8. MBP / Mbappé
Trimiterile la material pentru [`08_mbp.md`](../08_mbp.md). Stau aici, nu în
capitol: în corpul tutorialului îngreunează cititul, dar fără ele nu se mai
poate verifica nimic. Cifrele sunt linii din fișierele de sumarizare, nu din
transcrieri.
Textul fără trimitere e explicația mea și nu adaugă reguli; ce completez eu
începe cu **Completare proprie**. Din curs vin nivelurile exemplului SPY
(623.87 / 623.90 / 623.95 / 623.60 / 624.30) și procentele short-ului real
(0.41 %, 2 %); structura barelor din toate diagramele e construită de mine.
**Prescurtări:**
`mbp` = [`03_strategia_6_mbp_mbappe.md`](../../05_MODUL_4/03_strategia_6_mbp_mbappe.md)
(lecția principală) ·
`mbt10` = [`02_mbt10.md`](../../08_ANALIZA_ZILNICA/02_mbt10.md) ·
`fișa` = [`fise/mbp.md`](mbp.md) (fișa de triaj a strategiei) ·
`INDEX` = [`09_QA/INDEX_TEMATIC.md`](../../09_QA/INDEX_TEMATIC.md) ·
fișierele datate sunt sesiuni de întrebări din `../../09_QA/`:
[`01_2026-08-25`](../../09_QA/01_2026-08-25.md) ·
[`03_2026-08-11`](../../09_QA/03_2026-08-11.md) ·
[`09_2025-12-09`](../../09_QA/09_2025-12-09.md) ·
[`10_2025-12-02`](../../09_QA/10_2025-12-02.md) ·
[`11_2025-11-25`](../../09_QA/11_2025-11-25.md) ·
[`14_2025-10-21`](../../09_QA/14_2025-10-21.md) ·
[`15_2025-10-14`](../../09_QA/15_2025-10-14.md) ·
[`16_2025-10-07`](../../09_QA/16_2025-10-07.md) ·
[`17_2025-09-30`](../../09_QA/17_2025-09-30.md) ·
[`18_2025-09-23`](../../09_QA/18_2025-09-23.md) ·
[`19_2025-09-08`](../../09_QA/19_2025-09-08.md) ·
[`23_2025-07-29`](../../09_QA/23_2025-07-29.md) ·
[`24_2025-07-15`](../../09_QA/24_2025-07-15.md).
**Avertismentul de la început și eticheta „nu merge pe BVB"** — `mbp`: 3-11,
28-31, 39-42, 422-424 · `14_2025-10-21`: 501-527 · `09_2025-12-09`: 1173-1174,
1184-1186 · `10_2025-12-02`: 178-181.
**Nota de nume (MBP / MBAP)** — `mbp`: 1-5, 4-5, 27 · `mbt10`: 75, 902 ·
`23_2025-07-29`: 1660.
**Nivelul 1 — ce face strategia, mecanismul, frecvența** — `mbp`: 3-11, 20-24,
37-38, 56-64, 87-109, 114-148, 305-320, 336-342, 430-431, 446-448 (mecanismul
detaliat e reconstrucția sumarizatorului, marcată la `mbp:457-465`) ·
`14_2025-10-21`: 517-527 · `03_2026-08-11`: 39-63.
**Fraza de decizie și oglinda pe short** — `mbp`: 87-98, 100-109, 111-112
(eticheta long/short era inversată în slide-uri; versiunea corectată e cea
verbală).
**Când NU o folosești** — `mbp`: 28-31, 430-431, 443-448 · `10_2025-12-02`:
565-568 · `09_2025-12-09`: 1130-1132, 1173-1174 · `14_2025-10-21`: 501-527.
**Pasul 1 (terenul: sesiune, timeframe, nivel major)** — `mbp`: 28-34, 37-38,
47-50, 430-431 · `03_2026-08-11`: 39-63 · `10_2025-12-02`: 565-568 ·
`16_2025-10-07`: 109-131 (filtrul de volum, testat, fără avantaj) ·
`18_2025-09-23`: 748-756 (SPY/QQQ față de Dow/Russell). Preț minim, volum minim,
lichiditate, filtru fundamental: **neacoperite în material**.
**Pasul 2 (candela M: bandă + TICUS pe aceeași candelă)** — `mbp`: 37-38, 56-64,
87-92, 100-105, 179-221, 217-221, 344-349, 436-442 · `14_2025-10-21`: 514,
501-535 (TICUS e indicator propriu, prin TradeStation Market Data Services).
**Pasul 3 (trigger-ul de moment)** — `mbp`: 87-98, 100-109, 336-342, 351-420
(exemplul cu M valid fără trigger — construit de sumarizator, `mbp:457-465`) ·
`23_2025-07-29`: 1660-1664 (formularea „short când revine în banda de sus" și
varianta pe divergență; vezi contradicția 4) · `mbt10`: 75, 892-902 (MBP dă
zona, M2D dă trigger-ul fin).
**Pasul 4 (stopul și mărimea poziției)** — `mbp`: 93-94, 106-107, 336-342, 425 ·
`03_2026-08-11`: 28-31 (cele 4 candele), 34-37 (excepția de swing: sub minimul
structurii) · `11_2025-11-25`: 565, 632-636 (risc 0.41 %) · `24_2025-07-15`:
444-445 (0.8 %, măsurat de un participant 0.9 %) · `09_2025-12-09`: 1139-1140
(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 %") ·
`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,
565, 571, 632-641, 643-648; prețurile absolute sunt construite de sumarizator
(`11_2025-11-25`: 716-719, nota de la `:636`).
**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`.
**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.
**Gotchas** — `mbp`: 436-448 · `09_2025-12-09`: 1008-1112, 1130-1132, 1151,
1203-1207 · `11_2025-11-25`: 643-648 · `24_2025-07-15`: 450-453.
**Celelalte exemple** — `24_2025-07-15`: 440-453 (primul trade live) ·
`09_2025-12-09`: 1136-1168 (backtestul 2025, 148 de tranzacții) · `mbp`:
457-465 („exemplul 3", construit de sumarizator) · `mbt10`: 892-911.
**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.
**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.
**Contradicții** — (1) `mbp`: 422-424, 428-429 · `09_2025-12-09`: 1146,
1162-1163 · `15_2025-10-14`: 439 · `10_2025-12-02`: 180 · `23_2025-07-29`: 1660,
1717 · `16_2025-10-07`: 109-131; (2) `mbp`: 428-429 · `23_2025-07-29`: 1661,
1717 · `15_2025-10-14`: 435-444; (3) `mbp`: 229-231 · `09_2025-12-09`: 999-1006,
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.
**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,
230-233, 295-301 · `fișa`: toată.