Eticheta spunea "fara sa rupa low-ul doji-ului weekly", dar nivelul nu se vedea nicaieri — scara panoului mic nu ajunge pana la el. Extinderea scarii ar fi facut ghidajele de lupa false si ar fi taiat magnificarea la jumatate, asa ca referinta se marcheaza pe panoul MARE, cu o bifa pana la low-ul doji-ului, si eticheta trimite acolo. Nivelul traieste pe TF-ul mare, declansatorul pe cel mic. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
230 lines
14 KiB
Plaintext
230 lines
14 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, „bifa din
|
||
stânga". Referința NU se desenează pe panoul mic: e cu mult sub scara lui,
|
||
iar coborând scara ghidajele ar deveni false și s-ar pierde ~jumătate din
|
||
magnificare. Trăiește pe panoul mare, ca BIFĂ — o linie scurtă punctată
|
||
(„2 3", #555) de la marginea din stânga a graficului până exact la low-ul
|
||
doji-ului mare, SUB paranteza de stop, nu în interiorul ei — plus un rând
|
||
sub grafic: „bifa de sub doji = <dl>, minimul care nu se rupe".
|
||
Eticheta „close confirmare" din gutter s-a scos: numărul acelui nivel e
|
||
deja scris o dată, în cotul conectorului, iar gutter-ul era aglomerat.
|
||
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").
|
||
Pe graficul mare, în plus: bifa low-ului doji-ului mare + rândul explicativ
|
||
de sub grafic (vezi „runda 2", punctul 3).
|
||
Cifra „8 candele" din eticheta pullback-ului vine din PULLBACK_N, nu din
|
||
degete; dacă se schimbă numărul de bare, se schimbă și eticheta.
|
||
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.
|