Verificarea cu agent separat a gasit doua contradictii de continut pe care auditul mecanic nu le prinde: - textul spunea ca pullback-ul "incape intr-o singura candela a TF-ului mare"; pe desen se intinde peste doua, iar prima e o saptamana rosie vizibila. Rescris: pe TF-ul mare vezi candelele, dar nu vezi ce e in ele — unde s-a oprit coborarea si doji-ul care o termina, deci n-ai unde intra si n-ai de unde masura stopul. Asta face lupa. - definitia pullback-ului zicea "nu mai face minim nou", absolut, dar desenul arata minime tot mai joase — asa face orice pullback care coboara spre un nivel. Ancorata de minimul de plecare; eticheta de pe desen numeste referinta si trimite la panoul unde e marcata. Restul: perechi_tf punea stopul fix pe low, fara marja de 5 centi pe care o cere Pasul 5 si o respecta directie — aliniat, cu cifrele recalculate; "nivel weekly" devine "retest", pentru ca high-ul unui doji nu e suport si Pasul 3 cere altceva; conector intre nivelul comun al celor doua panouri (nu se pot alinia — sunt scari diferite, e o lupa); leader lines in coloana de etichete; assert-ul de agregare, care era tautologic, verifica acum granitele candelelor mari fata de pullback si doji — exact locul unde textul se rupsese. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
218 lines
13 KiB
Plaintext
218 lines
13 KiB
Plaintext
SPEC DIAGRAMĂ — buy_doji_perechi_tf
|
||
====================================
|
||
tip: PRET (trei rânduri, câte două grafice pe rând, legate prin lupă)
|
||
destinație: summaries/17_STRATEGII/01_buy_doji.md, Pasul 2 („Alegi perechea…")
|
||
cheie markdown: <!-- DIAGRAMA: perechi_tf -->
|
||
generator: gen/strategii/buy_doji_perechi_tf.py
|
||
titlu SVG: „Aceeași regulă pe trei perechi — graficul mic e lupa pe ultimele
|
||
candele mari"
|
||
stil: STYLE.md §„Cum trebuie să arate un grafic de preț": candele lipite
|
||
(gap 15, body_w 9), fără volum, open = close-ul precedentului.
|
||
Un singur SVG, 3 rânduri stivuite vertical (lățime 720, mobil).
|
||
Scară proprie pe fiecare panou, dar UNA singură în interiorul lui.
|
||
|
||
CE S-A SCHIMBAT (20.09.2026, runda 2 — după verificare)
|
||
--------------------------------------------------------
|
||
1. STOPUL respectă regula capitolului: cu 5 cenți sub cel mai jos low al
|
||
ultimelor 4 bare, nu exact pe low-ul doji-ului. Se recalculează riscul,
|
||
procentele, ținta 1:1 și raportul. Aceeași marjă se aplică și stopului
|
||
măsurat pe TF-ul mare (aceeași regulă, alt timeframe).
|
||
2. Scara graficului mic acoperă intervalul [stop, maximul zonei] cu 6 % aer
|
||
sus și jos, ca linia de stop să nu mai cadă pe marginea cadrului (se citea
|
||
ca bordură, iar fitilul doji-ului părea tăiat). Cadrul mic și caseta de
|
||
lupă încadrează ACELAȘI interval de preț — ghidajele rămân exacte.
|
||
3. Eticheta pullback-ului nu mai spune „fără minim nou" (desenul arată minime
|
||
tot mai joase, deci se contrazicea singură): spune că pullback-ul coboară
|
||
spre nivel fără să rupă low-ul doji-ului de pe TF-ul mare.
|
||
4. Nivelul de pe panoul mic se numește „retest: high doji <TF mare>", nu
|
||
„nivel" — Pasul 3 cere suport/pivot pentru nivel, iar aici prețul tocmai a
|
||
trecut peste high-ul doji-ului și se întoarce la el.
|
||
5. Nivelul comun legat între panouri e acum close-ul confirmării mari (egal
|
||
prin construcție cu open-ul primei bare mici), cu un CONECTOR subțire gri
|
||
între panouri și numărul scris o singură dată, în cot. High-ul doji-ului
|
||
mare cădea la 0,10 de extrema de jos a zonei, deci conectorul lui s-ar fi
|
||
confundat cu ghidajul albastru.
|
||
6. Coloana din dreapta are LINIUȚE DE LEGĂTURĂ (leader lines) de la fiecare
|
||
linie de preț la eticheta ei; liniile sunt la câțiva pixeli una de alta,
|
||
iar etichetele trebuie împinse ca să nu se suprapună.
|
||
7. Paranteza de stop de pe TF-ul mare are eticheta DEDESUBT (înainte înghițea
|
||
eticheta nivelului), cea de pe TF-ul mic stă într-un gol dintre candele
|
||
(assert), caseta de lupă e punctată ca în buy_doji_directie, iar rândul C
|
||
are o notă că ultima bară de 60 min a zilei e de 30 min.
|
||
8. Assert-ul de agregare (tautologic: zoom venea chiar din aggregate) e
|
||
înlocuit cu granițele candelelor mari peste poveste.
|
||
|
||
CE S-A SCHIMBAT (20.09.2026, runda 1) ȘI DE CE
|
||
----------------------------------------------
|
||
Userul: „ar trebui să aibă corespondență la prețuri, ca să îmi dau seama care
|
||
bucată din graficul weekly este reprezentată de graficul daily — adică care
|
||
candelă weekly e reprezentată de candelele din graficul daily, cu aceleași
|
||
linii de preț."
|
||
|
||
Versiunea veche punea în dreapta o serie care VENEA DUPĂ graficul mare (o
|
||
săgeată „apoi cobori pe graficul mic"). Nu se vedea nicio corespondență.
|
||
Acum graficul mic e **descompunerea reală** a ultimelor candele mari:
|
||
caseta de lupă + două ghidaje + nivelul comun cu același număr pe ambele
|
||
panouri.
|
||
|
||
CE TREBUIE SĂ DEMONSTREZE
|
||
-------------------------
|
||
1. Regula e identică pe toate trei perechile: pe TF-ul mare, buy doji +
|
||
confirmare dau direcția (long permis); în interiorul ultimelor candele
|
||
mari, pe TF-ul mic, se vede pullback-ul de 8 candele care coboară până la
|
||
high-ul dojiului mare (retest), doji-ul acolo, confirmarea = intrarea,
|
||
stopul (5 cenți sub minimul a 4 bare), ținta 1:1.
|
||
2. **Agregarea, vizibilă și adevărată**: fiecare candelă mare din casetă se
|
||
sparge în k candele mici. Graficul mic nu e „altă serie", e aceeași serie
|
||
privită mai de aproape.
|
||
3. Ce se schimbă când cobori: stopul pe TF mic e de ~4 ori mai mic decât cel
|
||
măsurat pe TF mare pentru același setup → de ~4 ori mai multe acțiuni la
|
||
același risc.
|
||
|
||
SERIILE — cum se construiesc
|
||
----------------------------
|
||
Sursa de adevăr e seria FINĂ (TF mic), 15 bare, rândul A, f = 1.0:
|
||
0 (107.0,107.2,106.4,106.6) 1 (106.6,106.8,106.0,106.1)
|
||
2 (106.1,106.6,105.95,106.4) 3 (106.4,106.5,105.8,105.9)
|
||
4 (105.9,106.0,105.5,105.6) 5 (105.6,105.95,105.5,105.8)
|
||
6 (105.8,105.9,105.4,105.5) 7 (105.5,105.6,105.25,105.35)
|
||
8 (105.35,105.75,105.10,105.40) <- doji mic, low 105.10 la nivelul 105.20
|
||
9 (105.40,106.40,105.30,106.30) <- confirmare => intrare 106.30
|
||
10 (106.3,107.0,106.2,106.9) 11 (106.9,107.70,106.7,107.4)
|
||
12 (107.4,107.55,107.0,107.2) 13 (107.2,108.0,107.1,107.9)
|
||
14 (107.9,108.6,107.8,108.5)
|
||
barele 0-7 = pullback-ul de 8 candele; 10.. = drumul spre țintă.
|
||
|
||
Barele TF-ului mare DINAINTEA lupei (BASE), 8 bare, rândul A:
|
||
0 (118.4,118.8,114.3,114.8) 1 (114.8,115.3,111.5,112.0)
|
||
2 (112.0,113.4,111.6,112.9) 3 (112.9,113.2,109.1,109.6)
|
||
4 (109.6,110.0,106.3,106.8) 5 (106.8,107.2,103.6,104.0)
|
||
6 (104.0,105.2,101.9,103.8) <- doji mare (high 105.20 = nivelul comun)
|
||
7 (103.8,107.4,103.5,107.0) <- confirmare mare (close 107.00 = open fine[0])
|
||
|
||
Candelele mari din casetă NU se scriu de mână: se CALCULEAZĂ prin agregare
|
||
pe k bare fine. Per rând:
|
||
rând TF mare → TF mic k candele mari mărite bare fine folosite
|
||
A weekly → daily 5 3 15 (0..14)
|
||
B monthly → weekly 4 3 12 (0..11)
|
||
C daily → 60 min 7 2 14 (0..13)
|
||
|
||
Rândurile B și C se obțin din A prin p' = round(100 + f*(p - 100), 2), cu
|
||
f = 2.5 (B) și f = 0.4 (C). Transformarea e afină, deci agregarea se
|
||
păstrează; gruparea (k) diferă însă per rând, deci barele mari se recalculează.
|
||
|
||
VALORI CARE REZULTĂ (verificate cu assert)
|
||
------------------------------------------
|
||
Stopul e cu 5 cenți (MARJA) sub minimul ultimelor 4 bare, pe ambele TF-uri.
|
||
A: doji mare h 105.20 / l 101.90; confirmare mare close 107.00;
|
||
lupă 105.10-108.60; intrare 106.30; SL 105.05; risc 1.25 (1.18 %); TP1 107.55
|
||
doar pe TF mare: intrare 107.00, SL 101.85, risc 5.15 (4.81 %) → x4.09
|
||
B: doji mare h 113.00 / l 104.75; confirmare mare close 117.50;
|
||
lupă 112.75-119.25; intrare 115.75; SL 112.70; risc 3.05 (2.63 %); TP1 118.80
|
||
doar pe TF mare: intrare 117.50, SL 104.70, risc 12.80 (10.89 %) → x4.13
|
||
C: doji mare h 102.08 / l 100.76; confirmare mare close 102.80;
|
||
lupă 102.04-103.20; intrare 102.52; SL 101.99; risc 0.53 (0.52 %); TP1 103.05
|
||
doar pe TF mare: intrare 102.80, SL 100.71, risc 2.09 (2.03 %) → x3.93
|
||
Pe toate trei, TP1 e atins prima dată de bara 11.
|
||
|
||
LEGĂTURA DINTRE PANOURI (miezul diagramei)
|
||
-------------------------------------------
|
||
1. **Caseta de lupă** (albastru, contur punctat) pe graficul mare, peste
|
||
EXACT candelele mărite, întinsă pe intervalul de preț al cadrului mic
|
||
([stop, high zonă], cu 6 % aer sus și jos).
|
||
2. **Două ghidaje** punctate albastre de la colțurile din dreapta ale casetei
|
||
la colțurile din stânga ale cadrului graficului mic — convenția clasică de
|
||
zoom. Ghidajele sunt exacte: caseta și cadrul mic încadrează exact același
|
||
interval de preț, [stop, maximul zonei] cu 6 % aer sus și jos. Culoarul
|
||
dintre ghidaje e lăsat liber pentru conector (textul „lupă: ultimele N
|
||
candele" s-a scos: subtitlul din dreapta spune deja același lucru).
|
||
3. **Nivelul-reper** (high-ul doji-ului mare) apare pe ambele panouri cu
|
||
același număr: stânga „high doji weekly 105.20", dreapta „retest: high
|
||
doji weekly 105.20". Nu poate fi aliniat la aceeași înălțime — scările au
|
||
pante diferite, e o lupă.
|
||
4. **Nivelul comun LEGAT**: close-ul confirmării mari (= open-ul primei bare
|
||
mici, prin construcție) e desenat ca aceeași linie gri subțire pe ambele
|
||
panouri și cele două capete sunt unite de un **conector** gri punctat
|
||
(„3 3", mai subțire decât ghidajele albastre), cu numărul scris o singură
|
||
dată, în cot. Cotul se alege prin căutare: poziția unde conectorul stă cel
|
||
mai departe de ghidaje (assert: > 10 px). Nivelul cade în mijlocul
|
||
intervalului mărit (assert: între 20 % și 80 %), nu lipit de o extremă.
|
||
|
||
ETICHETE
|
||
--------
|
||
Titlu rând: A „weekly → daily" B „monthly → weekly" C „daily → 60 min"
|
||
Subtitluri: stânga „<TF mare>: direcția";
|
||
dreapta „<TF mic>: descompunerea ultimelor N candele <TF mare>".
|
||
Pe graficul mare: zonă verde peste doji + confirmare, etichetată dedesubt
|
||
„doji + confirmare: aici se decide direcția"; nivelul comun la stânga.
|
||
Pe graficul mic: zonă verde peste doji-ul mic + confirmare, cu o linie de
|
||
legătură spre eticheta „doji la nivel + confirmare: aici intri";
|
||
paranteză sub cadru peste primele 8 bare, pe două rânduri: „pullback: 8
|
||
candele care coboară spre nivel" / „fără să rupă low-ul doji-ului <TF mare>
|
||
din stânga"; coloana din dreapta, fiecare etichetă legată de linia ei
|
||
printr-o liniuță: „ținta 1:1 <preț>", „intrare <preț>", „retest: high doji
|
||
<TF mare> <preț>", „stop <preț>" (pe rândul A, plus „5 cenți sub minimul
|
||
ultimelor 4 bare").
|
||
Doar pe rândul A: paranteză de stop pe TF-ul mare („stop 4,81 %", eticheta
|
||
DEDESUBT, ca să nu înghită eticheta nivelului) și pe cel mic („stop 1,18 %",
|
||
într-un gol dintre candele), cu o săgeată roșie între ele: „același setup,
|
||
stop de 4,1 ori mai mic → de 4,1 ori mai multe acțiuni la același risc".
|
||
Raportul se calculează, nu se scrie.
|
||
Doar pe rândul C, sub grafic: „(șapte bare de 60 min pe zi: ședința 9:30-16:00
|
||
are 6 ore și jumătate — ultima bară a zilei e de 30 min)".
|
||
Restul cifrelor (praguri, „8 candele" pe fiecare pereche, cât ții) stau în
|
||
tabelul din capitol, nu în SVG: diagrama nu repetă tabelul.
|
||
|
||
ASSERT-URI OBLIGATORII ÎN GENERATOR
|
||
-----------------------------------
|
||
Pe fiecare rând (A, B, C), pe seriile calculate:
|
||
1. Fiecare bară: h >= max(o,c) și l <= min(o,c); open[i] == close[i-1]
|
||
(pe fiecare grafic separat, inclusiv peste joncțiunea BASE→lupă).
|
||
2. GRANIȚELE candelelor mari peste poveste (NU refacerea agregării: `zoom`
|
||
vine chiar din `aggregate`, deci un assert care o recalculează nu poate
|
||
pica). Peste câte candele mari se întinde pullback-ul (2, pe toate trei
|
||
perechile — deci NU încape într-una singură) și în a câta candelă mare
|
||
cade doji-ul mic (A: 1, B: 2, C: 1); low-ul acelei candele mari e chiar
|
||
low-ul doji-ului mic.
|
||
3. len(fine) == k * nz; open fine[0] == close-ul confirmării mari.
|
||
4. Doji mare (BASE 6) și doji mic (fine 8): abs(o-c) <= 0.10*(h-l).
|
||
5. Confirmări: close BASE[7] > high BASE[6]; close fine[9] > high fine[8].
|
||
6. min(l for fine 6..9) == low fine[8] == minimul zonei mărite;
|
||
SL == acel minim − 0,05 (marja de 5 cenți). La fel pe TF-ul mare:
|
||
b_SL == low-ul doji-ului mare − 0,05.
|
||
7. risc == intrare - SL; TP1 == intrare + risc; primul i>9 cu high >= TP1 e 11.
|
||
8. Pullback: fine[0].close > fine[7].close (coboară) ȘI min(low 0..7) >
|
||
low-ul dojiului mare (referința pe care nu are voie s-o rupă).
|
||
9. Extremele zonei mărite == extremele candelelor mari mărite.
|
||
10. abs(low fine[8] - high doji mare) / high doji mare <= 0.005.
|
||
11. Raportul pixeli SL-intrare / intrare-TP1 == 1 pe fiecare grafic mic;
|
||
linia de stop e la > 6 px de marginea de jos a cadrului și sub minimul
|
||
barelor; paranteza de stop nu atinge nicio candelă.
|
||
12. 3,9 <= stop% pe TF mare / stop% pe TF mic <= 4,5.
|
||
13. Conectorul nivelului comun stă la > 10 px de ambele ghidaje, iar numărul
|
||
lui apare EXACT o dată, între caseta de lupă și cadrul mic (în cot).
|
||
13. Valorile din „VALORI CARE REZULTĂ", egale la 2 zecimale.
|
||
14. PANOURI. Nicio etichetă din dreapta (x >= FRAME_L-20) nu conține un preț
|
||
al TF-ului mare, nicio etichetă din stânga nu conține unul al TF-ului mic.
|
||
**Excepție explicită: NIVELURILE COMUNE** (setul COMUNE = {dh, conf}).
|
||
Ele sunt scoase din ambele seturi de interdicție (după VALOARE, nu după
|
||
cheie: b_entry are aceeași valoare ca conf) ȘI au assert propriu: dh
|
||
trebuie să apară pe AMBELE panouri cu același format, conf exact o dată,
|
||
în cotul conectorului. O scutire fără assert ar permite ca nivelul să
|
||
dispară de pe un panou sau să apară cu alt număr.
|
||
15. Fiecare text încape în viewBox și nicio pereche de texte nu se suprapune
|
||
(aceeași regulă ca audit_diagrams.py: |Δy| < 13 și suprapunere pe x).
|
||
|
||
SURSA
|
||
-----
|
||
- Rolurile TF: weekly/monthly = direcția; daily = trigger de swing; 60 min
|
||
doar în direcția swing-ului de pe daily:
|
||
summaries/08_ANALIZA_ZILNICA/01_buy_doji_si_strategia_mici.md:32-40.
|
||
- Pullback-ul la high-ul dojiului ca retest ideal (MICI weekly): triaj/DECIZII.md:118
|
||
(citat în summaries/17_STRATEGII/A3_intrarea.md:245-246).
|
||
- Stopul se numără pe TF-ul deciziei: summaries/09_QA/20_2025-08-25.md:9-15.
|
||
- Perechile swing/position (60×daily, daily×weekly, weekly×monthly):
|
||
summaries/03_MODUL_2/14_strategia_1_m2d.md:461-466 (M2D, corelație).
|
||
- Seria e CONSTRUITĂ. Succesiunea „buy doji pe TF mare → buy doji pe TF mic
|
||
la pullback" e completarea capitolului, nu o procedură rostită în curs.
|