diff --git a/gen/patternuri_complexe_3.py b/gen/patternuri_complexe_3.py
index 29dea05..876e3ed 100644
--- a/gen/patternuri_complexe_3.py
+++ b/gen/patternuri_complexe_3.py
@@ -406,7 +406,7 @@ check(Chart(
Level(RIM_C, f"rezistență {RIM_C:.2f}", "#c00"),
Level(MANER, f"minimul mânerului {MANER:.2f}", "#b06000"),
Level(SL_C, f"SL {SL_C:.2f}", "#c00", label_at="left"),
- Level(LIMITA50, f"limita de 50% {LIMITA50:.2f}", "#777"),
+ Level(LIMITA50, f"limita de 50% {LIMITA50:.2f}", "#8b5cf6"),
Level(FUND_C, f"fundul ceștii {FUND_C:.2f}", "#b06000", label_at="left")],
marks=[Mark(5, "top 1", "#c00"), Mark(23, "top 2", "#c00", dy=-18),
Mark(13, "fundul ceștii", "#b06000", "below"),
@@ -415,7 +415,7 @@ check(Chart(
mas=[MA(20, "#777", dash="4 3")],
scale=4.2, gap=15, body_w=9, left=46, width=620, vol_h=70, top=100,
vol_label="volum", title="Cup with handle — exemplu construit (fără ticker), monthly",
- caption="Mânerul: 4 bare, −30% din adâncime. Cele două top-uri la 120.00 = double top."),
+ caption="Mânerul: 4 bare, −30% din adâncime. Două top-uri la 120.00 = double top. Gri punctat: SMA-20."),
"cu", [AD_C, RIM_C - MANER])
# ----------------------------------------- cup with handle: mâner prea adânc
@@ -449,7 +449,7 @@ print(f"cup&handle NU: maner {MANER_N:.2f} = {PROC_N:.0%} din adancime")
check(Chart(
candles=cn,
levels=[Level(RIM_C, f"rezistență {RIM_C:.2f}", "#c00"),
- Level(LIMITA50, f"limita de 50% {LIMITA50:.2f}", "#777", label_at="left"),
+ Level(LIMITA50, f"limita de 50% {LIMITA50:.2f}", "#8b5cf6", label_at="left"),
Level(MANER_N, f"minimul mânerului {MANER_N:.2f}", "#c00"),
Level(FUND_C, f"fundul ceștii {FUND_C:.2f}", "#b06000", label_at="left")],
marks=[Mark(4, "top 1", "#c00", dy=-20), Mark(19, "top 2", "#c00", dy=-20),
diff --git a/gen/patternuri_complexe_4.py b/gen/patternuri_complexe_4.py
index 6472a66..00fd662 100644
--- a/gen/patternuri_complexe_4.py
+++ b/gen/patternuri_complexe_4.py
@@ -58,7 +58,31 @@ def txt(i, p, s, color="#8b5cf6", anchor="middle", dx=0.0, dy=0.0, bold=True):
return dict(i=i, p=p, s=s, color=color, anchor=anchor, dx=dx, dy=dy, bold=bold)
-def deco(ch, name, segs=(), texts=(), distante=()):
+def _desprinse(svg, name, etichete, min_px=5.0):
+ """Etichetele date nu au voie sa stea pe nicio linie (regresia 11/12)."""
+ # fitilele candelelor (#1a1a1a) nu se numara: desenul le traverseaza oricum
+ lines = [tuple(map(float, m.groups()[:4])) for m in re.finditer(
+ r']*)>([^<]*)', svg):
+ tx, ty, attrs, s = float(m.group(1)), float(m.group(2)), m.group(3), m.group(4)
+ if s not in etichete:
+ continue
+ w = 6.2 * len(s)
+ x0 = tx if 'anchor="start"' in attrs else tx - w if 'anchor="end"' in attrs else tx - w / 2
+ x1, top, bot = x0 + w, ty - 9 - min_px, ty + 3 + min_px
+ for lx1, ly1, lx2, ly2 in lines:
+ if max(lx1, lx2) < x0 or min(lx1, lx2) > x1:
+ continue
+ ys = [ly1 + (ly2 - ly1) * (max(min(x, max(lx1, lx2)), min(lx1, lx2)) - lx1)
+ / ((lx2 - lx1) or 1) for x in (x0, x1)] if lx1 != lx2 else [ly1, ly2]
+ if min(ys) <= bot and max(ys) >= top:
+ raise AssertionError(
+ f"{name}: eticheta '{s}' sta pe linia "
+ f"({lx1:.0f},{ly1:.0f})-({lx2:.0f},{ly2:.0f})")
+
+
+def deco(ch, name, segs=(), texts=(), distante=(), clear=()):
"""Randează graficul, injectează liniile/textele, verifică, salvează."""
saved = ch.top, ch.left, ch.width
try:
@@ -89,6 +113,8 @@ def deco(ch, name, segs=(), texts=(), distante=()):
for m in re.finditer(r"\d+\.\d\d", re.sub(r"<[^>]+>", "", t)):
assert m.group(0) in desenate, \
f"{name}: eticheta numește {m.group(0)}, care nu e un nivel desenat"
+ if clear:
+ _desprinse(svg, name, set(clear))
sus = min(ch._y(c.h) for c in ch.candles)
jos = max(ch._y(c.l) for c in ch.candles)
for lv in ch.levels:
@@ -161,15 +187,15 @@ deco(Chart(
Level(E_D, f"intrare {E_D:.2f}", "#188a3e"),
Level(TP_D, f"TP1 {TP_D:.2f} = {R_D}R", "#1a5fb4")],
marks=[Mark(2, "trend ascendent anterior", "#188a3e", "below", dy=8),
- Mark(13, "picior 1", "#c00", "below"),
+ Mark(13, "picior 1", "#c00", "below", dy=16),
Mark(19, "picior 2 (mai jos)", "#c00", "below"),
- Mark(25, "hammer in capul triunghiului", "#b06000", "below"),
+ Mark(25, "hammer in capul triunghiului", "#b06000", "below", dy=8),
Mark(27, "breakout cu volum", "#188a3e")],
zones=[Zone(10, 26, "wedge descendent = consolidare contra-trend (17 bare)",
"#8b5cf6")],
arrows=[Arrow(29, "stopul sta sub low-ul candelei de breakout:\n"
"daca pretul se intoarce in triunghi, ideea a murit",
- price=SL_D, where="below", color="#c00", dy=18)],
+ price=SL_D, where="below", color="#c00", dy=30, dx=44)],
mas=[MA(20, "#b06000", dash="4 3", text="SMA-20")],
scale=24, gap=16, body_w=9, left=46, width=730, top=62, vol_h=70,
title="Wedge descendent — bull",
@@ -179,11 +205,12 @@ deco(Chart(
seg(10, L0, 13, lo_d(13), "#8b5cf6", "4 3", 1.2),
seg(13, lo_d(13), 27, lo_d(27)),
seg(10.0, L0, 10.0, U0, "#8b5cf6", "", 2.2),
- seg(30.6, E_D, 30.6, TP_D, "#1a5fb4", "", 2.2)],
+ seg(35.6, E_D, 35.6, TP_D, "#1a5fb4", "", 2.2)],
texts=[txt(10.1, (U0 + L0) / 2, f"baza = {BAZA_D:.2f}", anchor="start", dx=4),
- txt(30.4, (E_D + TP_D) / 2, f"aceeasi {BAZA_D:.2f}", "#1a5fb4",
- anchor="end", dx=-4)],
- distante=(BAZA_D,))
+ txt(35.8, (E_D + TP_D) / 2, f"aceeasi {BAZA_D:.2f}", "#1a5fb4",
+ anchor="start", dx=4)],
+ distante=(BAZA_D,),
+ clear=("picior 1", "breakout cu volum", "hammer in capul triunghiului"))
# ================================================ 2. wedge vs flag (forma)
cl = (ramp(29.6, 34.00, 6) # 0-5 urcare
@@ -420,7 +447,7 @@ deco(Chart(
Level(TP2_F, f"TP2 {TP2_F:.2f} = batul steagului = {R2_F}R", "#1a5fb4")],
marks=[Mark(2, "A", "#555", "below"), Mark(11, "B", "#555", dy=-20),
Mark(20, "C = aici era by the dip", "#b06000", "below"),
- Mark(23, "breakout cu volum", "#188a3e", dy=-16)],
+ Mark(23, "breakout cu volum", "#188a3e", dy=-36)],
zones=[Zone(11, 22, "flamura (12 bare)", "#999")],
mas=[MA(20, "#b06000", dash="4 3", text="SMA-20")],
scale=13, gap=16, body_w=9, left=46, width=730, top=62, vol_h=70,
@@ -432,9 +459,11 @@ deco(Chart(
seg(14, lo_f(14), 23, lo_f(23), "#1a5fb4"),
seg(11.0, 37.00, 11.0, 40.00, "#1a5fb4", "", 2.2),
seg(3.3, POLE_A, 3.3, POLE_B, "#188a3e", "", 2.2)],
- texts=[txt(11.1, 38.50, f"canal {CANAL:.2f}", "#1a5fb4", anchor="start", dx=4),
+ texts=[txt(11.1, 37.00, f"canal {CANAL:.2f}", "#1a5fb4", anchor="start",
+ dx=4, dy=32),
txt(3.2, 33.00, f"batul = {BAT:.2f}", "#188a3e", anchor="end", dx=-4)],
- distante=(CANAL, BAT))
+ distante=(CANAL, BAT),
+ clear=(f"canal {CANAL:.2f}", "breakout cu volum"))
# ======================================================= 6. bear flag / ABCD short
POLE_A2, POLE_B2 = 60.00, 50.00
@@ -498,7 +527,7 @@ deco(Chart(
Level(TP2_B, f"TP2 {TP2_B:.2f} = batul steagului = {R2_B}R", "#1a5fb4")],
marks=[Mark(2, "A", "#555", "below", dy=4), Mark(11, "B", "#555", "below", dy=14),
Mark(20, "C = aici era sell the rally", "#b06000", dy=-20),
- Mark(23, "breakdown cu volum", "#c00", "below", dy=14)],
+ Mark(23, "breakdown cu volum", "#c00", "below", dy=38)],
zones=[Zone(11, 22, "flamura (12 bare)", "#999")],
mas=[MA(20, "#b06000", dash="4 3", text="SMA-20")],
scale=13, gap=16, body_w=9, left=46, width=730, top=66, vol_h=70,
@@ -510,9 +539,11 @@ deco(Chart(
seg(11, 50.00, 23, lo_b(23), "#1a5fb4"),
seg(11.0, 50.00, 11.0, 53.00, "#1a5fb4", "", 2.2),
seg(3.3, POLE_B2, 3.3, POLE_A2, "#c00", "", 2.2)],
- texts=[txt(11.1, 51.50, f"canal {CANAL2:.2f}", "#1a5fb4", anchor="start", dx=4),
+ texts=[txt(11.1, 50.00, f"canal {CANAL2:.2f}", "#1a5fb4", anchor="start",
+ dx=4, dy=28),
txt(3.2, 56.00, f"batul = {BAT2:.2f}", "#c00", anchor="end", dx=-4)],
- distante=(CANAL2, BAT2))
+ distante=(CANAL2, BAT2),
+ clear=(f"canal {CANAL2:.2f}", "breakdown cu volum", "C = aici era sell the rally"))
# ============================================ 7. marubozu retestat — DA si NU
def marubozu_serie(retest_close, retest_wick_up, cont):
diff --git a/gen/radarscreen_5_stele.md.in b/gen/radarscreen_5_stele.md.in
index 7320c59..289f56f 100644
--- a/gen/radarscreen_5_stele.md.in
+++ b/gen/radarscreen_5_stele.md.in
@@ -140,11 +140,12 @@ susținut de volum.** Patru coloane, în ordinea din tabel:
- **Net change** — cât la sută a urcat sau a scăzut prețul față de închiderea
zilei precedente (exemplul din lecție: 5,03%).
- **Range** — înălțimea candelei curente ca procent din media ultimelor trei
- candele. Peste 100% înseamnă volatilitate peste normal; în lecție, pe WBD
- (Warner Bros), o candelă verde plină de bull reversal arată **122%**.
+ candele. Peste 100% înseamnă volatilitate peste normal; în lecție, o candelă
+ plină arată **122%** (autorul nu numește simbolul pe care o găsește).
- **RVol** — volumul ultimei bare față de media ultimelor 10 (input 10). Pe
- același WBD: **167%**, adică volum cu 67% peste medie. Range mare *plus*
- volum mare = mișcarea are susținere, nu e doar un fitil.
+ WBD (Warner Bros), unde autorul arată o candelă verde plină de bull reversal:
+ **167%**, adică volum cu 67% peste medie. Range mare *plus* volum mare =
+ mișcarea are susținere, nu e doar un fitil.
@@ -345,7 +346,7 @@ piața — același lucru pe care cursul îl face zilnic în predeschidere, uit
la câte semnale noi de buy și de sell apar.
## Exemplul complet, long — XOM
-Singurul set de prețuri reale din lecție e cel de pe XOM (Exxon Mobil), citit
+Singurul set complet de prețuri reale din lecție e cel de pe XOM (Exxon Mobil), citit
pe graficul daily de pe board-ul de 60 de minute, cu pivoții monthly: suportul
**S1 = 113.03** (proiecție bull), prețul închis la **115.02**, deci coloana
arată **1,76%** distanță față de suport; pivotul este rostit ca fiind la
diff --git a/gen/radarscreen_5_stele.py b/gen/radarscreen_5_stele.py
index a54f841..f137a9c 100644
--- a/gen/radarscreen_5_stele.py
+++ b/gen/radarscreen_5_stele.py
@@ -210,8 +210,8 @@ CH["range_rvol"] = Chart(
mas=[MA(20, "#b06000", dash="4 3", text="SMA-20")],
**COMMON, scale=40, vol_h=70, vol_label="volum (ultima bară vs. media a 10)",
title="Exemplu construit (fără ticker) — 60 de minute",
- caption="Cifrele cursului pentru WBD: range 122%, RVol 167%. Seria care le"
- " produce e a mea.").render()
+ caption="Cifrele cursului: range 122% (rostit pe un simbol nenumit), RVol"
+ " 167% pe WBD. Seria care le produce e a mea.").render()
# ------------------------------------------------- 5 stele, long (XOM, real)
diff --git a/gen/radarscreen_subst.py b/gen/radarscreen_subst.py
index 862650d..b2fd407 100644
--- a/gen/radarscreen_subst.py
+++ b/gen/radarscreen_subst.py
@@ -13,7 +13,7 @@ SRC = "/workspace/atm-curs-dl/gen/radarscreen_5_stele.md.in" # textul cu marcat
MD = "/workspace/atm-curs-dl/summaries/06_MODUL_5/01_radarscreen_5_stele.md"
COLS = [("SIMBOL", "WBD"), ("INTERVAL", "60 min"), ("LAST", "—"),
- ("OFF HIGH", "—"), ("NET CHG", "—"), ("RANGE", "122%"),
+ ("OFF HIGH", "—"), ("NET CHG", "—"), ("RANGE", "—"),
("RVOL", "167%"), ("TRINITY", "—"), ("TRIGGER", "bull rev")]
@@ -30,7 +30,7 @@ def rand_radar() -> str:
parts.append(f'{head}')
parts.append(f'')
- col = "#188a3e" if val in ("122%", "167%", "bull rev") else "#555"
+ col = "#188a3e" if val in ("167%", "bull rev") else "#555"
parts.append(f'{val}')
parts += [
'',
@@ -42,7 +42,7 @@ def rand_radar() -> str:
'TRINITY = verdictul celor trei indicatori'
' proprii; TRIGGER = reversal, doji sau momentum pe candela curentă.',
'Celulele cu „—" nu sunt'
- ' rostite în lecție pentru WBD: din el avem range 122%, RVol 167% și',
+ ' rostite în lecție pentru WBD: din el avem RVol 167% și un',
'bull reversal, pe 60 de'
' minute. Așa citești 500 de companii fără să deschizi niciun grafic.',
'']
diff --git a/summaries/06_MODUL_5/01_radarscreen_5_stele.html b/summaries/06_MODUL_5/01_radarscreen_5_stele.html
index ff0b3a4..efe4c89 100644
--- a/summaries/06_MODUL_5/01_radarscreen_5_stele.html
+++ b/summaries/06_MODUL_5/01_radarscreen_5_stele.html
@@ -113,7 +113,7 @@ iei decizia: „dintr-o singură privire, deja fără să văd graficul".
RANGE
- 122%
+ —RVOL
@@ -131,7 +131,7 @@ iei decizia: „dintr-o singură privire, deja fără să văd graficul".
Fiecare celulă e un calcul pe exact aceleași date pe care le-ai citi pe chart:RANGE = înălțimea candelei față de media ultimelor trei; RVOL = volumul ultimei bare față de media a 10;TRINITY = verdictul celor trei indicatori proprii; TRIGGER = reversal, doji sau momentum pe candela curentă.
- Celulele cu „—" nu sunt rostite în lecție pentru WBD: din el avem range 122%, RVol 167% și
+ Celulele cu „—" nu sunt rostite în lecție pentru WBD: din el avem RVol 167% și unbull reversal, pe 60 de minute. Așa citești 500 de companii fără să deschizi niciun grafic.
Pe board-ul de 60 de minute, coloanele arată 60 de minute — plus câteva
@@ -225,11 +225,12 @@ susținut de volum. Patru coloane, în ordinea din tabel:
Net change — cât la sută a urcat sau a scăzut prețul față de închiderea
zilei precedente (exemplul din lecție: 5,03%).
Range — înălțimea candelei curente ca procent din media ultimelor trei
- candele. Peste 100% înseamnă volatilitate peste normal; în lecție, pe WBD
- (Warner Bros), o candelă verde plină de bull reversal arată 122%.
+ candele. Peste 100% înseamnă volatilitate peste normal; în lecție, o candelă
+ plină arată 122% (autorul nu numește simbolul pe care o găsește).
RVol — volumul ultimei bare față de media ultimelor 10 (input 10). Pe
- același WBD: 167%, adică volum cu 67% peste medie. Range mare plus
- volum mare = mișcarea are susținere, nu e doar un fitil.
+ WBD (Warner Bros), unde autorul arată o candelă verde plină de bull reversal:
+ 167%, adică volum cu 67% peste medie. Range mare plus volum mare =
+ mișcarea are susținere, nu e doar un fitil.
range 122% din media ultimelor 3 candele+ bull reversal (close 54.67 peste 54.45)
- Cifrele cursului pentru WBD: range 122%, RVol 167%. Seria care le produce e a mea.
+ Cifrele cursului: range 122% (rostit pe un simbol nenumit), RVol 167% pe WBD. Seria care le produce e a mea.
Lângă RVol pe 60 de minute, board-ul are și Daily Volume — relative volume
calculat pe daily, deși tu stai pe 60 de minute. Exemplul din lecție: medie
@@ -411,8 +412,8 @@ precedente. Exemplul din lecție e ABNB, pe 60 de minute: „s-a închis deasupr
high-ului acestei candele".
aproape identic la prima vedere și nu e trigger:
Exemplul complet, long — XOM
-
Singurul set de prețuri reale din lecție e cel de pe XOM (Exxon Mobil), citit
+
Singurul set complet de prețuri reale din lecție e cel de pe XOM (Exxon Mobil), citit
pe graficul daily de pe board-ul de 60 de minute, cu pivoții monthly: suportul
S1 = 113.03 (proiecție bull), prețul închis la 115.02, deci coloana
arată 1,76% distanță față de suport; pivotul este rostit ca fiind la
@@ -1253,13 +1254,13 @@ Celula pivotului e roșie, pentru că prețul e sub pivot.
sunt completarea mea, construite pe nivelurile lui reale:
@@ -205,11 +205,12 @@ susținut de volum.** Patru coloane, în ordinea din tabel:
- **Net change** — cât la sută a urcat sau a scăzut prețul față de închiderea
zilei precedente (exemplul din lecție: 5,03%).
- **Range** — înălțimea candelei curente ca procent din media ultimelor trei
- candele. Peste 100% înseamnă volatilitate peste normal; în lecție, pe WBD
- (Warner Bros), o candelă verde plină de bull reversal arată **122%**.
+ candele. Peste 100% înseamnă volatilitate peste normal; în lecție, o candelă
+ plină arată **122%** (autorul nu numește simbolul pe care o găsește).
- **RVol** — volumul ultimei bare față de media ultimelor 10 (input 10). Pe
- același WBD: **167%**, adică volum cu 67% peste medie. Range mare *plus*
- volum mare = mișcarea are susținere, nu e doar un fitil.
+ WBD (Warner Bros), unde autorul arată o candelă verde plină de bull reversal:
+ **167%**, adică volum cu 67% peste medie. Range mare *plus* volum mare =
+ mișcarea are susținere, nu e doar un fitil.
Lângă RVol pe 60 de minute, board-ul are și **Daily Volume** — relative volume
@@ -401,8 +402,8 @@ high-ului acestei candele".
bottom / double top.
Forma rotunjită, care nu are picioare distincte: rounding bottom, cu
3-5 sau chiar 7 swing low-uri într-o curbă.
-
Primul pattern de continuare din serie: cup with handle, cu singura
+
Primul pattern de continuare cu formă proprie din serie: cup with
+ handle, cu singura
regulă numerică explicită a lecției (mânerul ≤ 50%) și cu un raport
risc/recompensă care iese direct din regula aia.
Legătura dintre patternuri. Cursul insistă: un triple top cu vârful din
@@ -81,9 +82,9 @@ să numeri câte picioare are formațiunea.
media mobilă simplă pe 20 de bare (SMA-20) ca linia gri punctată. Cursul
arată patternurile pe grafice reale, dar nu rostește nicio cifră de preț,
așa că diagramele nu poartă ticker: titlul lor spune „exemplu construit (fără
-ticker)". Singurele cifre din lecție sunt limita de 50% a mânerului, raportul
-risc/recompensă aproximativ 1:2 și ținta de 100.000 pentru bitcoin despre
-care autorul spune că o repetă piața, nu el.
+ticker)". Cifrele care contează pentru execuție sunt limita de 50% a
+mânerului și raportul risc/recompensă aproximativ 1:2; la ținta de 100.000
+pentru bitcoin autorul spune că o repetă piața, nu el.
1. Triple bottom (bază triplă) — long
Cursul îl descrie ca „litera V cu litera W": prețul coboară, atinge un nivel,
@@ -95,15 +96,15 @@ nu există până când prețul nu rupe rezistența în sus.
Triple bottom — exemplu construit (fără ticker), dailybaza triplă
-
+ target 48.00 = 45.00 + 3.00
-
- intrare 45.40
-
+
+ intrare 45.40
+ rezistență 45.00
-
- SL 44.10
-
+
+ SL 44.10
+ picioarele 42.00
@@ -267,14 +268,14 @@ devenit suport. Intri la 45.40, pe închiderea barei care confirmă retestul.
NU — fals breakout pe aceeași bază triplă (construit), daily
-
+ rezistență 45.00
-
- vârf 45.08
-
+
+ vârf 45.08
+ picioarele 42.00
-
- 40.60 — invalidat
+
+ 40.60 — invalidat
@@ -427,15 +428,15 @@ același nivel: formează o curbă, coboară până la fund și urcă treptat.
Rounding bottom — exemplu construit (fără ticker), 60 mincastronul
-
+ target 34.00 = 30.00 + 4.00
-
- intrare 30.30
-
+
+ intrare 30.30
+ rezistență 30.00
-
- SL 29.40
-
+
+ SL 29.40
+ fundul castronului 26.00
@@ -602,16 +603,16 @@ pattern-ul se confirmă la breakdown sub suport, iar tranzacți
Autorul face asta explicit pe exemplul lui de pe 60 de minute: „target 1 de
-profit poate să fie înălțimea de la punctul 2 până aici". Dacă ai măsurat de
-la umeri (67.50 − 65.00 = 2.50), ai fi ieșit la 62.50 și ai fi lăsat pe masă
-două unități de preț.
+
Autorul măsoară din punctul 2 pe exemplul lui de pe 60 de minute (Pepsi):
+„target 1 de profit poate să fie înălțimea de la punctul 2 până aici". Nu
+spune însă că vârful din mijloc e mai sus, nici că regula e „măsori de la
+extrem" — generalizarea aia e completarea mea. Dacă ai măsurat de la umeri
+(67.50 − 65.00 = 2.50), ai fi ieșit la 62.50 și ai fi lăsat pe masă două
+unități de preț.
Simetric, spune autorul, un triple bottom seamănă uneori cu un head &
shoulders inversat — aceeași logică, în jos.
Ce arată cursul
@@ -911,20 +914,20 @@ pentru că trendul dinainte e diferit.
Cup with handle — exemplu construit (fără ticker), monthlymânerul
-
+ target 160.00 = 120.00 + 40.00
-
- intrare 121.00
-
+
+ intrare 121.00
+ rezistență 120.00
-
+ minimul mânerului 108.00
-
- SL 107.00
-
- limita de 50% 100.00
-
- fundul ceștii 80.00
+
+ SL 107.00
+
+ limita de 50% 100.00
+
+ fundul ceștii 80.00
@@ -1040,7 +1043,7 @@ pentru că trendul dinainte e diferit.
top 2fundul ceștiibreakout
- Mânerul: 4 bare, −30% din adâncime. Cele două top-uri la 120.00 = double top.
+ Mânerul: 4 bare, −30% din adâncime. Două top-uri la 120.00 = double top. Gri punctat: SMA-20.
Părțile formei, cu numele din curs:
- uptrend-ul anterior — primele bare, care aduc prețul la 120.00.
@@ -1067,14 +1070,14 @@ scala Fibonacci ca referință de nivel, nu ca indicator separat.
NU — mâner mai adânc de 50% (construit, fără ticker), monthly
-
+ rezistență 120.00
-
- limita de 50% 100.00
-
+
+ limita de 50% 100.00
+ minimul mânerului 96.00
-
- fundul ceștii 80.00
+
+ fundul ceștii 80.00
@@ -1241,17 +1244,17 @@ aici e oglinda completă, nu o propoziție „e invers":
Inverted cup with handle / rounding top — construit (fără ticker), monthlymânerul inversat
-
+ vârful cupolei 120.00
-
+ SL 99.00
-
- limita de 50% 105.00
-
+
+ limita de 50% 105.00
+ suport 90.00
-
- intrare short 89.00
-
+
+ intrare short 89.00
+ target 60.00 = 90.00 − 30.00
@@ -1433,7 +1436,7 @@ raportul cade sub 1:2.
Pattern-urile astea cer intrare pe retest, nu „stop larg, că e mai sigur".
Target 1 e o proiecție, nu o promisiune. În exemplele cursului prețul l-a
depășit de două-trei ori (Netflix, Russell, Nvidia) și în altele era la
- jumătate la momentul lecției (QQQ, SPY). Ia parțial profit dacă piața dă
+ jumătate la momentul lecției (QQQ). Ia parțial profit dacă piața dă
semne de epuizare înainte; nu aștepta orbește cifra calculată.
Ce urmează, și sfatul de final al lecției
@@ -1459,15 +1462,17 @@ la linia spartă, identică la toate), limita de 50% a mânerului, locul
stop-loss-ului sub swing low-urile mânerului, raționamentul de risc/recompensă
~1:2 la cup with handle, diferența rounding bottom / cup with handle (bottom
vs. continuare de trend), echivalența triple top cu vârful din mijloc mai sus
-= head & shoulders normal, măsurarea din vârful 2 în acel caz, instrumentele și
+= head & shoulders normal, instrumentele și
timeframe-urile enumerate, ținta de 100.000 pentru bitcoin ca afirmație a
pieței, și sfatul de final cu timpul de expunere. Completarea mea: toate
-cifrele de preț și toate diagramele (cursul nu rostește nicio cotație), cele
+cifrele de preț și toate diagramele (cursul nu rostește nicio cotație),
+generalizarea „când vârful din mijloc e mai sus, măsori de la el" (autorul
+doar măsoară din punctul 2 pe exemplul Pepsi, fără s-o enunțe ca regulă), cele
două perechi DA/NU (fals breakout la triple bottom, mâner de 60% la cup with
handle), mecanismul prin care al treilea test al unui nivel îl rupe (consumarea
ordinelor de la nivel + stop-urile forțate de deasupra lui), observația că
stopul „conservator" dincolo de picioare dă sub 1R, semnătura de volum a
castronului, și diagrama completă a variantei bear de la secțiunea 5, pe care
-lecția o menționează fără să o detalieze.
+lecția o menționează fără să o detalieze.