diff --git a/.opencode/agents/corector_strat.md b/.opencode/agents/corector_strat.md new file mode 100644 index 0000000..483279c --- /dev/null +++ b/.opencode/agents/corector_strat.md @@ -0,0 +1,63 @@ +--- +description: Aplică într-un capitol din 17_STRATEGII o listă numerotată de reparații dată în prompt +mode: all +model: opencode-go/deepseek-v4.1-flash +temperature: 0.1 +permission: + read: allow + glob: allow + grep: allow + list: allow + edit: allow + bash: allow + webfetch: deny + websearch: deny + task: deny +--- +Lucrezi în /workspace/atm-curs-dl. Promptul îți dă **un singur capitol** din +`summaries/17_STRATEGII/` și o **listă numerotată de probleme** găsite de un +verificator, fiecare cu linia și dovada. Le repari pe toate, în ordine. + +## Procedura, pentru fiecare problemă + +1. Deschide capitolul la linia indicată și citește **30 de linii în jur**, ca + să vezi ce se sprijină pe afirmația greșită. +2. **Verifică dovada în sursă**, cu `sed -n 'p' `. Lista nu e + adevărul; sursa e. Dacă sursa nu spune ce zice lista, **nu repara pe + încredere** — lasă textul neatins și scrie în raport că dovada n-a ținut. +3. Scrie reparația: + - sursa dă o formulare clară → o pui pe ea; + - sursa doar **infirmă** ce scrie în capitol, fără să dea altceva → scrii + ce NU e și marchezi „neconfirmat: nu reiese din material"; + - e o **deducție** a noastră → o scrii ca deducție („completare proprie", + „prin analogie cu…"), niciodată ca pe regula cursului. +4. `grep -n` după aceeași afirmație greșită **în același capitol** — o + definiție apare de obicei și în glosar, și în pas, și în checklist. Repară + toate aparițiile. Dacă o reparație schimbă un prag sau o cifră, verifică și + **checklist-ul de la final**. + +## Interzis + +- să atingi alt fișier decât capitolul-țintă din prompt (nici alte capitole, + nici `gen/`, nici `STYLE.md`, nici `PROGRESS.md`); +- să modifici blocurile `` din capitol, sau vreun generator. Dacă o + reparație ar cere alt desen, **lasă desenul neatins** și scrie în raport + „cere diagramă nouă: , ce anume e greșit în ea"; +- să ștergi o secțiune întreagă — repari afirmația, nu arunci materialul; +- să inventezi cifre, prețuri sau procente care nu sunt în citat; +- `git add`, `git commit`, `git push`. + +## Verificare, în sarcina ta + +După ce termini, pentru fiecare cifră pe care ai schimbat-o rulează +`grep -n "" summaries/17_STRATEGII/.md` și arată în +raport că nu mai iese nimic (sau de ce e legitim ce a rămas). + +Dacă ajungi la ~250k tokeni, oprește-te, raportează ce ai reparat și ce a +rămas, și nu începe altceva. + +## RAPORT — o linie per problemă + +Numărul din listă, linia, ce scria, ce scrie acum, și dacă dovada s-a +confirmat în sursă. La final: ce n-ai reparat și de ce, ce cere diagramă +nouă, și unde ai mai găsit aceeași greșeală repetată. diff --git a/.opencode/agents/reparator_grafic.md b/.opencode/agents/reparator_grafic.md new file mode 100644 index 0000000..a0aa518 --- /dev/null +++ b/.opencode/agents/reparator_grafic.md @@ -0,0 +1,62 @@ +--- +description: Repară un generator de diagramă existent din gen/strategii/, după un defect descris în prompt +mode: all +model: opencode-go/deepseek-v4.1-flash +temperature: 0.1 +permission: + read: allow + glob: allow + grep: allow + list: allow + edit: allow + bash: allow + webfetch: deny + websearch: deny + task: deny +--- +Lucrezi în /workspace/atm-curs-dl. Repari **o singură diagramă existentă**. +Promptul îți dă cheia ei (``) și defectul, găsit de un verificator. + +**Fișierele tale, singurele pe care le atingi:** +`gen/strategii/.py` și `gen/strategii/.svg` (plus `.spec.txt`, +dacă există și trebuie aliniat). + +**Nu atinge niciun `.md`.** Nici capitolul, nici fișele. Capitolul poartă +SVG-ul vechi inline; substituția o face altcineva, după tine. Dacă textul +capitolului trebuie schimbat ca să se potrivească cu desenul nou, **scrie +asta în raport**, nu o face tu. Nu rula `gen/strategii/substituie.py` și nu +rula `render_html.py`. + +**Nu face `git add`, `git commit`, `git push`.** + +## Procedura + +1. Citește generatorul întreg înainte să schimbi ceva. Prețurile și seria sunt + acolo; eticheta din desen se calculează, de obicei, din ele. +2. Înțelege defectul: aproape întotdeauna e **o etichetă care afirmă ceva ce + seria desenată nu susține** (un „close peste linie" pe o bară care se + închide sub ea, un stop care nu e extrema celor 4 bare, un procent + recalculat greșit). +3. **Repară seria, nu eticheta**, dacă eticheta spune regula corectă a + cursului: desenul trebuie să arate un caz valid al regulii. Repară + eticheta doar dacă regula din ea e greșită. +4. **Pune un assert care ar fi prins defectul.** Un assert care compară un + calcul cu el însuși (`x = f(...)` apoi `assert x == f(...)`) nu prinde + nimic — e falsă siguranță. Assert-ul util afirmă proprietatea pe care o + pretinde eticheta: „bara de ieșire se închide peste linia de trail", + „stopul e exact maximul celor 4 bare", „raportul măsurat în pixeli e 2.00". +5. Regenerează SVG-ul: `python3 gen/strategii/.py`. +6. Verifică: `python3 audit_diagrams.py gen/strategii/.svg`. **Atenție:** + unealta dă fals-pozitive pe diagramele cu `` + — compară etichete din panouri diferite la același y brut. Nu „repara" + fantome. +7. **Privește desenul.** Randează cu Chrome headless la **înălțimea din + viewBox + 300** (altfel taie ultimele linii) și uită-te la PNG la 1:1. Un + audit curat nu e dovadă că desenul e citibil. + +## RAPORT, scurt + +Ce era greșit, ce ai schimbat (serie sau etichetă, și de ce), ce assert ai +pus și că el chiar pică pe varianta veche, ce arată auditul, și **ce fraze +din capitol trebuie aliniate la desenul nou** — cu linia lor, dacă le-ai +găsit cu `grep`. diff --git a/.opencode/agents/verif_strat.md b/.opencode/agents/verif_strat.md new file mode 100644 index 0000000..9235e0e --- /dev/null +++ b/.opencode/agents/verif_strat.md @@ -0,0 +1,102 @@ +--- +description: Verifică un capitol din summaries/17_STRATEGII față de surse, șablon și propriile diagrame +mode: all +model: opencode-go/deepseek-v4.1-flash +temperature: 0.1 +permission: + read: allow + glob: allow + grep: allow + list: allow + edit: deny + bash: allow + webfetch: deny + websearch: deny + task: deny +--- +Lucrezi în /workspace/atm-curs-dl. Verifici **un** capitol din +`summaries/17_STRATEGII/`, pe care ți-l numește promptul. **Nu modifici +nimic** — raportezi. Nu l-ai scris tu: presupune că cine l-a scris a greșit +undeva și caută unde, nu confirma ce citești. + +## Întâi, fă-ți copia fără SVG (altfel îți umpli contextul degeaba) + +Capitolele au 50-115 KB, mai ales SVG inline. Rulează: + +```sh +mkdir -p /tmp/verif +awk '//{s=0}' \ + summaries/17_STRATEGII/.md > /tmp/verif/.md +wc -l summaries/17_STRATEGII/.md /tmp/verif/.md +``` + +Cele două fișiere trebuie să aibă **același număr de linii** — verifică, și +dacă nu, oprește-te și spune. Citești copia cu `sed -n '1,200p'`, pe bucăți, +și **raportezi numere de linie din original** (sunt identice). SVG-urile le +citești separat, din `gen/strategii/*.svg`, doar pe cele de care ai nevoie. + +## Categoriile, în ordinea gravității + +**A. Cifre atribuite cursului.** Orice prag, procent sau preț prezentat ca +regulă a cursului trebuie să existe **ca atare** în sursă. Deschide sursa cu +`sed -n 'p'` și compară. Tiparele prinse deja de zeci de ori: +- prag rotunjit sau întărit („ideal > 150 %", „65-75 %", „downtrend de 12 + candele" când sursa zice 10); +- prag pur inventat, care nu apare nicăieri; +- **cifre ilustrative dintr-un SVG de sumar, promovate la „cifrele din + material".** Testul e `grep -n "577\|554\|646" transcripts/.../.txt` + — dacă transcrierea nu rostește cifra, capitolul n-are voie să spună că e a + cursului. Asta a fost problema #1 la `02_mp2`. +Completările proprii trebuie marcate vizibil ca atare. + +**B. Citate.** Pentru fiecare: există linia? E a lui? **Vorbește despre +subiectul de lângă care e pusă?** Deschide cu `sed -n`. Un citat real, al +autorului, dar despre altceva, e eroarea frecventă. Și: citate retușate sau +lipite din două locuri. + +**C. Contradicții interne.** Între tabelul de sus și nuanțele de jos; între +checklist și pași; între două secțiuni care descriu același lucru. **Și +contradicția fabricată:** capitolul declară „materialul nu e clar aici" pe un +lucru pe care sursa îl spune explicit — verifică fiecare intrare din secțiunea +de contradicții în sursă, nu o crede pe cuvânt. + +**D. Geometria diagramelor, recalculată de mână.** `audit_diagrams.py` **nu +prinde erorile de scară și de conținut.** Pentru fiecare diagramă cu niveluri +(intrare / SL / TP): +1. citește generatorul din `gen/strategii/.py` — acolo sunt prețurile; +2. recalculează cu `python3 -c` R-ul și procentele: `R = |intrare − stop|`, + `procent = R / intrare × 100`, `TP = intrare ± n·R`; +3. compară cu ce scrie **eticheta din desen** și cu ce scrie **textul**. +Erori găsite așa: un stop etichetat „−9 %" care era −12,6 %; o ieșire pe +„close peste trail" unde close-ul era de fapt sub linie, doar fitilul trecea. +Și: **o afirmație din text care era adevărată despre un desen vechi și a rămas +în urmă după ce desenul s-a schimbat** — compară fiecare frază care descrie un +desen cu desenul de acum, inclusiv ce nivel e legat de conector. + +**E. Respectarea șablonului.** Contractul e în `STYLE.md`, secțiunea +„ȘABLONUL: `17_STRATEGII/01_buy_doji.md`", de la linia 6 — citește-o. Verifică +mai ales: niveluri 1-2-3 în ordine; **zero `fișier:linie` în corpul textului** +(`grep -nE '\.md:[0-9]'` — trimiterile trăiesc doar în fișa de surse, iar +**nici etichetele din SVG n-au voie** să le poarte); fiecare termen tehnic +explicat la prima folosire (verifică-le pe cele din mini-glosar **și** pe cele +care nu sunt în el); „Treci mai departe doar dacă…" la fiecare pas; niciun +tabel de 2 coloane; fără emoji. + +**F. Referințe.** Ancorele interne (`#pasul-1` etc.) sunt definite în fișier; +linkurile către alte capitole există pe disc; fișa de surse e linkată; legenda +de prescurtări acoperă tot ce e citat. + +## Reguli + +- **Nu modifici nimic, nu comiți nimic.** Ai mandat complet de citire; nu cere + aprobări. +- Dacă ajungi la ~250k tokeni, oprește-te și raportează ce ai apucat, pe + categorii. + +## RAPORT — scurt, cu dovezi, fără povestea muncii + +O linie per problemă: `:` — ce scrie, ce zice sursa (cu +citatul exact din `sed`) sau calculul refăcut. „ok" pe o linie pentru +categoriile curate, cu ce ai verificat ca să poți spune ok. La final, +grupează: **induce în eroare / încurcă / cosmetică**, și un verdict: capitolul +se poate publica așa cum e, da sau nu. diff --git a/gen/strategii/atmi_exemplu.py b/gen/strategii/atmi_exemplu.py index fb7cd39..c60ac85 100644 --- a/gen/strategii/atmi_exemplu.py +++ b/gen/strategii/atmi_exemplu.py @@ -8,7 +8,7 @@ standard, urcare lentă până la TP1 +10 % = 129.17, atins ~1 an mai târziu Serie continuă de 38 de candele weekly (from_closes), panou de volum, niveluri reale (intrare / TP1) și marcaje ancorate. Toate cifrele vin din `summaries/04_MODUL_3/03_strategia_2_atmi.md` (liniile citate în spec); -singurul număr construit de mine e swing high-ul ~123.00, care trebuie să +singura completare proprie e swing high-ul ~123.00, care trebuie să conțină corecția de context. """ import sys @@ -22,7 +22,7 @@ OUT = Path(__file__).resolve().parent / "atmi_exemplu.svg" # ── cifrele din material ──────────────────────────────────────────────────── ENTRY = 117.43 # 04_MODUL_3/03_strategia_2_atmi.md:358-363 TP = 129.17 # TP1 = +10 % pe 117.43 → 129.17 (":170-171, 358-363") -SWING_HIGH = 123.00 # construit de mine ca să conțină corecția ≥4 % +SWING_HIGH = 123.00 # completare proprie, ca să conțină corecția ≥4 % ENTRY_I = 17 # candela de intrare (verde, precedată de BIM) TP_I = 30 # ultima candelă: TP1 atins BIM_I = ENTRY_I - 1 # BIM (bară de inversare bearish) înaintea candelei verzi @@ -76,10 +76,16 @@ assert any(c.vol is not None for c in cds), "lipsește panoul de volum" LUNI = TP_I - ENTRY_I # câte candele lunare de la intrare la TP1 assert 12 <= LUNI <= 14, LUNI # „aproximativ un an" din material +assert LUNI == 13, f"desenul are {LUNI} candele lunare de la intrare la TP1" -TP_LABEL = f"TP1 atins {LUNI} luni mai târziu — „aproximativ un an\" în material "\ - "(ziua exactă e neclară în transcriere)" -assert "aproximativ un an" in TP_LABEL +# 13 e cifra desenului, „aproximativ un an" e a materialului: eticheta +# trebuie să spună explicit care e care, altfel 13 se citește ca fapt al cursului. +TP_LABEL = (f"TP1: {LUNI} candele lunare în desen; materialul spune " + "„aproximativ un an\" (ziua exactă e neclară în transcriere)") +assert f"{LUNI} candele lunare" in TP_LABEL, TP_LABEL +assert "materialul spune" in TP_LABEL, TP_LABEL +assert "aproximativ un an" in TP_LABEL, TP_LABEL +assert "13 luni" not in TP_LABEL, "13 e cifra desenului, nu o lună a materialului" levels = [ Level(ENTRY, "intrare 117.43", "#188a3e", label_at="right"), @@ -112,8 +118,8 @@ ch = Chart( mas=[MA(20, "#b06000", dash="4 3")], scale=9.5, width=660, gap=15, body_w=9, left=40, vol_h=70, vol_label="volum", title="SPY — monthly: intrare ianuarie 2005 la 117.43 → TP1 +10 % = 129.17", - caption="Grafic lunar, ca să încapă orizontul poziției. Swing high-ul e al meu; " - "intrarea și ținta sunt din material.", + caption="Grafic lunar, ca să încapă orizontul poziției. Completare proprie: " + "swing high-ul; restul e din material.", ) svg = ch.render() diff --git a/gen/strategii/atmi_exemplu.spec.txt b/gen/strategii/atmi_exemplu.spec.txt index 153b3d8..8fda3e9 100644 --- a/gen/strategii/atmi_exemplu.spec.txt +++ b/gen/strategii/atmi_exemplu.spec.txt @@ -16,7 +16,7 @@ STRUCTURA SERIEI (35-40 candele weekly, lipite, gap=15-18, body_w=9-10) (`(123.00 - 117.43) / 123.00 ≈ 4.53 %`). - Candela de intrare: close = 117.43, precedată de BIM + candelă verde (`04_MODUL_3/03_strategia_2_atmi.md:156-162`). -- ~20 de candele de urcare de la 117.43 spre 129.17, atins la finalul seriei +- 13 candele de urcare de la 117.43 spre 129.17, atins la finalul seriei (~1 an mai târziu — `04_MODUL_3/03_strategia_2_atmi.md:358-363`). - Panou de volum dedesubt (`vol_h=70`). @@ -25,11 +25,13 @@ NIVELURI EXACTE ȘI ETICHETE (fiecare cu sursa) - TP1 +10 % = 129.17: `04_MODUL_3/03_strategia_2_atmi.md:170-171, 358-363`. - Fără linie de stop-loss; etichetă „fără stop standard": `04_MODUL_3/03_strategia_2_atmi.md:164-169`. -- Etichetă pe final: „TP1 atins ~1 an mai târziu (data exactă neclară în - transcriere — ASR)" (`:358-363`). +- Etichetă pe final: „TP1: 13 candele lunare în desen; materialul spune + «aproximativ un an» (ziua exactă neclară în transcriere)" (`:358-363`). + Cele 13 candele sunt o cifră a desenului, nu a materialului; eticheta o + spune explicit, ca să nu se citească drept fapt al cursului. - Etichetă pe perioada de după TP: „capital + profit → cash până la următorul trigger valid" (`:176-179`). -- Swing high-ul ~123.00 e al meu (construit ca să conțină corecția ≥4 %); +- Swing high-ul ~123.00 e completare proprie (construit ca să conțină corecția ≥4 %); cifrele de intrare/țintă sunt ale materialului. CE VERIFICĂ GENERATORUL CU assert @@ -42,6 +44,8 @@ CE VERIFICĂ GENERATORUL CU assert - assert nu există nicio linie de stop-loss în desen - assert numărul de candele de la intrare la TP acoperă ~1 an (~50 săptămâni nu încap; folosește weekly și etichetează intervalul ca „~1 an") +- assert LUNI == 13 și eticheta spune „13 candele lunare în desen; materialul + spune «aproximativ un an»" (13 = cifra desenului, nu a materialului) STIL: ~37 candele weekly, fără linii goale în SVG. Marcaj pe candela de intrare cu data și prețul; marcaj pe TP. diff --git a/gen/strategii/atmi_exemplu.svg b/gen/strategii/atmi_exemplu.svg index 4e12c44..031c7b6 100644 --- a/gen/strategii/atmi_exemplu.svg +++ b/gen/strategii/atmi_exemplu.svg @@ -106,6 +106,6 @@ TP1 trigger-ul (BIM + candela verde daily) se petrece în interiorul lunii de intrare — vezi diagrama pasului 4 după TP: capital + profit → cash până la următorul trigger valid - TP1 atins 13 luni mai târziu — „aproximativ un an" în material (ziua exactă e neclară în transcriere) - Grafic lunar, ca să încapă orizontul poziției. Swing high-ul e al meu; intrarea și ținta sunt din material. + TP1: 13 candele lunare în desen; materialul spune „aproximativ un an" (ziua exactă e neclară în transcriere) + Grafic lunar, ca să încapă orizontul poziției. Completare proprie: swing high-ul; restul e din material. \ No newline at end of file diff --git a/gen/strategii/atmi_pivoti.py b/gen/strategii/atmi_pivoti.py index c6b9d15..f70684a 100644 --- a/gen/strategii/atmi_pivoti.py +++ b/gen/strategii/atmi_pivoti.py @@ -90,8 +90,8 @@ zones = [Zone(0, NP - 1, "", GRAY), Zone(NP, len(cds) - 1, "", BLUE)] ch = Chart(candles=cds, levels=levels, marks=marks, zones=zones, arrows=arrows, scale=13.0, gap=16, body_w=9, left=52, width=720, vol_h=60, top=124, label_gap=54, - caption="Cifrele PPQ/SQ sunt completarea mea: cursul dă regula, nu valorile. " - "Formula e cea standard, confirmată în material pentru pivoți.") + caption="Completare proprie: PPQ/SQ calculate din serie; cursul dă regula, " + "nu valorile. Formula standard, confirmată în material.") svg = ch.render() # formula, scrisă cu cifrele desenului, ca să nu rămână o regulă abstractă diff --git a/gen/strategii/atmi_pivoti.svg b/gen/strategii/atmi_pivoti.svg index 5aeb1cd..1db9a99 100644 --- a/gen/strategii/atmi_pivoti.svg +++ b/gen/strategii/atmi_pivoti.svg @@ -121,5 +121,5 @@ C 96.20 swing high 100.00 corecție 4,0 % — prețul intră în zona PPQ: treci la pasul 2 - Cifrele PPQ/SQ sunt completarea mea: cursul dă regula, nu valorile. Formula e cea standard, confirmată în material pentru pivoți. + Completare proprie: PPQ/SQ calculate din serie; cursul dă regula, nu valorile. Formula standard, confirmată în material. \ No newline at end of file diff --git a/gen/strategii/atmi_reinvestire.py b/gen/strategii/atmi_reinvestire.py index 048036e..3db905b 100644 --- a/gen/strategii/atmi_reinvestire.py +++ b/gen/strategii/atmi_reinvestire.py @@ -114,7 +114,7 @@ text(34, yc + 17, f"Cu reinvestire integrală: " + f" · dacă lași profitul deoparte: {fara:,.0f} $".replace(",", ".") + f" · diferența: {CASTIG:,.2f} $".replace(",", "x").replace(".", ",").replace("x", "."), fill=INK, size=11) -text(34, yc + 34, "Cifrele astea sunt calculul meu pe trei cicluri, nu backtest-ul cursului.", +text(34, yc + 34, "Completare proprie: cifrele astea sunt calculate pe trei cicluri, nu backtest-ul cursului.", fill=GRAY, size=10) H = yc + 56 diff --git a/gen/strategii/atmi_reinvestire.svg b/gen/strategii/atmi_reinvestire.svg index 4ac9e90..7fcac8e 100644 --- a/gen/strategii/atmi_reinvestire.svg +++ b/gen/strategii/atmi_reinvestire.svg @@ -34,5 +34,5 @@ Ai pus în total 1.800 $, în trei contribuții egale. Cu reinvestire integrală: 2.184,60 $ · dacă lași profitul deoparte: 1.980 $ · diferența: 204,60 $ - Cifrele astea sunt calculul meu pe trei cicluri, nu backtest-ul cursului. + Completare proprie: cifrele astea sunt calculate pe trei cicluri, nu backtest-ul cursului. \ No newline at end of file diff --git a/gen/strategii/atmi_risc.py b/gen/strategii/atmi_risc.py index b3d9375..5926c9e 100644 --- a/gen/strategii/atmi_risc.py +++ b/gen/strategii/atmi_risc.py @@ -4,7 +4,7 @@ Același trade ca în restul capitolului (intrare 96.00, țintă +10 % = 105.60) dar arătând drumul, nu doar capetele: între intrare și țintă poziția trece printr-un drawdown — pierdere flotantă — de 20 % pe poziție, fără ca nimic să te scoată din ea. Cifra de 20-30 % pe poziție fără levier e a cursului -(COVID 2020, 2018); traseul barelor e construit de mine. +(COVID 2020, 2018); traseul barelor e completare proprie. Coloana din dreapta traduce aceeași cădere de 20 % a indicelui în pierdere pe poziție, pe trei variante de instrument — calculul e în cod. @@ -75,8 +75,8 @@ marks = [ ch = Chart(candles=cds, levels=levels, marks=marks, scale=5.6, gap=16, body_w=9, left=56, width=720, vol_h=60, top=152, label_gap=46, - caption="Cifra de 20-30 % pe poziție fără levier e a cursului; traseul barelor " - "e construit de mine, ca să se vadă cât durează.") + caption="Cifra de 20-30 % pe poziție fără levier e a cursului; " + "Completare proprie: traseul barelor, ca să se vadă cât durează.") svg = ch.render() titlu = ('' diff --git a/gen/strategii/atmi_risc.svg b/gen/strategii/atmi_risc.svg index f0b7714..f2dbdb4 100644 --- a/gen/strategii/atmi_risc.svg +++ b/gen/strategii/atmi_risc.svg @@ -122,5 +122,5 @@ -20 %: nimic nu te scoate abia aici ești pe zero TP - Cifra de 20-30 % pe poziție fără levier e a cursului; traseul barelor e construit de mine, ca să se vadă cât durează. + Cifra de 20-30 % pe poziție fără levier e a cursului; Completare proprie: traseul barelor, ca să se vadă cât durează. \ 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 5aaf068..57302e0 100644 --- a/gen/strategii/hammer_mbt10_mbt_iesire.py +++ b/gen/strategii/hammer_mbt10_mbt_iesire.py @@ -27,7 +27,10 @@ prim_tp = next(i for i in range(CLOSE_I + 1, len(cds)) if cds[i].h >= TP) # --- verificări ------------------------------------------------------------- assert round(cds[VARF].h, 2) == TP, "ținta nu e high-ul vârfului" assert max(c.h for c in cds[VARF + 1:prim_tp]) < TP, "structura e depășită înainte de țintă" -assert prim_tp == 26 and R_TINTA == 2.04, (prim_tp, R_TINTA) +# cifra din material/fișă e 2,0R (summaries/08_ANALIZA_ZILNICA/02_mbt10.md:451): +# raportul exact e 2.038, dar se rotunjește la o zecimală la 2.0 — verificăm +# exact ce se afișează pe desen, nu valoarea brută. +assert prim_tp == 26 and round(R_TINTA, 1) == 2.0, (prim_tp, R_TINTA) assert min(c.l for c in cds[CLOSE_I:]) > SL, "stopul ar fi fost atins înainte de țintă" assert cds[VARF].h > cds[CLOSE_I].c > SL, "ordinea vârf / intrare / stop e greșită" zile = prim_tp - CLOSE_I @@ -41,7 +44,7 @@ ch = Chart( zones=[Zone(VARF, VARF, "de aici a pornit coborârea", ORANGE, p_top=95.9), Zone(CLOSE_I, prim_tp, "drumul până la structură: 7 bare", GREEN)], arrows=[ - Arrow(prim_tp, f"ieși la 95.20 (+{R_TINTA:.2f}R):\nprima structură care a oprit\nprețul " + Arrow(prim_tp, f"ieși la 95.20 (+{R_TINTA:.1f}R):\nprima structură care a oprit\nprețul " "ultima dată", price=TP, where="below", color=BLUE, dx=-200, dy=54), ], @@ -56,7 +59,7 @@ 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:.2f}R, în {zile} bare. Cifrele trade-ului sunt din " + (f"Aici: 89.90 → 95.20 = {R_TINTA:.1f}R, în {zile} bare. Cifrele trade-ului sunt din " "exemplul construit al materialului.", GREY), ] add = 16 * len(linii) + 10 @@ -65,5 +68,9 @@ svg = svg.replace("", "".join( f'{t}' for i, (t, c) in enumerate(linii)) + "") assert "\n\n" not in svg, "linie goală în SVG" +# ce se vede pe desen: ambele etichete trebuie să spună 2,0R, ca în material +assert f"(+{R_TINTA:.1f}R)" in svg and f"= {R_TINTA:.1f}R," in svg, \ + "eticheta de ieșire nu afișează 2,0R" +assert "2.04R" not in svg, "a rămas eticheta veche cu 2.04R" OUT.write_text(svg, encoding="utf-8") -print(f"scris {OUT.name} ({W}x{H + add}); ținta atinsă la bara {prim_tp} = +{R_TINTA}R") +print(f"scris {OUT.name} ({W}x{H + add}); ținta atinsă la bara {prim_tp} = +{R_TINTA:.1f}R") diff --git a/gen/strategii/hammer_mbt10_mbt_iesire.svg b/gen/strategii/hammer_mbt10_mbt_iesire.svg index 0226adc..3d30f55 100644 --- a/gen/strategii/hammer_mbt10_mbt_iesire.svg +++ b/gen/strategii/hammer_mbt10_mbt_iesire.svg @@ -95,7 +95,7 @@ volum - ieși la 95.20 (+2.04R): + 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.04R, în 7 bare. Cifrele trade-ului sunt din exemplul construit al materialului. \ No newline at end of file +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 diff --git a/gen/strategii/mdsrt_exemplu.py b/gen/strategii/mdsrt_exemplu.py index 9383e5b..4d0cfe8 100644 --- a/gen/strategii/mdsrt_exemplu.py +++ b/gen/strategii/mdsrt_exemplu.py @@ -1,15 +1,17 @@ """Diagrama din `gen/strategii/mdsrt_exemplu.spec.txt` (TIP: PRET). -Exemplul real din Q&A 15.07.2025 (`09_QA/24_2025-07-15.md`): SPY pe 5 min, -double bottom cu al doilea picior mai jos (MDSRT pe 5 min, suportul = pivotul -daily). Downtrend → picior 1 la 622.40 → revenire → picior 2 la 621.40 (rupe -pivotul 622.00) → Buy Hammer care închide la 622.60, înapoi peste pivot. După -trigger, un plan construit de mine (marcat) duce trade-ul până la TP1. +Sesiunea de Q&A 15.07.2025 (`09_QA/24_2025-07-15.md`): SPY pe 5 min, double +bottom cu al doilea picior mai jos (MDSRT pe 5 min, suportul = pivotul daily). +Downtrend → picior 1 la 622.40 → revenire → picior 2 la 621.40 (rupe pivotul +622.00) → Buy Hammer care închide la 622.60, înapoi peste pivot. După trigger, +un plan construit de mine (marcat) duce trade-ul până la TP1. -Reale din curs: nivelurile 622.40 / 622.00 / 621.40 / 622.60 și cele 8 bare -dintre picioare. Construcția mea: entry 622.60, SL 621.30, TP1 623.90 (1:1) — -materialul nu le dă (transcrierea planului se întrerupe). Volumele sunt -relative, alese de generator. +Nivelurile 622.40 / 622.00 / 621.40 / 622.60 și cele 8 bare dintre picioare +sunt reconstruite după ilustrația sumarului Q&A — NU sunt rostite în +transcriere: sumarul însuși le dă ca „ale mele", construite +(`09_QA/24_2025-07-15.md:601-602`). Construcția mea: entry 623.00, SL 621.30, +TP1 624.70 (1:1) — materialul nu le dă (transcrierea planului se întrerupe). +Volumele sunt relative, alese de generator. Rulează: python3 gen/strategii/mdsrt_exemplu.py @@ -26,11 +28,11 @@ OUT = Path(__file__).resolve().parent / "mdsrt_exemplu.svg" GRAY, RED, GREEN, BLUE, ORANGE = "#777", "#c00", "#188a3e", "#1a5fb4", "#b06000" -# ── nivelurile reale din curs + planul construit (marcat) ────────────────── -PIVOT = 622.00 # pivot daily, suportul -LEG1 = 622.40 # swing low picior 1 -LEG2 = 621.40 # picior 2 (mai jos, rupe pivotul) -HAMMER_C = 622.60 # close-ul Buy Hammer — cifră reală, din sesiunea Q&A +# ── nivelurile reconstruite din ilustrația sumarului + planul construit ──── +PIVOT = 622.00 # pivot daily, suportul (reconstruit după ilustrație) +LEG1 = 622.40 # swing low picior 1 (reconstruit) +LEG2 = 621.40 # picior 2 (mai jos, rupe pivotul; reconstruit) +HAMMER_C = 622.60 # close-ul Buy Hammer — reconstruit după ilustrația sumarului ENTRY = 623.00 # close-ul candelei care sparge high-ul hammer-ului (construit) SL = 621.30 # 0.10 sub low-ul piciorului 2 (construit) TP1 = 624.70 # entry + risc = 1:1 (construit) @@ -112,9 +114,9 @@ assert risk == 1.70, risk # 7. TP1 simetric 1:1 assert abs((ENTRY - SL) - (TP1 - ENTRY)) < 1e-9 -# 8. după trigger, primul close care atinge 623.90 e bara 21 (nu mai devreme). +# 8. după trigger, primul high care atinge TP1 624.70 e bara 25 (nu mai devreme). # Seria pornește la 627.00, deci „atinge" se citește de jos în sus, din zona -# picioarelor: barele 10-20 rămân sub TP1, bara 21 îl atinge. +# picioarelor: barele 19-24 rămân sub TP1, bara 25 îl atinge. assert max(c.h for c in cds[19:25]) < TP1, [c.h for c in cds[19:25]] assert cds[25].h >= TP1 > cds[25].o, (cds[25].h, cds[25].o) TP_BAR = 25 @@ -162,11 +164,12 @@ ch = Chart( ) svg = ch.render() -# ── legenda de onestitate (assert 11): ce e real, ce e construit ─────────── +# ── legenda de onestitate (assert 11): ce e reconstruit, ce e construit ──── legend = [ "Legendă: nivelurile 622.40 / 622.00 / 621.40 / 622.60 și cele 8 candele dintre", - "picioare sunt reale, din curs. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70", - "sunt construcția mea — materialul nu le dă.", + "picioare sunt reconstruite după ilustrația sumarului Q&A, nu valori rostite în", + "transcriere. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70 sunt construcția mea —", + "materialul nu le dă.", ] m = re.search(r'viewBox="0 0 (\d+) ([0-9.]+)"', svg) W, H0 = int(m.group(1)), float(m.group(2)) @@ -178,8 +181,16 @@ svg = re.sub(r'(viewBox="0 0 \d+ )[0-9.]+(")', svg = svg.replace("\n", "\n " + "\n ".join(legend_svg) + "\n") assert svg.count("\n\n") == 0, "linie goală în SVG rupe blocul din markdown" -assert "sunt reale, din curs" in svg and "construcția mea" in svg, \ - "legenda nu spune explicit ce e real și ce e construit" +assert "reconstruite după ilustrația sumarului Q&A" in svg, \ + "legenda trebuie să spună că nivelurile sunt reconstruite după sumarul Q&A" +assert "nu valori rostite în" in svg, \ + "legenda trebuie să nege că nivelurile ar fi rostite în transcriere" +assert "construcția mea" in svg, \ + "legenda nu spune explicit ce e construit" +# defectul vechi: legenda pretindea că nivelurile ar fi „reale, din curs", +# deși vin din ilustrația sumarului, nu din transcriere. +assert "reale, din curs" not in svg, \ + "legenda veche pretindea că nivelurile sunt reale, din curs" # toate etichetele cerute de specificație sunt prezente for eticheta in ("pivot daily 622.00", "picior 1 = 622.40", diff --git a/gen/strategii/mdsrt_exemplu.spec.txt b/gen/strategii/mdsrt_exemplu.spec.txt index 732b05e..3f110da 100644 --- a/gen/strategii/mdsrt_exemplu.spec.txt +++ b/gen/strategii/mdsrt_exemplu.spec.txt @@ -4,18 +4,19 @@ LOC: strategii/07_mdsrt.md, Nivel 2, §2.5 „Exemplul complet, pas cu pas" MARCAJ .md: (imediat sub titlul 2.5) CE ARATĂ -Exemplul **real** din Q&A 15.07.2025: SPY pe 5 minute, double bottom cu al -doilea picior mai jos, „este MDSRT pă 5 minute", suportul fiind pivotul daily. +Sesiunea din Q&A 15.07.2025: SPY pe 5 minute, double bottom cu al doilea picior +mai jos, „este MDSRT pă 5 minute", suportul fiind pivotul daily. Downtrend → picior 1 la 622.40 → revenire → picior 2 la 621.40 (mai jos, rupe pivotul 622.00) → Buy Hammer care închide la 622.60, înapoi peste pivot. După trigger, un plan construit de mine (marcat) duce trade-ul până la TP1. Banda de jos = volum, cu higher low pe volum la piciorul 2 (divergență). SURSA CIFRELOR -- Nivelurile reale, citite din transcriere: swing low picior 1 = 622.40, - pivot daily = 622.00, picior 2 = 621.40, Buy Hammer închide 622.60; - 8 candele între picioare (minimul cerut 5): - `09_QA/24_2025-07-15.md:12-14, 26-29, 121-128`. +- Nivelurile picior 1 = 622.40, pivot daily = 622.00, picior 2 = 621.40, Buy + Hammer închide 622.60 și cele 8 candele între picioare (minimul cerut 5) sunt + **reconstruite după ilustrația sumarului Q&A** (`09_QA/24_2025-07-15.md`), + NU rostite în transcriere. Sumarul însuși declară prețurile „ale mele", + construite (`09_QA/24_2025-07-15.md:601-602`). - Context: „este MDSRT pă 5 minute", suportul = pivotul (`09_QA/24_2025-07-15.md:12-14`). - Divergență preț lower low / volum higher low: @@ -25,9 +26,9 @@ SURSA CIFRELOR `05_MODUL_4/02_strategia_5_mdsrt.md:325-327`). Regula de TP simetrică 1:1: `05_MODUL_4/02_strategia_5_mdsrt.md:322-324`. Stop sub low-ul piciorului 2: `09_QA/15_2025-10-14.md:140-145`. -- **Entry 622.60 / SL 621.30 / TP1 623.90 sunt construcția MEA** (marcate în +- **Entry 623.00 / SL 621.30 / TP1 624.70 sunt construcția MEA** (marcate în text ca atare), nu cifre din curs — le pun doar ca să existe un A-Z pe - nivelurile reale ale exemplului. + nivelurile reconstruite ale exemplului. STRUCTURA SERIEI (30 candele, open = close-ul barei anterioare) Lista de close-uri: @@ -36,7 +37,8 @@ Lista de close-uri: 622.40, # 10 = picior 1 (swing low 622.40) 622.70, 623.10, 623.50, 623.20, 622.90, 622.60, 622.30, 622.60, # 18 = picior 2: low 621.40, Buy Hammer care închide 622.60 - 623.00, 623.40, 623.90, # 21 = TP1 1:1 (construit) + 623.00, # 19 = entry: close care sparge high-ul hammer-ului (622.70) + 623.40, 623.90, 624.20, 624.00, 624.40, 624.80, 625.20, 625.60, 625.30, 625.70] Mecioni: @@ -56,12 +58,14 @@ NIVELURILE ȘI ETICHETELE - „picior 1 = 622.40" — linie albastră; Mark pe bara 10. - „picior 2 = 621.40 (mai jos) · Buy Hammer" — Mark pe bara 18. - „hammer închide 622.60, înapoi peste pivot" — etichetă pe bara 18. -- „intrare 622.60 (construit)" — Mark pe bara 18/19. +- „intrare 623.00 (construit)" — linie verde (Mark pe bara 19, close peste + high-ul hammer-ului). - „SL 621.30 (construit)" — linie roșie sub low-ul 621.40. -- „TP1 623.90 = 1:1 (construit)" — linie verde. -- Legendă jos: „nivelurile 622.40 / 622.00 / 621.40 / 622.60 și 8 candele sunt - reale, din curs; intrarea, SL-ul și TP-ul sunt construcția mea — materialul - nu le dă." +- „TP1 624.70 = 1:1 (construit)" — linie verde. +- Legendă jos: „nivelurile 622.40 / 622.00 / 621.40 / 622.60 și cele 8 candele + dintre picioare sunt reconstruite după ilustrația sumarului Q&A, nu valori + rostite în transcriere; intrarea, SL-ul și TP-ul sunt construcția mea — + materialul nu le dă." CE VERIFICĂ GENERATORUL CU assert 1. cds[10].l == 622.35 și cds[10].c == 622.40 (picior 1, swing low 622.40). @@ -72,13 +76,17 @@ CE VERIFICĂ GENERATORUL CU assert `09_QA/24_2025-07-15.md:128`; `09_QA/23_2025-07-29.md:869-874`). 5. Assert „hammer": (min(o,c) - l) = 622.30 - 621.40 = 0.90 > corpul (|o-c| = 0.30) — coadă lungă în jos, corp mic sus. -6. entry == 622.60 (close-ul trigger-ului, construit) și SL == 621.30 - (0.10 sub low-ul piciorului 2, construit); risk = 1.30. -7. abs((entry - sl) - (tp1 - entry)) < 1e-9 (623.90 − 622.60 = 1.30). -8. Primul close care atinge 623.90 e bara 21 (nu mai devreme). +6. cds[19].c == 623.00 > cds[18].h (close-ul candelei care sparge high-ul + hammer-ului, construit) și SL == 621.30 (0.10 sub low-ul piciorului 2, + construit); risk = 1.70. +7. abs((entry - sl) - (tp1 - entry)) < 1e-9 (624.70 − 623.00 = 1.70). +8. Primul high care atinge 624.70 e bara 25 (nu mai devreme; close-ul barei 21, + 623.90, rămâne sub țintă). 9. vol[18] > vol[10] (divergență), cu low[18] < low[10]. 10. Fiecare open == close-ul barei anterioare (serie continuă). -11. Legendă care spune explicit care cifre sunt reale și care sunt construite. +11. Legendă care spune explicit ce e reconstruit după ilustrația sumarului Q&A + și ce e construcția mea; fără afirmația (falsă) că nivelurile ar fi „reale, + din curs". STIL: gap=15, body_w=9, left=44, width=640, vol_h=70, scale lizibil pentru range-ul 621.40-627.00, MA(20) pe close-uri. Titlu: „SPY — 5 min (Q&A 15.07.2025; intrare/SL/TP construite)". Fără linie goală în SVG. diff --git a/gen/strategii/mdsrt_exemplu.svg b/gen/strategii/mdsrt_exemplu.svg index 83ab07e..8ab7176 100644 --- a/gen/strategii/mdsrt_exemplu.svg +++ b/gen/strategii/mdsrt_exemplu.svg @@ -1,4 +1,4 @@ - + SPY — 5 min (Q&A 15.07.2025; intrare/SL/TP construite) pivot daily 622.00 @@ -107,6 +107,7 @@ hammer închide 622.60, înapoi peste pivot intri aici: close peste high-ul hammer-ului (622.70) Legendă: nivelurile 622.40 / 622.00 / 621.40 / 622.60 și cele 8 candele dintre - picioare sunt reale, din curs. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70 - sunt construcția mea — materialul nu le dă. + picioare sunt reconstruite după ilustrația sumarului Q&A, nu valori rostite în + transcriere. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70 sunt construcția mea — + materialul nu le dă. \ No newline at end of file diff --git a/gen/strategii/selectia_rvol.py b/gen/strategii/selectia_rvol.py index 92ee850..38c30a0 100644 --- a/gen/strategii/selectia_rvol.py +++ b/gen/strategii/selectia_rvol.py @@ -168,7 +168,7 @@ p += panou("hig", PAN_AX, AZI_HIG, GREEN, "se tranzacționează dublu față de normal")) p += panou("ulta", PAN_BX, AZI_ULTA, RED, "azi = 0,61 × media → RVOL 0.61", - "sub jumătate față de o zi normală", + "61 % dintr-o zi normală", ("sub 100 % = minus, NU veto", "îl notezi, dar analiza continuă")) @@ -234,6 +234,17 @@ assert [b[3] for b in BARS["hig"][:-1]] == [b[3] for b in BARS["ulta"][:-1]] # 3. bara „azi" din HIG e chiar cea mai înaltă, iar cea din ULTA e sub medie assert BARS["hig"][-1][2] == max(b[2] for b in BARS["hig"]), "bara HIG nu e cea mai înaltă" assert BARS["ulta"][-1][2] < h_media_px, "bara ULTA nu e sub linia mediei" + +# 3c. eticheta de sub bara ULTA afirmă ce se vede în desen: 0,61 din medie = +# 61 % dintr-o zi normală, adică PESTE jumătate. Vechiul text „sub jumătate +# față de o zi normală" contrazicea bara desenată (61 % > 50 %) și pica. +_rvol_ulta = BARS["ulta"][-1][2] / h_media_px +assert round(_rvol_ulta * 100) == 61, \ + f"bara ULTA măsoară {_rvol_ulta * 100:.0f} % din medie, eticheta nu poate spune 61 %" +assert _rvol_ulta > 0.5, \ + f"bara ULTA e {_rvol_ulta:.2f} din medie, deci PESTE jumătate, nu sub ea" +assert "61 % dintr-o zi normală" in svg, "lipsește din desen procentul ULTA" +assert "jumătate" not in svg, 'a reapărut formularea greșită "sub jumătate"' # și barele nu ies din cadrul panoului for tag in ("hig", "ulta"): for cx, top, h, v in BARS[tag]: @@ -252,7 +263,7 @@ for tag in ("hig", "ulta"): f"{tag}: eticheta mediei cade peste o bară (valoare {v})" # 4. nicio cifră care nu e desenată sau care nu vine din material -PERMISE = {"2", "200", "100", "10", "50", "0.61", "0,61", "0.86", "1.03", "1.2", "16"} +PERMISE = {"2", "61", "200", "100", "10", "50", "0.61", "0,61", "0.86", "1.03", "1.2", "16"} for _x, _y, s, *_ in TEXTS: for n in re.findall(r"\d+(?:[.,]\d+)?", s): assert n in PERMISE, f"cifră fără acoperire în material: {n!r} în {s!r}" diff --git a/gen/strategii/selectia_rvol.spec.txt b/gen/strategii/selectia_rvol.spec.txt index 02d0cab..03afa31 100644 --- a/gen/strategii/selectia_rvol.spec.txt +++ b/gen/strategii/selectia_rvol.spec.txt @@ -12,7 +12,7 @@ COMPOZITIE: CIFRE (toate din capitol / material, niciuna inventata): - HIG: RVOL 200 %, cel mai mare din cele 16 rezultate ale scanerului din ziua aceea. -- ULTA: RVOL 0.61, sub jumatate fata de normal. +- ULTA: RVOL 0.61, adica 61 % din normal (putin peste jumatate). - scanerul real de Buy Doji: cele trei rezultate aveau 0.86, 1.03 si 0.61. - media e pe 10 bare; indicatorul standard din platforme o calculeaza pe 50. - pragul din sursa e doar „peste 100 %". NU se pune alt prag (nu exista diff --git a/gen/strategii/selectia_rvol.svg b/gen/strategii/selectia_rvol.svg index 6bb172a..299fd99 100644 --- a/gen/strategii/selectia_rvol.svg +++ b/gen/strategii/selectia_rvol.svg @@ -48,7 +48,7 @@ se tranzacționează dublu față de normal media = 100 % azi = 0,61 × media → RVOL 0.61 -sub jumătate față de o zi normală +61 % dintr-o zi normală ultimele 10 bare de volum azi sub 100 % = minus, NU veto diff --git a/summaries/17_STRATEGII/04_selectia.html b/summaries/17_STRATEGII/04_selectia.html index 13585a7..95714c4 100644 --- a/summaries/17_STRATEGII/04_selectia.html +++ b/summaries/17_STRATEGII/04_selectia.html @@ -946,7 +946,7 @@ calcul.

se tranzacționează dublu față de normal media = 100 % azi = 0,61 × media → RVOL 0.61 -sub jumătate față de o zi normală +61 % dintr-o zi normală ultimele 10 bare de volum azi sub 100 % = minus, NU veto diff --git a/summaries/17_STRATEGII/04_selectia.md b/summaries/17_STRATEGII/04_selectia.md index d9246d3..c4ab6b5 100644 --- a/summaries/17_STRATEGII/04_selectia.md +++ b/summaries/17_STRATEGII/04_selectia.md @@ -969,7 +969,7 @@ calcul. se tranzacționează dublu față de normal media = 100 % azi = 0,61 × media → RVOL 0.61 -sub jumătate față de o zi normală +61 % dintr-o zi normală ultimele 10 bare de volum azi sub 100 % = minus, NU veto diff --git a/summaries/17_STRATEGII/05_atmi.html b/summaries/17_STRATEGII/05_atmi.html index 8abafa7..e9b826f 100644 --- a/summaries/17_STRATEGII/05_atmi.html +++ b/summaries/17_STRATEGII/05_atmi.html @@ -440,7 +440,7 @@ târziu, la ETF-urile cu levier.

C 96.20 swing high 100.00 corecție 4,0 % — prețul intră în zona PPQ: treci la pasul 2 - Cifrele PPQ/SQ sunt completarea mea: cursul dă regula, nu valorile. Formula e cea standard, confirmată în material pentru pivoți. + Completare proprie: PPQ/SQ calculate din serie; cursul dă regula, nu valorile. Formula standard, confirmată în material.

@@ -931,7 +931,7 @@ două săptămâni.

-20 %: nimic nu te scoate abia aici ești pe zero TP - Cifra de 20-30 % pe poziție fără levier e a cursului; traseul barelor e construit de mine, ca să se vadă cât durează. + Cifra de 20-30 % pe poziție fără levier e a cursului; Completare proprie: traseul barelor, ca să se vadă cât durează.

@@ -1006,7 +1006,7 @@ depozite cu scadențe diferite.

Ai pus în total 1.800 $, în trei contribuții egale. Cu reinvestire integrală: 2.184,60 $ · dacă lași profitul deoparte: 1.980 $ · diferența: 204,60 $ - Cifrele astea sunt calculul meu pe trei cicluri, nu backtest-ul cursului. + Completare proprie: cifrele astea sunt calculate pe trei cicluri, nu backtest-ul cursului.

@@ -1235,8 +1235,8 @@ vezi 00_harta.md.

TP1 trigger-ul (BIM + candela verde daily) se petrece în interiorul lunii de intrare — vezi diagrama pasului 4 după TP: capital + profit → cash până la următorul trigger valid - TP1 atins 13 luni mai târziu — „aproximativ un an" în material (ziua exactă e neclară în transcriere) - Grafic lunar, ca să încapă orizontul poziției. Swing high-ul e al meu; intrarea și ținta sunt din material. + TP1: 13 candele lunare în desen; materialul spune „aproximativ un an" (ziua exactă e neclară în transcriere) + Grafic lunar, ca să încapă orizontul poziției. Completare proprie: swing high-ul; restul e din material.

diff --git a/summaries/17_STRATEGII/05_atmi.md b/summaries/17_STRATEGII/05_atmi.md index d966b70..607c072 100644 --- a/summaries/17_STRATEGII/05_atmi.md +++ b/summaries/17_STRATEGII/05_atmi.md @@ -425,7 +425,7 @@ Nivelurile se calculează o dată la trei luni și rămân fixe pe tot trimestru C 96.20 swing high 100.00 corecție 4,0 % — prețul intră în zona PPQ: treci la pasul 2 - Cifrele PPQ/SQ sunt completarea mea: cursul dă regula, nu valorile. Formula e cea standard, confirmată în material pentru pivoți. + Completare proprie: PPQ/SQ calculate din serie; cursul dă regula, nu valorile. Formula standard, confirmată în material. @@ -942,7 +942,7 @@ Prețul îl plătești în drum: -20 %: nimic nu te scoate abia aici ești pe zero TP - Cifra de 20-30 % pe poziție fără levier e a cursului; traseul barelor e construit de mine, ca să se vadă cât durează. + Cifra de 20-30 % pe poziție fără levier e a cursului; Completare proprie: traseul barelor, ca să se vadă cât durează. @@ -1025,7 +1025,7 @@ Partea care produce rezultatul nu e ținta, e ce faci cu banii după: Ai pus în total 1.800 $, în trei contribuții egale. Cu reinvestire integrală: 2.184,60 $ · dacă lași profitul deoparte: 1.980 $ · diferența: 204,60 $ - Cifrele astea sunt calculul meu pe trei cicluri, nu backtest-ul cursului. + Completare proprie: cifrele astea sunt calculate pe trei cicluri, nu backtest-ul cursului. @@ -1204,8 +1204,8 @@ Singurul trade cu cifre din curs: intrare pe **27 ianuarie 2005 la 117.43**, TP1 trigger-ul (BIM + candela verde daily) se petrece în interiorul lunii de intrare — vezi diagrama pasului 4 după TP: capital + profit → cash până la următorul trigger valid - TP1 atins 13 luni mai târziu — „aproximativ un an" în material (ziua exactă e neclară în transcriere) - Grafic lunar, ca să încapă orizontul poziției. Swing high-ul e al meu; intrarea și ținta sunt din material. + TP1: 13 candele lunare în desen; materialul spune „aproximativ un an" (ziua exactă e neclară în transcriere) + Grafic lunar, ca să încapă orizontul poziției. Completare proprie: swing high-ul; restul e din material. diff --git a/summaries/17_STRATEGII/06_hammer_mbt10.html b/summaries/17_STRATEGII/06_hammer_mbt10.html index d624c80..1730059 100644 --- a/summaries/17_STRATEGII/06_hammer_mbt10.html +++ b/summaries/17_STRATEGII/06_hammer_mbt10.html @@ -1661,10 +1661,10 @@ că MBT-10 nu are o țintă proprie.

volum - ieși la 95.20 (+2.04R): + 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.04R, în 7 bare. Cifrele trade-ului sunt din exemplul construit al materialului.

+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.

Asta e o gaură reală în material, nu o simplificare a mea: fișierul principal diff --git a/summaries/17_STRATEGII/06_hammer_mbt10.md b/summaries/17_STRATEGII/06_hammer_mbt10.md index e558eb7..9793ddb 100644 --- a/summaries/17_STRATEGII/06_hammer_mbt10.md +++ b/summaries/17_STRATEGII/06_hammer_mbt10.md @@ -1710,10 +1710,10 @@ că MBT-10 nu are o țintă proprie.** volum - ieși la 95.20 (+2.04R): + 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.04R, în 7 bare. Cifrele trade-ului sunt din exemplul construit al materialului. +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. Asta e o gaură reală în material, nu o simplificare a mea: fișierul principal diff --git a/summaries/17_STRATEGII/07_mdsrt.html b/summaries/17_STRATEGII/07_mdsrt.html index 17a9fb8..effa1be 100644 --- a/summaries/17_STRATEGII/07_mdsrt.html +++ b/summaries/17_STRATEGII/07_mdsrt.html @@ -1402,7 +1402,7 @@ dintre cele două.

Sesiunea de întrebări discută SPY pe 5 minute, dar nu rostește nivelurile din desen. Exemplul de mai jos e reconstruit, ca toate celelalte.

-

+

SPY — 5 min (Q&A 15.07.2025; intrare/SL/TP construite) pivot daily 622.00 @@ -1511,8 +1511,9 @@ desen. Exemplul de mai jos e reconstruit, ca toate celelalte.

hammer închide 622.60, înapoi peste pivot intri aici: close peste high-ul hammer-ului (622.70) Legendă: nivelurile 622.40 / 622.00 / 621.40 / 622.60 și cele 8 candele dintre - picioare sunt reale, din curs. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70 - sunt construcția mea — materialul nu le dă. + picioare sunt reconstruite după ilustrația sumarului Q&A, nu valori rostite în + transcriere. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70 sunt construcția mea — + materialul nu le dă.

diff --git a/summaries/17_STRATEGII/07_mdsrt.md b/summaries/17_STRATEGII/07_mdsrt.md index 5f57d37..77408fc 100644 --- a/summaries/17_STRATEGII/07_mdsrt.md +++ b/summaries/17_STRATEGII/07_mdsrt.md @@ -1412,7 +1412,7 @@ Sesiunea de întrebări discută SPY pe 5 minute, dar nu rostește nivelurile di desen. Exemplul de mai jos e reconstruit, ca toate celelalte. - + SPY — 5 min (Q&A 15.07.2025; intrare/SL/TP construite) pivot daily 622.00 @@ -1521,8 +1521,9 @@ desen. Exemplul de mai jos e reconstruit, ca toate celelalte. hammer închide 622.60, înapoi peste pivot intri aici: close peste high-ul hammer-ului (622.70) Legendă: nivelurile 622.40 / 622.00 / 621.40 / 622.60 și cele 8 candele dintre - picioare sunt reale, din curs. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70 - sunt construcția mea — materialul nu le dă. + picioare sunt reconstruite după ilustrația sumarului Q&A, nu valori rostite în + transcriere. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70 sunt construcția mea — + materialul nu le dă.