Fisierul de referinta (Inverted H&S): contradictie intre regula scrisa si cifre

Agentul de audit a reparat eroarea mare de geometrie (proiectia tintei
desenata la 60px cand distanta neckline-head era 75px, plus "50 pct" in loc
de "$50" pe aur). Verificand independent, am gasit o problema mai adanca:

- regula scrisa spunea "proiectata de la punctul de breakout", dar TOATE
  cifrele din fisier proiecteaza de la neckline (1.0850 + 150 = 1.1000)
- o fraza afirma explicit ca de la 1.0855 la 1.1000 sunt "tot 150 pips" —
  sunt 145
- aceeasi discrepanta pe aur: eticheta zicea $50, desenul arata $45

Fix: convenția e acum declarata explicit (de la neckline), cu o nota despre
cealalta conventie si de ce castigul real al trade-ului e mai mic decat
miscarea masurata. Proiectiile pleaca acum din neckline in toate cele trei
diagrame, deci eticheta si desenul spun acelasi lucru.

Plus Modul 1 (raport agent, verificat): 11 probleme mecanice in
04_candele_ohlc, acelasi bug de scara in 06_divergente (4.80R desenat ca
0.91R) si 08_market_sentiment, si o gaura de continut — exemplul long din
market sentiment avea text complet dar nicio diagrama.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MtSTyTmt6AbCL9j5ajEDm1
This commit is contained in:
Claude Agent
2026-09-12 21:35:54 +00:00
parent 841a5f828c
commit 464b01848f
74 changed files with 2199 additions and 1378 deletions

View File

@@ -55,10 +55,13 @@ market order.
Consecință mecanică pentru money management: dacă intri long la 10.49 (Ask)
și ieși imediat la 10.47 (Bid), ai deja pierdut 0.02 **înainte** ca prețul să
se fi mișcat un cent. La un stop-loss LONG, ieșirea reală se face la Bid, deci
distanța de risc adevărată e (intrare − nivel_stop − spread), nu doar
se fi mișcat un cent. La un stop-loss LONG, nivelul tehnic (ex: low-ul unei
candele) e citit ca preț de piață, dar ieșirea reală pe stop se face la Bid —
adică sub nivelul tehnic — deci execuția e la (nivel_stop − spread), iar
distanța de risc reală e (intrare − nivel_stop) **+ spread**, mai mare decât
(intrare − nivel_stop). La un SHORT e simetric: intri la Bid, ieși (stop) la
Ask.
Ask — adică peste nivelul tehnic — deci execuția e la (nivel_stop + spread),
iar distanța de risc e (nivel_stop − intrare) **+ spread**.
## Formula de mărime a poziției — mecanismul, nu doar rezultatul
@@ -85,38 +88,64 @@ deschizi poziția, nu câți dolari poți pierde dacă stop-loss-ul se declanșe
Exemplul 2 de mai jos arată exact asta cu cifre: leverage 1 vs leverage 5,
riscul în dolari rămâne identic, doar marja necesară scade.
## R-multiple — unitatea în care se exprimă risc și profit (completare a mea)
Termen nou, folosit mai jos și în secțiunea de risk/reward: **1R** = riscul$
asumat pe tranzacția respectivă (riscul calculat cu formula de mai sus, ex.
$20 în Exemplul 1 care urmează) — nu un preț fix, ci o unitate relativă la
acel trade. Un target la "2R" înseamnă profit potențial = 2 × riscul asumat;
dacă stopul e atins, pierderea e "-1R" (exact riscul calculat, dacă rotunjirea
și spread-ul au fost făcute corect). "Risk/reward 1:2" de mai jos e aceeași
idee spusă altfel: risc 1R, target 2R.
<svg viewBox="0 0 360 90" xmlns="http://www.w3.org/2000/svg" style="width:100%;max-width:360px;height:auto;font:12px sans-serif">
<text x="10" y="18" fill="#333">exemplu generic: risc 1R vs. target 2R</text>
<rect x="120" y="35" width="40" height="16" fill="#c00"/>
<text x="70" y="47" fill="#c00" text-anchor="end">-1R (risc)</text>
<rect x="120" y="60" width="80" height="16" fill="#188a3e"/>
<text x="70" y="72" fill="#188a3e" text-anchor="end">+2R (target)</text>
</svg>
De ce contează: R-multiple face comparabile tranzacții pe instrumente complet
diferite — Exemplul 1 e în acțiuni la ~$10, Exemplul 2 e în puncte de index
la ~$5000 — indiferent de preț, "+2R" înseamnă mereu "de două ori riscul
asumat pe acel trade specific", nu un număr fix de dolari sau puncte.
## Exemplul 1 (din curs) — AMC, long, breakout din doji
Cont: **$1.000**. Risc acceptat: **2% = $20**. Fără margine de siguranță.
Setup: breakout din doji pe daily. Preț Ask (intrare) **10.49**, Bid
**10.47** (spread 0.02). Stop-loss la low-ul dojii, **9.62**, ajustat cu
spread-ul (ieșirea pe stop se face la Bid) → stop execuție efectiv **9.60**.
Distanța de risc folosită (cu buffer suplimentar de spread, ca în curs):
**10.49 − 9.60 + 0.02 = 0.91**/acțiune. Target 1:1: **10.49 + 0.91 = 11.40**.
spread-ul (ieșirea pe stop se face la Bid) → stop execuție efectiv
**9.62 − 0.02 = 9.60**. Distanța de risc: **10.49 − 9.60 = 0.89**/acțiune.
Target 1:1: **10.49 + 0.89 = 11.38**.
<svg viewBox="0 0 460 300" xmlns="http://www.w3.org/2000/svg" style="width:100%;max-width:480px;height:auto;font:12px sans-serif">
<text x="10" y="18" fill="#666">preț ↑</text>
<polyline points="20,230 70,215 110,200 150,164 190,277 230,164 260,161" fill="none" stroke="#1a1a1a" stroke-width="2"/>
<text x="10" y="248" fill="#999">consolidare / doji (nu detaliat aici, vezi lecția de patternuri)</text>
<line x1="20" y1="40" x2="290" y2="40" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="24" y="34" fill="#188a3e">11.40 — take-profit (1:1)</text>
<circle cx="260" cy="161" r="5" fill="#1a5fb4"/>
<text x="265" y="156" fill="#1a5fb4">10.49 — intrare (Ask)</text>
<line x1="20" y1="280" x2="290" y2="280" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="24" y="296" fill="#c00">9.60 — stop-loss execuție (low doji 9.62 − spread)</text>
<line x1="300" y1="40" x2="300" y2="280" stroke="#888" stroke-width="1"/>
<line x1="300" y1="161" x2="300" y2="280" stroke="#c00" stroke-width="2"/>
<line x1="300" y1="40" x2="300" y2="161" stroke="#188a3e" stroke-width="2"/>
<text x="308" y="105" fill="#188a3e">recompensă 0.91/acțiune</text>
<text x="308" y="225" fill="#c00">risc 0.91/acțiune</text>
<svg viewBox="0 0 620 273" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<line x1="24" y1="90.0" x2="606" y2="90.0" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="592" y="84.0" fill="#188a3e" text-anchor="end">11.38 — take-profit (1:1)</text>
<line x1="24" y1="143.4" x2="606" y2="143.4" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="592" y="137.4" fill="#1a5fb4" text-anchor="end">10.49 — intrare (Ask)</text>
<line x1="24" y1="196.8" x2="606" y2="196.8" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="592" y="190.8" fill="#c00" text-anchor="end">9.60 — stop-loss execuție (low doji 9.62 − spread)</text>
<polyline points="24,111.8 56,157.8" fill="none" stroke="#999" stroke-width="2"/>
<text x="24" y="99.8" fill="#999">downtrend anterior</text>
<line x1="64" y1="157.8" x2="64" y2="195.6" stroke="#1a1a1a" stroke-width="1.5"/>
<rect x="51" y="160.8" width="26" height="2.0" fill="#c00"/>
<text x="64" y="214.8" fill="#c00" text-anchor="middle" style="font-weight:bold">doji</text>
<line x1="156" y1="139.8" x2="156" y2="163.8" stroke="#1a1a1a" stroke-width="1.5"/>
<rect x="143" y="143.4" width="26" height="17.4" fill="#188a3e"/>
<text x="156" y="214.8" fill="#188a3e" text-anchor="middle" style="font-weight:bold">breakout</text>
<text x="24" y="234.8" fill="#c00">doji: low 9.62 = nivel SL tehnic</text>
<text x="24" y="251.8" fill="#188a3e">breakout: close 10.49 = intrare (Ask)</text>
</svg>
Calcul mărime poziție: **$20 / 0.91 ≈ 21.98 acțiuni** → rotunjești **în jos**,
nu în sus (regula DA/NU de mai sus): **21 acțiuni**. Risc real cu 21 acțiuni:
**21 × 0.91 = $19.11** (sub plafonul de $20, exact cum trebuie — rotunjirea
în jos e ceea ce ține riscul sub prag). Valoare tranzacție: 21 × 10.49 ≈
**$220**.
Calcul mărime poziție: **$20 / 0.89 ≈ 22.47 acțiuni** → rotunjești **în jos**,
nu în sus (regula DA/NU de mai sus): **22 acțiuni**. Risc real cu 22 acțiuni:
**22 × 0.89 = $19.58** (sub plafonul de $20, exact cum trebuie — rotunjirea
în jos e ceea ce ține riscul sub prag). Valoare tranzacție: 22 × 10.49 ≈
**$231**. La target: profit **22 × 0.89 = $19.58**, egal cu riscul asumat —
adică exact **R:R 1:1**, cum era anunțat.
## Exemplul 2 (construit) — US500, SHORT, cu margine de siguranță și leverage
@@ -131,20 +160,23 @@ execuție **5025.4**. Distanța de risc: **5025.4 − 5000.0 = 25.4** puncte.
Target 1:2 (risk/reward mai bun, vezi secțiunea de mai jos): **5000.0 − 2 ×
25.4 = 4949.2**.
<svg viewBox="0 0 460 300" xmlns="http://www.w3.org/2000/svg" style="width:100%;max-width:480px;height:auto;font:12px sans-serif">
<text x="10" y="18" fill="#666">preț ↑</text>
<polyline points="20,60 70,85 110,70 150,110 190,120" fill="none" stroke="#1a1a1a" stroke-width="2"/>
<line x1="20" y1="40" x2="290" y2="40" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="24" y="34" fill="#c00">5025.4 — stop-loss execuție (resistance 5025.0 + spread)</text>
<circle cx="190" cy="120" r="5" fill="#1a5fb4"/>
<text x="195" y="115" fill="#1a5fb4">5000.0 — intrare short (Bid)</text>
<line x1="20" y1="280" x2="290" y2="280" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="24" y="296" fill="#188a3e">4949.2 — take-profit (1:2)</text>
<line x1="300" y1="40" x2="300" y2="280" stroke="#888" stroke-width="1"/>
<line x1="300" y1="40" x2="300" y2="120" stroke="#c00" stroke-width="2"/>
<line x1="300" y1="120" x2="300" y2="280" stroke="#188a3e" stroke-width="2"/>
<text x="308" y="80" fill="#c00">risc 25.4 pct</text>
<text x="308" y="205" fill="#188a3e">recompensă 50.8 pct</text>
<svg viewBox="0 0 620 286" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<line x1="24" y1="34.0" x2="606" y2="34.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="592" y="28.0" fill="#c00" text-anchor="end">5025.4 — stop-loss execuție (resistance 5025.0 + spread)</text>
<line x1="24" y1="72.1" x2="606" y2="72.1" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="592" y="66.1" fill="#1a5fb4" text-anchor="end">5000.0 — intrare short (Bid)</text>
<line x1="24" y1="148.3" x2="606" y2="148.3" stroke="#188a3e" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="592" y="142.3" fill="#188a3e" text-anchor="end">4949.2 — take-profit (1:2)</text>
<polyline points="24,155.6 56,109.6" fill="none" stroke="#999" stroke-width="2"/>
<text x="24" y="175.6" fill="#999">uptrend anterior</text>
<line x1="64" y1="34.6" x2="64" y2="109.6" stroke="#1a1a1a" stroke-width="1.5"/>
<rect x="51" y="87.1" width="26" height="15.0" fill="#188a3e"/>
<text x="64" y="228.3" fill="#188a3e" text-anchor="middle" style="font-weight:bold">test resistance</text>
<line x1="156" y1="75.1" x2="156" y2="117.1" stroke="#1a1a1a" stroke-width="1.5"/>
<rect x="143" y="87.1" width="26" height="22.5" fill="#c00"/>
<text x="156" y="228.3" fill="#c00" text-anchor="middle" style="font-weight:bold">respingere</text>
<text x="24" y="248.3" fill="#188a3e">high 5025.0 = nivel SL tehnic (resistance)</text>
<text x="24" y="265.3" fill="#c00">respingere: închidere sub 5000.0 = intrare (Bid)</text>
</svg>
Mărime poziție: **$80 / 25.4 ≈ 3.15 unități** → rotunjit în jos: **3
@@ -174,18 +206,21 @@ tău de $47.00. Ordinul de stop-loss nu se execută la $47.00 pentru că nu a
existat nicio tranzacție la acel preț în timpul gap-ului — se execută la
prețul de deschidere.
<svg viewBox="0 0 400 300" xmlns="http://www.w3.org/2000/svg" style="width:100%;max-width:420px;height:auto;font:12px sans-serif">
<text x="10" y="18" fill="#666">preț ↑</text>
<line x1="20" y1="40" x2="380" y2="40" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="24" y="34" fill="#1a5fb4">50.00 — intrare</text>
<line x1="20" y1="130" x2="220" y2="130" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="24" y="124" fill="#c00">47.00 — stop-loss calculat (risc așteptat $39)</text>
<line x1="220" y1="130" x2="220" y2="280" stroke="#888" stroke-width="1" stroke-dasharray="1 3"/>
<text x="225" y="200" fill="#888">gap peste noapte —</text>
<text x="225" y="214" fill="#888">niciun preț tranzacționat aici</text>
<circle cx="280" cy="280" r="5" fill="#c00"/>
<line x1="20" y1="280" x2="380" y2="280" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="24" y="296" fill="#c00">42.00 — deschidere reală, aici se execută stop-ul</text>
<svg viewBox="0 0 620 167" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
<line x1="24" y1="37.0" x2="606" y2="37.0" stroke="#1a5fb4" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="592" y="31.0" fill="#1a5fb4" text-anchor="end">50.00 — intrare</text>
<line x1="24" y1="55.0" x2="606" y2="55.0" stroke="#c00" stroke-width="1.5" stroke-dasharray="4 3"/>
<text x="592" y="49.0" fill="#c00" text-anchor="end">47.00 — stop-loss calculat (risc așteptat $39)</text>
<line x1="24" y1="85.0" x2="606" y2="85.0" stroke="#a00" stroke-width="1.5" stroke-dasharray="0"/>
<text x="592" y="79.0" fill="#a00" text-anchor="end">42.00 — deschidere reală, aici se execută stopul</text>
<line x1="64" y1="34.0" x2="64" y2="46.0" stroke="#1a1a1a" stroke-width="1.5"/>
<rect x="51" y="37.0" width="26" height="6.0" fill="#188a3e"/>
<text x="64" y="109.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">zi 1</text>
<line x1="156" y1="79.0" x2="156" y2="91.0" stroke="#1a1a1a" stroke-width="1.5"/>
<rect x="143" y="85.0" width="26" height="3.0" fill="#c00"/>
<text x="156" y="109.0" fill="#c00" text-anchor="middle" style="font-weight:bold">gap peste noapte</text>
<text x="24" y="129.0" fill="#188a3e">închidere 50.00 = intrare</text>
<text x="24" y="146.0" fill="#c00">deschidere 42.00, sub stopul de 47.00</text>
</svg>
Pierdere reală: **13 × (50.00 − 42.00) = $104**, adică **5.2% din cont**
@@ -250,10 +285,63 @@ tranzacții: **5×(+2) + 5×(−1) = +5** — profitabil matematic chiar cu win
rate de doar 50%. De asta recomandarea minimă e 1:1, cu preferință pentru
1:2 — risk/reward-ul compensează un win rate mediocru, nu invers.
## Risc agregat pe mai multe poziții simultane (portfolio heat) — completare a mea
Termen nou: **portfolio heat** = suma riscurilor $ (sau %) ale **tuturor**
pozițiilor deschise în același moment. Regula de 2% e per tranzacție, nu per
cont — dacă ai mai multe poziții deschise deodată, riscul agregat nu e limitat
automat la 2%, trebuie calculat separat, adunând riscul fiecărei poziții
deschise.
Ce faci concret: înainte de a deschide o poziție nouă, aduni riscul$ al
pozițiilor deja deschise cu riscul noii poziții. Dacă suma trece un plafon
fixat dinainte (practică uzuală: **6-8% risc agregat deschis**) sau
pozițiile sunt puternic corelate (aceeași direcție de piață), reduci mărimea
noii poziții sau nu o mai deschizi.
**DA — heat controlat:** cont **$10.000**, 3 poziții deschise simultan, fiecare
riscând 2% = $200: acțiune tech, o pereche forex, un index diferit —
instrumente puțin corelate. Risc agregat: **3 × $200 = $600 = 6% din cont**,
la limita plafonului, dar poziții necorelate → probabilitate mică ca toate 3
să atingă stop simultan.
<svg viewBox="0 0 340 90" xmlns="http://www.w3.org/2000/svg" style="width:100%;max-width:340px;height:auto;font:12px sans-serif">
<line x1="204" y1="20" x2="204" y2="70" stroke="#333" stroke-width="1.5" stroke-dasharray="3 3"/>
<text x="208" y="18" fill="#333">prag heat 6%</text>
<rect x="24" y="40" width="60" height="20" fill="#188a3e"/>
<text x="54" y="53" fill="#fff" text-anchor="middle">2%</text>
<rect x="84" y="40" width="60" height="20" fill="#188a3e"/>
<text x="114" y="53" fill="#fff" text-anchor="middle">2%</text>
<rect x="144" y="40" width="60" height="20" fill="#188a3e"/>
<text x="174" y="53" fill="#fff" text-anchor="middle">2%</text>
<text x="24" y="80" fill="#188a3e">3 poziții necorelate = 6% agregat, la prag</text>
</svg>
**NU — heat ascuns:** același cont **$10.000**, 5 poziții deschise, fiecare
"doar 2%" ($200) — dar toate 5 pe acțiuni tech puternic corelate (ex. NVDA,
AMD, AVGO, MU, QCOM), care se mișcă împreună la o corecție de sector. Nominal
calculul arată **5 × $200 = $1.000 = 10% din cont**, dar riscul real, dat de
corelație, e mai apropiat de riscul unei **singure** poziții de 10% — exact
scenariul pe care regula de 2% per-trade, aplicată izolat pe fiecare poziție,
nu a fost gândită să-l prindă.
<svg viewBox="0 0 340 90" xmlns="http://www.w3.org/2000/svg" style="width:100%;max-width:340px;height:auto;font:12px sans-serif">
<line x1="204" y1="20" x2="204" y2="70" stroke="#333" stroke-width="1.5" stroke-dasharray="3 3"/>
<text x="208" y="18" fill="#333">prag heat 6%</text>
<rect x="24" y="40" width="60" height="20" fill="#188a3e"/>
<rect x="84" y="40" width="60" height="20" fill="#188a3e"/>
<rect x="144" y="40" width="60" height="20" fill="#188a3e"/>
<rect x="204" y="40" width="60" height="20" fill="#c00"/>
<rect x="264" y="40" width="60" height="20" fill="#c00"/>
<text x="24" y="80" fill="#c00">5 poziții corelate = 10% agregat, peste prag</text>
</svg>
Corelate ⇒ riscul real e mai mare decât suma nominală de 10%.
## Gotchas practice — cele mai importante
- **Rotunjește mărimea poziției în jos, niciodată în sus.** 21.98 acțiuni
înseamnă 21, nu 22 — rotunjirea în sus e felul în care "calculul de 2%"
devine, în realitate, 2.1-2.5%.
- **Rotunjește mărimea poziției în jos, niciodată în sus.** 22.47 acțiuni
înseamnă 22, nu 23 — rotunjirea în sus e felul în care "calculul de 2%"
devine, în realitate, peste 2%.
- **Nu uita spread-ul în calculul distanței de risc.** Diferența e mică per
tranzacție (2 cenți la AMC), dar ignorată sistematic pe multe tranzacții
tot subestimezi riscul real cu un procent fix.
@@ -281,6 +369,7 @@ pentru brokerul/platforma la care ai contul, nu pentru money management-ul
---
*Notă: secțiunile "Mecanismul spread-ului", "Leverage nu schimbă riscul",
"R-multiple", "Risc agregat pe mai multe poziții simultane (portfolio heat)",
Exemplul 2 (US500 short, construit), Exemplul 3 (gap peste noapte, construit),
tabelul de risc de ruină, tabelul de risk/reward și gotchas sunt completări
ale mele, dincolo de ce spune explicit transcrierea. Exemplul 1 (AMC) și