diagrame: ultimele patru etichete ramase in urma textului corectat
selectia_rvol: 'sub jumatate fata de normal' pentru 0,61 -> '61 % dintr-o zi normala'. mdsrt_exemplu: legenda spunea ca nivelurile SPY sunt 'reale, din curs'; sunt reconstruite dupa ilustratia unui sumar Q&A. mbt_iesire: 2.04R -> 2,0R, cifra sursei, prin rotunjire la afisare, fara sa se atinga nicio serie; assert-ul verifica acum textul din SVG-ul randat, nu doar valoarea bruta. atmi_exemplu: '13 luni mai tarziu' era citit ca fapt al materialului - acum spune ca 13 e cifra desenului, materialul da 'aproximativ un an'; si cele patru marcaje de completare din desenele atmi sunt uniformizate. Plus cei trei agenti opencode scrisi pentru rundele astea: verif_strat, corector_strat, reparator_grafic. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
63
.opencode/agents/corector_strat.md
Normal file
@@ -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 '<linii>p' <fișier>`. 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 `<svg>` din capitol, sau vreun generator. Dacă o
|
||||
reparație ar cere alt desen, **lasă desenul neatins** și scrie în raport
|
||||
„cere diagramă nouă: <cheia>, 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 "<cifra veche>" summaries/17_STRATEGII/<capitol>.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ă.
|
||||
62
.opencode/agents/reparator_grafic.md
Normal file
@@ -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 (`<cheie>`) și defectul, găsit de un verificator.
|
||||
|
||||
**Fișierele tale, singurele pe care le atingi:**
|
||||
`gen/strategii/<cheie>.py` și `gen/strategii/<cheie>.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/<cheie>.py`.
|
||||
6. Verifică: `python3 audit_diagrams.py gen/strategii/<cheie>.svg`. **Atenție:**
|
||||
unealta dă fals-pozitive pe diagramele cu `<g transform="translate(...)">`
|
||||
— 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`.
|
||||
102
.opencode/agents/verif_strat.md
Normal file
@@ -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 '/<svg/{s=1} {print (s?"":$0)} /<\/svg>/{s=0}' \
|
||||
summaries/17_STRATEGII/<capitol>.md > /tmp/verif/<capitol>.md
|
||||
wc -l summaries/17_STRATEGII/<capitol>.md /tmp/verif/<capitol>.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 '<linii>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/.../<fișier>.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/<cheie>.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ă: `<capitol>:<linie>` — 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.
|
||||
@@ -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()
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -106,6 +106,6 @@
|
||||
<text x="490.0" y="87.1" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP1</text>
|
||||
<text x="24" y="309.1" fill="#188a3e">trigger-ul (BIM + candela verde daily) se petrece în interiorul lunii de intrare — vezi diagrama pasului 4</text>
|
||||
<text x="24" y="326.1" fill="#188a3e">după TP: capital + profit → cash până la următorul trigger valid</text>
|
||||
<text x="24" y="343.1" fill="#188a3e">TP1 atins 13 luni mai târziu — „aproximativ un an" în material (ziua exactă e neclară în transcriere)</text>
|
||||
<text x="24" y="368" fill="#555">Grafic lunar, ca să încapă orizontul poziției. Swing high-ul e al meu; intrarea și ținta sunt din material.</text>
|
||||
<text x="24" y="343.1" fill="#188a3e">TP1: 13 candele lunare în desen; materialul spune „aproximativ un an" (ziua exactă e neclară în transcriere)</text>
|
||||
<text x="24" y="368" fill="#555">Grafic lunar, ca să încapă orizontul poziției. Completare proprie: swing high-ul; restul e din material.</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
@@ -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ă
|
||||
|
||||
@@ -121,5 +121,5 @@
|
||||
<text x="388.0" y="140.9" fill="#333" text-anchor="middle" style="font-weight:bold">C 96.20</text>
|
||||
<text x="484.0" y="124.4" fill="#c00" text-anchor="middle" style="font-weight:bold">swing high 100.00</text>
|
||||
<text x="532.0" y="225.5" fill="#7b2fbf" text-anchor="middle" style="font-weight:bold">corecție 4,0 % — prețul intră în zona PPQ: treci la pasul 2</text>
|
||||
<text x="24" y="389" fill="#555">Cifrele PPQ/SQ sunt completarea mea: cursul dă regula, nu valorile. Formula e cea standard, confirmată în material pentru pivoți.</text>
|
||||
<text x="24" y="389" fill="#555">Completare proprie: PPQ/SQ calculate din serie; cursul dă regula, nu valorile. Formula standard, confirmată în material.</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
@@ -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
|
||||
|
||||
@@ -34,5 +34,5 @@
|
||||
<rect x="24" y="326" width="652" height="56" fill="#f6f6f9" stroke="#ccc"/>
|
||||
<text x="34.0" y="342.0" fill="#333" style="font-size:11px;font-weight:bold">Ai pus în total 1.800 $, în trei contribuții egale.</text>
|
||||
<text x="34.0" y="359.0" fill="#333" style="font-size:11px">Cu reinvestire integrală: 2.184,60 $ · dacă lași profitul deoparte: 1.980 $ · diferența: 204,60 $</text>
|
||||
<text x="34.0" y="376.0" fill="#777" style="font-size:10px">Cifrele astea sunt calculul meu pe trei cicluri, nu backtest-ul cursului.</text>
|
||||
<text x="34.0" y="376.0" fill="#777" style="font-size:10px">Completare proprie: cifrele astea sunt calculate pe trei cicluri, nu backtest-ul cursului.</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
@@ -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 = ('<text x="24" y="24" fill="#333" style="font-weight:bold">'
|
||||
|
||||
@@ -122,5 +122,5 @@
|
||||
<text x="328.0" y="327.3" fill="#c00" text-anchor="middle" style="font-weight:bold">-20 %: nimic nu te scoate</text>
|
||||
<text x="488.0" y="171.8" fill="#777" text-anchor="middle" style="font-weight:bold">abia aici ești pe zero</text>
|
||||
<text x="600.0" y="180.1" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP</text>
|
||||
<text x="24" y="429" fill="#555">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ă.</text>
|
||||
<text x="24" y="429" fill="#555">Cifra de 20-30 % pe poziție fără levier e a cursului; Completare proprie: traseul barelor, ca să se vadă cât durează.</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
@@ -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("</svg>", "".join(
|
||||
f'<text x="24" y="{H + 10 + 16 * i}" fill="{c}">{t}</text>'
|
||||
for i, (t, c) in enumerate(linii)) + "</svg>")
|
||||
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")
|
||||
|
||||
@@ -95,7 +95,7 @@
|
||||
<text x="24" y="453.5" fill="#555">volum</text>
|
||||
<line x1="296.0" y1="382.5" x2="491.1" y2="131.9" stroke="#1a5fb4" stroke-width="1.8"/>
|
||||
<polygon points="496.0,125.6 494.2,134.4 487.9,129.5" fill="#1a5fb4"/>
|
||||
<text x="296.0" y="396.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">ieși la 95.20 (+2.04R):</text>
|
||||
<text x="296.0" y="396.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">ieși la 95.20 (+2.0R):</text>
|
||||
<text x="296.0" y="410.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">prima structură care a oprit</text>
|
||||
<text x="296.0" y="424.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">prețul ultima dată</text>
|
||||
<text x="24" y="555" fill="#333">Materialul nu dă o regulă proprie de take-profit la MBT-10. Ce au în comun toate exemplele lui e că</text><text x="24" y="571" fill="#333">ținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau închiderea unui gap.</text><text x="24" y="587" fill="#555">Aici: 89.90 → 95.20 = 2.04R, în 7 bare. Cifrele trade-ului sunt din exemplul construit al materialului.</text></svg>
|
||||
<text x="24" y="555" fill="#333">Materialul nu dă o regulă proprie de take-profit la MBT-10. Ce au în comun toate exemplele lui e că</text><text x="24" y="571" fill="#333">ținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau închiderea unui gap.</text><text x="24" y="587" fill="#555">Aici: 89.90 → 95.20 = 2.0R, în 7 bare. Cifrele trade-ului sunt din exemplul construit al materialului.</text></svg>
|
||||
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
@@ -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</svg>", "\n " + "\n ".join(legend_svg) + "\n</svg>")
|
||||
|
||||
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",
|
||||
|
||||
@@ -4,18 +4,19 @@ LOC: strategii/07_mdsrt.md, Nivel 2, §2.5 „Exemplul complet, pas cu pas"
|
||||
MARCAJ .md: <!-- DIAGRAMA: exemplu --> (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.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<svg viewBox="0 0 640 603" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
|
||||
<svg viewBox="0 0 640 620" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
|
||||
<text x="24" y="48" fill="#333" style="font-weight:bold">SPY — 5 min (Q&A 15.07.2025; intrare/SL/TP construite)</text>
|
||||
<line x1="24" y1="373.4" x2="626" y2="373.4" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="30" y="367.4" fill="#b06000">pivot daily 622.00</text>
|
||||
@@ -107,6 +107,7 @@
|
||||
<text x="314.0" y="278.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">hammer închide 622.60, înapoi peste pivot</text>
|
||||
<text x="329.0" y="232.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">intri aici: close peste high-ul hammer-ului (622.70)</text>
|
||||
<text x="24" y="555.0" fill="#555">Legendă: nivelurile 622.40 / 622.00 / 621.40 / 622.60 și cele 8 candele dintre</text>
|
||||
<text x="24" y="572.0" fill="#555">picioare sunt reale, din curs. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70</text>
|
||||
<text x="24" y="589.0" fill="#555">sunt construcția mea — materialul nu le dă.</text>
|
||||
<text x="24" y="572.0" fill="#555">picioare sunt reconstruite după ilustrația sumarului Q&A, nu valori rostite în</text>
|
||||
<text x="24" y="589.0" fill="#555">transcriere. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70 sunt construcția mea —</text>
|
||||
<text x="24" y="606.0" fill="#555">materialul nu le dă.</text>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.3 KiB |
@@ -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}"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
<text x="182.0" y="498.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">se tranzacționează dublu față de normal</text>
|
||||
<text x="382.0" y="340.0" font-size="13" font-weight="bold" fill="#b06000" text-anchor="start">media = 100 %</text>
|
||||
<text x="518.0" y="152.0" font-size="15" font-weight="bold" fill="#c00" text-anchor="middle">azi = 0,61 × media → RVOL 0.61</text>
|
||||
<text x="518.0" y="172.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">sub jumătate față de o zi normală</text>
|
||||
<text x="518.0" y="172.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">61 % dintr-o zi normală</text>
|
||||
<text x="497.3" y="450.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">ultimele 10 bare de volum</text>
|
||||
<text x="647.1" y="450.0" font-size="13" font-weight="bold" fill="#c00" text-anchor="middle">azi</text>
|
||||
<text x="518.0" y="478.0" font-size="13" font-weight="bold" fill="#c00" text-anchor="middle">sub 100 % = minus, NU veto</text>
|
||||
|
||||
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
@@ -946,7 +946,7 @@ calcul.</p>
|
||||
<text x="182.0" y="498.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">se tranzacționează dublu față de normal</text>
|
||||
<text x="382.0" y="340.0" font-size="13" font-weight="bold" fill="#b06000" text-anchor="start">media = 100 %</text>
|
||||
<text x="518.0" y="152.0" font-size="15" font-weight="bold" fill="#c00" text-anchor="middle">azi = 0,61 × media → RVOL 0.61</text>
|
||||
<text x="518.0" y="172.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">sub jumătate față de o zi normală</text>
|
||||
<text x="518.0" y="172.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">61 % dintr-o zi normală</text>
|
||||
<text x="497.3" y="450.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">ultimele 10 bare de volum</text>
|
||||
<text x="647.1" y="450.0" font-size="13" font-weight="bold" fill="#c00" text-anchor="middle">azi</text>
|
||||
<text x="518.0" y="478.0" font-size="13" font-weight="bold" fill="#c00" text-anchor="middle">sub 100 % = minus, NU veto</text>
|
||||
|
||||
@@ -969,7 +969,7 @@ calcul.
|
||||
<text x="182.0" y="498.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">se tranzacționează dublu față de normal</text>
|
||||
<text x="382.0" y="340.0" font-size="13" font-weight="bold" fill="#b06000" text-anchor="start">media = 100 %</text>
|
||||
<text x="518.0" y="152.0" font-size="15" font-weight="bold" fill="#c00" text-anchor="middle">azi = 0,61 × media → RVOL 0.61</text>
|
||||
<text x="518.0" y="172.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">sub jumătate față de o zi normală</text>
|
||||
<text x="518.0" y="172.0" font-size="13" font-weight="normal" fill="#000000" text-anchor="middle">61 % dintr-o zi normală</text>
|
||||
<text x="497.3" y="450.0" font-size="13" font-weight="normal" fill="#777777" text-anchor="middle">ultimele 10 bare de volum</text>
|
||||
<text x="647.1" y="450.0" font-size="13" font-weight="bold" fill="#c00" text-anchor="middle">azi</text>
|
||||
<text x="518.0" y="478.0" font-size="13" font-weight="bold" fill="#c00" text-anchor="middle">sub 100 % = minus, NU veto</text>
|
||||
|
||||
@@ -440,7 +440,7 @@ târziu, la ETF-urile cu levier.</p>
|
||||
<text x="388.0" y="140.9" fill="#333" text-anchor="middle" style="font-weight:bold">C 96.20</text>
|
||||
<text x="484.0" y="124.4" fill="#c00" text-anchor="middle" style="font-weight:bold">swing high 100.00</text>
|
||||
<text x="532.0" y="225.5" fill="#7b2fbf" text-anchor="middle" style="font-weight:bold">corecție 4,0 % — prețul intră în zona PPQ: treci la pasul 2</text>
|
||||
<text x="24" y="389" fill="#555">Cifrele PPQ/SQ sunt completarea mea: cursul dă regula, nu valorile. Formula e cea standard, confirmată în material pentru pivoți.</text>
|
||||
<text x="24" y="389" fill="#555">Completare proprie: PPQ/SQ calculate din serie; cursul dă regula, nu valorile. Formula standard, confirmată în material.</text>
|
||||
</svg></p>
|
||||
<!-- /DIAGRAMA: pivoti -->
|
||||
|
||||
@@ -931,7 +931,7 @@ două săptămâni.</p>
|
||||
<text x="328.0" y="327.3" fill="#c00" text-anchor="middle" style="font-weight:bold">-20 %: nimic nu te scoate</text>
|
||||
<text x="488.0" y="171.8" fill="#777" text-anchor="middle" style="font-weight:bold">abia aici ești pe zero</text>
|
||||
<text x="600.0" y="180.1" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP</text>
|
||||
<text x="24" y="429" fill="#555">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ă.</text>
|
||||
<text x="24" y="429" fill="#555">Cifra de 20-30 % pe poziție fără levier e a cursului; Completare proprie: traseul barelor, ca să se vadă cât durează.</text>
|
||||
</svg></p>
|
||||
<!-- /DIAGRAMA: risc -->
|
||||
|
||||
@@ -1006,7 +1006,7 @@ depozite cu scadențe diferite.</p>
|
||||
<rect x="24" y="326" width="652" height="56" fill="#f6f6f9" stroke="#ccc"/>
|
||||
<text x="34.0" y="342.0" fill="#333" style="font-size:11px;font-weight:bold">Ai pus în total 1.800 $, în trei contribuții egale.</text>
|
||||
<text x="34.0" y="359.0" fill="#333" style="font-size:11px">Cu reinvestire integrală: 2.184,60 $ · dacă lași profitul deoparte: 1.980 $ · diferența: 204,60 $</text>
|
||||
<text x="34.0" y="376.0" fill="#777" style="font-size:10px">Cifrele astea sunt calculul meu pe trei cicluri, nu backtest-ul cursului.</text>
|
||||
<text x="34.0" y="376.0" fill="#777" style="font-size:10px">Completare proprie: cifrele astea sunt calculate pe trei cicluri, nu backtest-ul cursului.</text>
|
||||
</svg></p>
|
||||
<!-- /DIAGRAMA: reinvestire -->
|
||||
|
||||
@@ -1235,8 +1235,8 @@ vezi <a href="00_harta.html"><code>00_harta.md</code></a>.</p>
|
||||
<text x="490.0" y="87.1" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP1</text>
|
||||
<text x="24" y="309.1" fill="#188a3e">trigger-ul (BIM + candela verde daily) se petrece în interiorul lunii de intrare — vezi diagrama pasului 4</text>
|
||||
<text x="24" y="326.1" fill="#188a3e">după TP: capital + profit → cash până la următorul trigger valid</text>
|
||||
<text x="24" y="343.1" fill="#188a3e">TP1 atins 13 luni mai târziu — „aproximativ un an" în material (ziua exactă e neclară în transcriere)</text>
|
||||
<text x="24" y="368" fill="#555">Grafic lunar, ca să încapă orizontul poziției. Swing high-ul e al meu; intrarea și ținta sunt din material.</text>
|
||||
<text x="24" y="343.1" fill="#188a3e">TP1: 13 candele lunare în desen; materialul spune „aproximativ un an" (ziua exactă e neclară în transcriere)</text>
|
||||
<text x="24" y="368" fill="#555">Grafic lunar, ca să încapă orizontul poziției. Completare proprie: swing high-ul; restul e din material.</text>
|
||||
</svg></p>
|
||||
<!-- /DIAGRAMA: exemplu -->
|
||||
|
||||
|
||||
@@ -425,7 +425,7 @@ Nivelurile se calculează o dată la trei luni și rămân fixe pe tot trimestru
|
||||
<text x="388.0" y="140.9" fill="#333" text-anchor="middle" style="font-weight:bold">C 96.20</text>
|
||||
<text x="484.0" y="124.4" fill="#c00" text-anchor="middle" style="font-weight:bold">swing high 100.00</text>
|
||||
<text x="532.0" y="225.5" fill="#7b2fbf" text-anchor="middle" style="font-weight:bold">corecție 4,0 % — prețul intră în zona PPQ: treci la pasul 2</text>
|
||||
<text x="24" y="389" fill="#555">Cifrele PPQ/SQ sunt completarea mea: cursul dă regula, nu valorile. Formula e cea standard, confirmată în material pentru pivoți.</text>
|
||||
<text x="24" y="389" fill="#555">Completare proprie: PPQ/SQ calculate din serie; cursul dă regula, nu valorile. Formula standard, confirmată în material.</text>
|
||||
</svg>
|
||||
<!-- /DIAGRAMA: pivoti -->
|
||||
|
||||
@@ -942,7 +942,7 @@ Prețul îl plătești în drum:
|
||||
<text x="328.0" y="327.3" fill="#c00" text-anchor="middle" style="font-weight:bold">-20 %: nimic nu te scoate</text>
|
||||
<text x="488.0" y="171.8" fill="#777" text-anchor="middle" style="font-weight:bold">abia aici ești pe zero</text>
|
||||
<text x="600.0" y="180.1" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP</text>
|
||||
<text x="24" y="429" fill="#555">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ă.</text>
|
||||
<text x="24" y="429" fill="#555">Cifra de 20-30 % pe poziție fără levier e a cursului; Completare proprie: traseul barelor, ca să se vadă cât durează.</text>
|
||||
</svg>
|
||||
<!-- /DIAGRAMA: risc -->
|
||||
|
||||
@@ -1025,7 +1025,7 @@ Partea care produce rezultatul nu e ținta, e ce faci cu banii după:
|
||||
<rect x="24" y="326" width="652" height="56" fill="#f6f6f9" stroke="#ccc"/>
|
||||
<text x="34.0" y="342.0" fill="#333" style="font-size:11px;font-weight:bold">Ai pus în total 1.800 $, în trei contribuții egale.</text>
|
||||
<text x="34.0" y="359.0" fill="#333" style="font-size:11px">Cu reinvestire integrală: 2.184,60 $ · dacă lași profitul deoparte: 1.980 $ · diferența: 204,60 $</text>
|
||||
<text x="34.0" y="376.0" fill="#777" style="font-size:10px">Cifrele astea sunt calculul meu pe trei cicluri, nu backtest-ul cursului.</text>
|
||||
<text x="34.0" y="376.0" fill="#777" style="font-size:10px">Completare proprie: cifrele astea sunt calculate pe trei cicluri, nu backtest-ul cursului.</text>
|
||||
</svg>
|
||||
<!-- /DIAGRAMA: reinvestire -->
|
||||
|
||||
@@ -1204,8 +1204,8 @@ Singurul trade cu cifre din curs: intrare pe **27 ianuarie 2005 la 117.43**,
|
||||
<text x="490.0" y="87.1" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">TP1</text>
|
||||
<text x="24" y="309.1" fill="#188a3e">trigger-ul (BIM + candela verde daily) se petrece în interiorul lunii de intrare — vezi diagrama pasului 4</text>
|
||||
<text x="24" y="326.1" fill="#188a3e">după TP: capital + profit → cash până la următorul trigger valid</text>
|
||||
<text x="24" y="343.1" fill="#188a3e">TP1 atins 13 luni mai târziu — „aproximativ un an" în material (ziua exactă e neclară în transcriere)</text>
|
||||
<text x="24" y="368" fill="#555">Grafic lunar, ca să încapă orizontul poziției. Swing high-ul e al meu; intrarea și ținta sunt din material.</text>
|
||||
<text x="24" y="343.1" fill="#188a3e">TP1: 13 candele lunare în desen; materialul spune „aproximativ un an" (ziua exactă e neclară în transcriere)</text>
|
||||
<text x="24" y="368" fill="#555">Grafic lunar, ca să încapă orizontul poziției. Completare proprie: swing high-ul; restul e din material.</text>
|
||||
</svg>
|
||||
<!-- /DIAGRAMA: exemplu -->
|
||||
|
||||
|
||||
@@ -1661,10 +1661,10 @@ că MBT-10 nu are o țintă proprie.</strong></p>
|
||||
<text x="24" y="453.5" fill="#555">volum</text>
|
||||
<line x1="296.0" y1="382.5" x2="491.1" y2="131.9" stroke="#1a5fb4" stroke-width="1.8"/>
|
||||
<polygon points="496.0,125.6 494.2,134.4 487.9,129.5" fill="#1a5fb4"/>
|
||||
<text x="296.0" y="396.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">ieși la 95.20 (+2.04R):</text>
|
||||
<text x="296.0" y="396.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">ieși la 95.20 (+2.0R):</text>
|
||||
<text x="296.0" y="410.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">prima structură care a oprit</text>
|
||||
<text x="296.0" y="424.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">prețul ultima dată</text>
|
||||
<text x="24" y="555" fill="#333">Materialul nu dă o regulă proprie de take-profit la MBT-10. Ce au în comun toate exemplele lui e că</text><text x="24" y="571" fill="#333">ținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau închiderea unui gap.</text><text x="24" y="587" fill="#555">Aici: 89.90 → 95.20 = 2.04R, în 7 bare. Cifrele trade-ului sunt din exemplul construit al materialului.</text></svg></p>
|
||||
<text x="24" y="555" fill="#333">Materialul nu dă o regulă proprie de take-profit la MBT-10. Ce au în comun toate exemplele lui e că</text><text x="24" y="571" fill="#333">ținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau închiderea unui gap.</text><text x="24" y="587" fill="#555">Aici: 89.90 → 95.20 = 2.0R, în 7 bare. Cifrele trade-ului sunt din exemplul construit al materialului.</text></svg></p>
|
||||
<!-- /DIAGRAMA: mbt_iesire -->
|
||||
|
||||
<p>Asta e o gaură reală în material, nu o simplificare a mea: fișierul principal
|
||||
|
||||
@@ -1710,10 +1710,10 @@ că MBT-10 nu are o țintă proprie.**
|
||||
<text x="24" y="453.5" fill="#555">volum</text>
|
||||
<line x1="296.0" y1="382.5" x2="491.1" y2="131.9" stroke="#1a5fb4" stroke-width="1.8"/>
|
||||
<polygon points="496.0,125.6 494.2,134.4 487.9,129.5" fill="#1a5fb4"/>
|
||||
<text x="296.0" y="396.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">ieși la 95.20 (+2.04R):</text>
|
||||
<text x="296.0" y="396.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">ieși la 95.20 (+2.0R):</text>
|
||||
<text x="296.0" y="410.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">prima structură care a oprit</text>
|
||||
<text x="296.0" y="424.5" fill="#1a5fb4" text-anchor="middle" style="font-weight:bold">prețul ultima dată</text>
|
||||
<text x="24" y="555" fill="#333">Materialul nu dă o regulă proprie de take-profit la MBT-10. Ce au în comun toate exemplele lui e că</text><text x="24" y="571" fill="#333">ținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau închiderea unui gap.</text><text x="24" y="587" fill="#555">Aici: 89.90 → 95.20 = 2.04R, în 7 bare. Cifrele trade-ului sunt din exemplul construit al materialului.</text></svg>
|
||||
<text x="24" y="555" fill="#333">Materialul nu dă o regulă proprie de take-profit la MBT-10. Ce au în comun toate exemplele lui e că</text><text x="24" y="571" fill="#333">ținta e o structură vizibilă în stânga: un vârf anterior, ultimul maxim mai jos, sau închiderea unui gap.</text><text x="24" y="587" fill="#555">Aici: 89.90 → 95.20 = 2.0R, în 7 bare. Cifrele trade-ului sunt din exemplul construit al materialului.</text></svg>
|
||||
<!-- /DIAGRAMA: mbt_iesire -->
|
||||
|
||||
Asta e o gaură reală în material, nu o simplificare a mea: fișierul principal
|
||||
|
||||
@@ -1402,7 +1402,7 @@ dintre cele două.</p>
|
||||
<p>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.</p>
|
||||
<!-- DIAGRAMA: exemplu -->
|
||||
<p><svg viewBox="0 0 640 603" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
|
||||
<p><svg viewBox="0 0 640 620" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
|
||||
<text x="24" y="48" fill="#333" style="font-weight:bold">SPY — 5 min (Q&A 15.07.2025; intrare/SL/TP construite)</text>
|
||||
<line x1="24" y1="373.4" x2="626" y2="373.4" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="30" y="367.4" fill="#b06000">pivot daily 622.00</text>
|
||||
@@ -1511,8 +1511,9 @@ desen. Exemplul de mai jos e reconstruit, ca toate celelalte.</p>
|
||||
<text x="314.0" y="278.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">hammer închide 622.60, înapoi peste pivot</text>
|
||||
<text x="329.0" y="232.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">intri aici: close peste high-ul hammer-ului (622.70)</text>
|
||||
<text x="24" y="555.0" fill="#555">Legendă: nivelurile 622.40 / 622.00 / 621.40 / 622.60 și cele 8 candele dintre</text>
|
||||
<text x="24" y="572.0" fill="#555">picioare sunt reale, din curs. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70</text>
|
||||
<text x="24" y="589.0" fill="#555">sunt construcția mea — materialul nu le dă.</text>
|
||||
<text x="24" y="572.0" fill="#555">picioare sunt reconstruite după ilustrația sumarului Q&A, nu valori rostite în</text>
|
||||
<text x="24" y="589.0" fill="#555">transcriere. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70 sunt construcția mea —</text>
|
||||
<text x="24" y="606.0" fill="#555">materialul nu le dă.</text>
|
||||
</svg></p>
|
||||
<!-- /DIAGRAMA: exemplu -->
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
<!-- DIAGRAMA: exemplu -->
|
||||
<svg viewBox="0 0 640 603" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
|
||||
<svg viewBox="0 0 640 620" xmlns="http://www.w3.org/2000/svg" style="width:100%;height:auto;font:12px sans-serif">
|
||||
<text x="24" y="48" fill="#333" style="font-weight:bold">SPY — 5 min (Q&A 15.07.2025; intrare/SL/TP construite)</text>
|
||||
<line x1="24" y1="373.4" x2="626" y2="373.4" stroke="#b06000" stroke-width="1.5" stroke-dasharray="4 3"/>
|
||||
<text x="30" y="367.4" fill="#b06000">pivot daily 622.00</text>
|
||||
@@ -1521,8 +1521,9 @@ desen. Exemplul de mai jos e reconstruit, ca toate celelalte.
|
||||
<text x="314.0" y="278.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">hammer închide 622.60, înapoi peste pivot</text>
|
||||
<text x="329.0" y="232.0" fill="#188a3e" text-anchor="middle" style="font-weight:bold">intri aici: close peste high-ul hammer-ului (622.70)</text>
|
||||
<text x="24" y="555.0" fill="#555">Legendă: nivelurile 622.40 / 622.00 / 621.40 / 622.60 și cele 8 candele dintre</text>
|
||||
<text x="24" y="572.0" fill="#555">picioare sunt reale, din curs. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70</text>
|
||||
<text x="24" y="589.0" fill="#555">sunt construcția mea — materialul nu le dă.</text>
|
||||
<text x="24" y="572.0" fill="#555">picioare sunt reconstruite după ilustrația sumarului Q&A, nu valori rostite în</text>
|
||||
<text x="24" y="589.0" fill="#555">transcriere. Intrarea 623.00, SL-ul 621.30 și TP-ul 624.70 sunt construcția mea —</text>
|
||||
<text x="24" y="606.0" fill="#555">materialul nu le dă.</text>
|
||||
</svg>
|
||||
<!-- /DIAGRAMA: exemplu -->
|
||||
|
||||
|
||||