From 01c2018557e28c9175a4eca484459419c8e56d98 Mon Sep 17 00:00:00 2001 From: Claude Agent Date: Mon, 14 Sep 2026 05:53:50 +0000 Subject: [PATCH] Analiza Zilnica 04: pivoti si proiectii (11 diagrame) Al cincilea document de strategie, pe modelul aprobat al lui 01. Acoperite: pivot monthly / quarterly / anual, proiectie bull cu calculul din H/L/C-ul perioadei anterioare, proiectie bear cu short pe reject, pivoti divergenti = trading range (DA/NU), "inside" = compresie (DA/NU), trei variante de reject pe pivot, scarita HH/HL pe pivoti (DA/NU). Pivotii "in trepte" (nivel valabil doar pe luna sau trimestrul lui) se desenau greu cu Chart, asa ca generatorul are o subclasa PChart care foloseste _y/_cx din svg_candles - nicio coordonata scrisa de mana, si svg_candles.py ramane neatins. Etichetele perioadei curente merg in marginea dreapta, ale perioadei trecute in stanga, iar doua etichete apropiate se imping automat una sub alta. Reparat la citirea screenshot-urilor: pe D4 lipsea linia R1 B 53.10, desi textul vorbeste de close peste ea si de retest pe ea. Plus sase marcaje care stateau peste linii de pret. Audit: 0, nicio cifra din text schimbata, toate assert-urile trec. Neconfirmate, marcate ca atare in document: "pivot + 2" (10.09) - poate fi +2% pe zi sau zona pivot-R2, nu e desenat ca regula; "proiectie neutra" (03.09) nu e definita in sesiuni, e legata de "bull neutru" din Modul 2 ca adaugire proprie. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01MtSTyTmt6AbCL9j5ajEDm1 --- gen/az_pivoti.py | 580 ++++++ .../04_pivoti_si_proiectii.html | 1778 +++++++++++++++++ .../04_pivoti_si_proiectii.md | 1636 +++++++++++++++ 3 files changed, 3994 insertions(+) create mode 100644 gen/az_pivoti.py create mode 100644 summaries/08_ANALIZA_ZILNICA/04_pivoti_si_proiectii.html create mode 100644 summaries/08_ANALIZA_ZILNICA/04_pivoti_si_proiectii.md diff --git a/gen/az_pivoti.py b/gen/az_pivoti.py new file mode 100644 index 0000000..092866b --- /dev/null +++ b/gen/az_pivoti.py @@ -0,0 +1,580 @@ +"""Diagramele pentru summaries/08_ANALIZA_ZILNICA/04_pivoti_si_proiectii.md. + +Toate prețurile sunt construite (fără ticker). Rulează: + .venv/bin/python gen/az_pivoti.py +Înlocuiește în .md fiecare bloc ... cu output-ul +generatorului. Ca să schimbi o cifră, o schimbi aici și rulezi din nou. + +Pivoții sunt „în trepte": fiecare perioadă (lună / trimestru) are nivelurile +ei, calculate din H/L/C ale perioadei anterioare. `PChart` desenează aceste +segmente cu aceeași scară ca a candelelor (`_y`, `_cx` din svg_candles) — +nu există coordonate scrise de mână. +""" +import re +import sys +from dataclasses import dataclass, field +from pathlib import Path + +sys.path.insert(0, "/workspace/atm-curs-dl") +from svg_candles import Chart, Level, Mark, MA, from_closes # noqa: E402 + +MD = Path("/workspace/atm-curs-dl/summaries/08_ANALIZA_ZILNICA/04_pivoti_si_proiectii.md") +GRAY, RED, GREEN, BLUE, ORANGE, PURPLE = "#777", "#c00", "#188a3e", "#1a5fb4", "#b06000", "#6a3d9a" +STYLE = dict(gap=15, body_w=9, left=44, width=830) +svgs = {} + + +@dataclass +class Seg: + """nivel valabil doar pe barele i0..i1 (o lună, un trimestru)""" + i0: int + i1: int + price: float + text: str + color: str = ORANGE + label_at: str = "out" # "out" marginea dreaptă | "lm" marginea stângă | "left"/"right" pe linie + dy: float = -5.0 # pentru "left"/"right": eticheta deasupra liniei (negativ) sau dedesubt + dash: str = "" + + +def spread(items, gap=14): + """[(y, ...)] -> aceleași, cu y-urile împinse ca două etichete să nu se atingă""" + items = sorted(items, key=lambda t: t[0]) + out = [] + for it in items: + y = it[0] if not out else max(it[0], out[-1][0] + gap) + out.append((y,) + tuple(it[1:])) + return out + + +@dataclass +class PChart(Chart): + """Chart cu niveluri pe perioade. Nivelurile (`levels`) devin segmente pe toată seria; + etichetele stau în margini (dreapta / stânga), niciodată peste candele.""" + segs: list = field(default_factory=list) + seps: list = field(default_factory=list) # indecși unde începe o perioadă nouă + pad_px: float = 24.0 # spațiu între cel mai sus preț și titlu + lm: int = 104 # marginea stângă pentru etichetele "lm" + pad_bot_px: float = 0.0 # spațiu sub cel mai jos preț, pentru etichetele de sub candele + + def render(self) -> str: + n = len(self.candles) + self.left = self.lm if any(s.label_at == "lm" for s in self.segs) else self.left + segs = list(self.segs) + [Seg(0, n - 1, lv.price, lv.text, lv.color, "out", dash="4 3") + for lv in self.levels] + saved_lv, saved_ma = list(self.levels), list(self.mas) + # lățimea: cât să încapă cea mai lungă etichetă din marginea dreaptă + longest = max([len(s.text) for s in segs if s.label_at == "out"] + [len(m.text) for m in saved_ma] + [0]) + self.width = max(self.width, int(self._cx(n - 1) + self.gap / 2 + 6 + longest * 6.2 + 8)) + top_price = max([c.h for c in self.candles] + [s.price for s in segs]) + # prețurile segmentelor intră în scară ca niveluri invizibile + self.levels = [Level(s.price, "", "none") for s in segs] + self.levels.append(Level(top_price + self.pad_px / self.scale, "", "none")) + if self.pad_bot_px: + low_price = min([c.l for c in self.candles] + [s.price for s in segs]) + self.levels.append(Level(low_price - self.pad_bot_px / self.scale, "", "none")) + self.mas = [MA(m.period, m.color, m.dash) for m in saved_ma] # eticheta MA o punem noi, în margine + svg = self.render_base() + self.levels, self.mas = saved_lv, saved_ma + parts = svg.split("\n ") + extra = [] + for k in self.seps: + x = self._cx(k) - self.gap / 2 + extra.append(f'') + closes = [c.c for c in self.candles] + xr = self._cx(n - 1) + self.gap / 2 + 6 + out_lab = [(self._y(s.price) + 4, s) for s in segs if s.label_at == "out"] + out_lab += [(self._y(sum(closes[-m.period:]) / m.period) + 4, Seg(0, 0, 0, m.text, m.color)) + for m in saved_ma if m.text] + placed = {id(s): y for y, s in spread(out_lab)} + placed.update({id(s): y for y, s in spread([(self._y(s.price) + 4, s) for s in segs if s.label_at == "lm"])}) + for s in segs: + x0, x1, y = self._cx(s.i0) - self.gap / 2, self._cx(s.i1) + self.gap / 2, self._y(s.price) + dash = f' stroke-dasharray="{s.dash}"' if s.dash else "" + extra.append(f'') + if s.label_at == "out": + extra.append(f'{s.text}') + elif s.label_at == "lm": + extra.append(f'{s.text}') + elif s.label_at == "left": + extra.append(f'{s.text}') + else: + extra.append(f'{s.text}') + for y, s in out_lab: + if s.i1 == 0 and s.price == 0: # eticheta de MA + extra.append(f'{s.text}') + k = 2 if self.title else 1 + return "\n ".join(parts[:k] + extra + parts[k:]) + + def render_base(self): + svg = Chart.render(self) + # nivelurile invizibile lasă linii/etichete goale: le scoatem + svg = re.sub(r'\n ]*stroke="none"[^>]*/>\n ]*fill="none"[^>]*>', "", svg) + prices = [p for c in self.candles for p in (c.o, c.h, c.l, c.c)] + [lv.price for lv in self.levels] + self._body_bottom = self.top + (max(prices) - min(prices)) * self.scale + return svg + + +def pivots(bars): + """floor pivots din H/L/C ale perioadei încheiate""" + H, L, C = max(c.h for c in bars), min(c.l for c in bars), bars[-1].c + P = (H + L + C) / 3 + return dict(H=H, L=L, C=C, P=P, R1=2 * P - L, S1=2 * P - H, R2=P + (H - L), S2=P - (H - L)) + + +def px_ratio(ch, a, b, c): + """raportul (c-b)/(b-a) măsurat în pixeli, după render""" + return (ch._y(b) - ch._y(c)) / (ch._y(a) - ch._y(b)) + + +def f2(x): + return f"{x:.2f}" + + +# ================================================================ 1. calcul + proiecție bull (daily, pivot monthly) +A0, B0, N = 0, 21, 42 +PA = 48.00 # pivotul lunii A (calculat din luna dinaintea ei, nu e pe desen) +a_cl = [47.0, 46.8, 47.4, 47.1, 48.0, 48.5, 48.2, 49.1, 49.7, 49.3, 50.2, 50.8, 50.4, 51.3, 51.8, 51.5, 51.9, 51.3, + 51.7, 51.1, 51.4] +b_cl = [51.0, 50.6, 50.4, 51.1, 51.8, 52.5, 52.2, 53.0, 53.5, 53.0, 52.7, 53.3, 54.0, 54.6, 54.3, 55.0, 55.5, 54.9, + 54.5, 54.9, 55.1] +w = [(0.3, 0.3)] * 21 + [(0.3, 0.3), (0.2, 0.3), (0.3, 0.35), (0.3, 0.3)] + [(0.3, 0.3)] * 17 +cds = from_closes(a_cl + b_cl, wicks=w, start=47.3) +pv = pivots(cds[A0:B0]) +b = cds[B0:] +assert pv["P"] > PA, "proiecția trebuie să fie bull: pivotul lunii B peste pivotul lunii A" +assert max(c.h for c in b) >= pv["R2"], "în proiecția bull exemplul trebuie să atingă R2" +hit_r1 = B0 + next(i for i, c in enumerate(b) if c.h >= pv["R1"]) +hit_r2 = B0 + next(i for i, c in enumerate(b) if c.h >= pv["R2"]) +low_b = min(c.l for c in b) +i_low_b = B0 + min(range(len(b)), key=lambda i: b[i].l) +assert abs(low_b - pv["P"]) <= 0.15 and low_b > pv["S1"], "pullback-ul lunii B trebuie să se oprească la pivot, peste S1" +P1 = pv +assert hit_r1 - B0 + 1 == 9 and hit_r2 - B0 + 1 == 17, "textul: R1 în ziua 9, R2 în ziua 17" +print(f"D1 luna A H {f2(pv['H'])} L {f2(pv['L'])} C {f2(pv['C'])} -> P {f2(pv['P'])} R1 {f2(pv['R1'])} " + f"R2 {f2(pv['R2'])} S1 {f2(pv['S1'])}; low B {f2(low_b)} la {i_low_b}; R1 la {hit_r1}, R2 la {hit_r2}") +ch = PChart(candles=cds, + segs=[Seg(A0, B0 - 1, PA, f"pivot A {PA:.2f}", ORANGE, "lm"), + Seg(B0, N - 1, pv["R2"], f"R2 {f2(pv['R2'])}", BLUE), + Seg(B0, N - 1, pv["R1"], f"R1 {f2(pv['R1'])}", BLUE), + Seg(B0, N - 1, pv["P"], f"pivot B {f2(pv['P'])}", ORANGE), + Seg(B0, N - 1, pv["S1"], f"S1 {f2(pv['S1'])}", RED)], + seps=[B0], + marks=[Mark(i_low_b, "ține pivotul", ORANGE, "below", dy=4), + Mark(hit_r1, "R1", BLUE, "above"), + Mark(hit_r2, "R2", BLUE, "above")], + scale=20, title="Exemplu construit (fără ticker) — daily, pivot monthly", + caption=f"Pivotul B = (H {f2(pv['H'])} + L {f2(pv['L'])} + C {f2(pv['C'])}) / 3 = {f2(pv['P'])} > {PA:.2f}: proiecție bull.", + **STYLE) +svgs["bull"] = ch.render() + +# ================================================================ 2. proiecție bear + reject sub pivot (short) +PA2 = 52.00 +a_cl = [53.0, 53.2, 52.6, 52.9, 52.0, 51.5, 51.8, 50.9, 50.3, 50.7, 49.8, 49.2, 49.6, 48.7, 48.2, 48.5, 48.1, 48.7, + 48.3, 48.9, 48.6] +b_cl = [49.0, 49.4, 49.7, 49.0, 48.8, 48.3, 48.6, 47.9, 47.3, 47.6, 46.9, 46.3, 46.7, 46.0, 45.5, 45.8, 45.0, 44.6, + 44.9, 44.5, 44.8] +w = [(0.3, 0.3)] * 21 + [(0.3, 0.3), (0.3, 0.3), (0.6, 0.2), (0.2, 0.3)] + [(0.3, 0.3)] * 17 +cds = from_closes(a_cl + b_cl, wicks=w, start=52.7) +pv = pivots(cds[A0:B0]) +b = cds[B0:] +RJ, TR = B0 + 2, B0 + 3 +assert pv["P"] < PA2, "proiecția trebuie să fie bear" +assert cds[RJ].h > pv["P"] and cds[RJ].c < pv["P"], "bara de reject: codiță peste pivot, închidere sub" +assert all(c.h < pv["P"] for c in cds[B0:RJ]), "înainte de reject prețul e sub pivot" +assert cds[TR].c < cds[RJ].l, "trigger-ul short: închidere sub low-ul barei de reject" +entry = cds[TR].c +sl = round(cds[RJ].h + 0.10, 2) +risk = sl - entry +tp = round(entry - 2 * risk, 2) +hit = next(i for i in range(TR + 1, N) if cds[i].l <= tp) +assert min(c.l for c in b) <= pv["S2"], "în proiecția bear exemplul atinge S2" +assert max(c.h for c in cds[TR + 1:]) < pv["P"], "după reject prețul nu mai revine peste pivot" +hit_s1 = next(i for i in range(B0, N) if cds[i].l <= pv["S1"]) +hit_s2 = next(i for i in range(B0, N) if cds[i].l <= pv["S2"]) +assert hit - B0 + 1 == 12, "textul: TP în a 12-a zi" +print(f"D2 P {f2(pv['P'])} R1 {f2(pv['R1'])} S1 {f2(pv['S1'])} S2 {f2(pv['S2'])}; reject high {f2(cds[RJ].h)} " + f"close {f2(cds[RJ].c)}; entry {f2(entry)} SL {f2(sl)} risc {f2(risk)} TP {f2(tp)} atins la {hit}; S1 {hit_s1} S2 {hit_s2}") +ch = PChart(candles=cds, + segs=[Seg(A0, B0 - 1, PA2, f"pivot A {PA2:.2f}", ORANGE, "lm"), + Seg(B0, N - 1, pv["R1"], f"R1 {f2(pv['R1'])}", BLUE), + Seg(B0, N - 1, pv["P"], f"pivot B {f2(pv['P'])}", ORANGE), + Seg(B0, N - 1, pv["S1"], f"S1 {f2(pv['S1'])}", RED), + Seg(B0, N - 1, pv["S2"], f"S2 {f2(pv['S2'])}", RED)], + seps=[B0], + levels=[Level(sl, f"SL {f2(sl)}", RED, label_at="left"), + Level(entry, f"intrare short {f2(entry)}", GREEN, label_at="left"), + Level(tp, f"TP {f2(tp)} = 2R", BLUE, label_at="left")], + marks=[Mark(RJ, "reject", RED, "above", dy=-4)], + scale=20, title="Exemplu construit (fără ticker) — daily, pivot monthly", + caption=f"Pivotul B {f2(pv['P'])} < pivotul A {PA2:.2f}: proiecție bear. Rejectul sub pivot dă short-ul.", + **STYLE) +svg_ = ch.render() +assert abs(1 / px_ratio(ch, tp, entry, sl) - 2.0) < 0.01, "2R nu e desenat la 2x risc" +svgs["bear"] = svg_ +BEAR = dict(pv=pv, entry=entry, sl=sl, tp=tp, risk=risk, rj_h=cds[RJ].h, rj_c=cds[RJ].c, PA=PA2) + +# ================================================================ 3-4. pivoți divergenți = trading range +PAd, R1Ad, S1Ad = 50.00, 54.00, 46.00 # nivelurile lunii A (din luna dinaintea ei) +a_cl = [51.6, 52.3, 52.9, 53.2, 52.6, 52.0, 51.3, 50.6, 49.9, 49.2, 48.7, 48.4, 48.9, 49.6, 50.3, 50.9, 51.4, 50.8, + 50.2, 50.6, 50.2] +aw = [(0.3, 0.3)] * 21 +# 3. NU: luna B rămâne între S1 și R1 +b_nu = [50.8, 51.5, 52.2, 52.6, 52.1, 51.4, 50.6, 49.8, 49.0, 48.5, 48.9, 49.7, 50.5, 51.3, 52.0, 52.5, 52.0, 51.2, + 50.5, 49.8, 50.3] +cds = from_closes(a_cl + b_nu, wicks=aw + [(0.3, 0.3)] * 21, start=51.0) +pv = pivots(cds[A0:B0]) +b = cds[B0:] +assert pv["P"] > PAd and pv["S1"] > S1Ad and pv["R1"] < R1Ad, "pivoții nu sunt divergenți" +assert max(c.h for c in b) < pv["R1"] and min(c.l for c in b) > pv["S1"], "luna B trebuie să rămână în range" +top_b = B0 + max(range(21), key=lambda i: b[i].h) +bot_b = B0 + min(range(21), key=lambda i: b[i].l) +DIV = pv +print(f"D3 A-levels P {PAd} R1 {R1Ad} S1 {S1Ad}; B: P {f2(pv['P'])} R1 {f2(pv['R1'])} S1 {f2(pv['S1'])} R2 {f2(pv['R2'])}; " + f"B high {f2(max(c.h for c in b))} low {f2(min(c.l for c in b))}") +ch = PChart(candles=cds, + segs=[Seg(A0, B0 - 1, R1Ad, f"R1 A {R1Ad:.2f}", BLUE, "lm"), + Seg(A0, B0 - 1, PAd, f"pivot A {PAd:.2f}", ORANGE, "lm"), + Seg(A0, B0 - 1, S1Ad, f"S1 A {S1Ad:.2f}", RED, "lm"), + Seg(B0, N - 1, pv["R1"], f"R1 B {f2(pv['R1'])} (mai jos)", BLUE), + Seg(B0, N - 1, pv["P"], f"pivot B {f2(pv['P'])} (mai sus)", ORANGE), + Seg(B0, N - 1, pv["S1"], f"S1 B {f2(pv['S1'])} (mai sus)", RED)], + seps=[B0], + marks=[Mark(top_b, "nu atinge R1", GRAY, "above", dy=-12), + Mark(bot_b, "nu atinge S1", GRAY, "below", dy=14)], + scale=24, title="Exemplu construit (fără ticker) — daily, pivot monthly", + caption="Suport și pivot mai sus, rezistență mai jos: luna B e un trading range.", **STYLE) +svgs["divergenti_nu"] = ch.render() + +# 4. DA: luna B atinge R1 și continuă +b_da = [50.8, 51.4, 52.0, 52.6, 53.4, 53.9, 53.6, 53.4, 53.9, 54.3, 54.9, 54.6, 55.2, 55.7, 55.4, 56.0, 56.5, 56.2, + 56.6, 56.3, 56.8] +bw = [(0.3, 0.3)] * 7 + [(0.2, 0.3), (0.3, 0.2)] + [(0.3, 0.3)] * 12 +cds = from_closes(a_cl + b_da, wicks=aw + bw, start=51.0) +pv = pivots(cds[A0:B0]) +BO, RT, CF = B0 + 4, B0 + 7, B0 + 8 +assert abs(pv["P"] - DIV["P"]) < 1e-9, "luna A trebuie să fie aceeași ca la diagrama NU" +assert all(c.c <= pv["R1"] for c in cds[B0:BO]) and cds[BO].c > pv["R1"], "bara 25 e prima închidere peste R1 B" +assert abs(cds[RT].l - pv["R1"]) <= 0.12 and cds[RT].c > pv["R1"], "retestul trebuie să atingă R1 B și să închidă peste" +assert cds[CF].c > cds[RT].h, "candela din dreapta confirmă retestul" +entry = cds[CF].c +sl = round(cds[RT].l - 0.20, 2) +risk = entry - sl +tp = round(pv["R2"], 2) +R = (tp - entry) / risk +hit = next(i for i in range(CF + 1, N) if cds[i].h >= tp) +hit_r1a = next(i for i in range(CF, N) if cds[i].h >= R1Ad) +assert R >= 2, R +print(f"D4 breakout {f2(cds[BO].c)} retest low {f2(cds[RT].l)} entry {f2(entry)} SL {f2(sl)} risc {f2(risk)} " + f"TP R2 {f2(tp)} = {R:.2f}R atins la {hit}; R1 A atins la {hit_r1a}") +DIVT = dict(entry=entry, sl=sl, tp=tp, R=R, bo=cds[BO].c, rt=cds[RT].l, risk=risk) +ch = PChart(candles=cds, + segs=[Seg(A0, B0 - 1, R1Ad, f"R1 A {R1Ad:.2f}", BLUE, "lm"), + Seg(A0, B0 - 1, PAd, f"pivot A {PAd:.2f}", ORANGE, "lm"), + Seg(A0, B0 - 1, S1Ad, f"S1 A {S1Ad:.2f}", RED, "lm"), + Seg(B0, N - 1, pv["R1"], f"R1 B {f2(pv['R1'])}", BLUE), + Seg(B0, N - 1, pv["P"], f"pivot B {f2(pv['P'])}", ORANGE), + Seg(B0, N - 1, pv["S1"], f"S1 B {f2(pv['S1'])}", RED)], + seps=[B0], + levels=[Level(sl, f"SL {f2(sl)}", RED, label_at="left"), + Level(entry, f"intrare {f2(entry)}", GREEN, label_at="left"), + Level(tp, f"TP = R2 B {f2(tp)} = {R:.1f}R", BLUE, label_at="left")], + marks=[Mark(BO, "close peste R1 B", GREEN, "above", dy=-18), + Mark(RT, "retest", ORANGE, "below", dy=4)], + scale=24, title="Exemplu construit (fără ticker) — daily, pivot monthly", + caption=f"Aceeași lună A. De data asta luna B atinge R1 ({f2(pv['R1'])}) și merge spre R2.", **STYLE) +svg_ = ch.render() +assert abs(px_ratio(ch, sl, entry, tp) - R) < 0.01 +svgs["divergenti_da"] = svg_ + +# ================================================================ 5-6. proiecție „inside" = compresie +PAi, R1Ai, S1Ai = 50.00, 55.00, 45.00 +a_cl = [50.6, 51.1, 51.5, 51.0, 50.4, 49.9, 49.6, 50.1, 50.7, 51.2, 51.4, 50.9, 50.3, 49.8, 50.2, 50.8, 51.2, 50.7, + 50.3, 50.6, 50.9] +aw = [(0.25, 0.25)] * 21 +av = [52, 48, 50, 46, 44, 47, 45, 42, 44, 43, 40, 42, 41, 38, 40, 39, 37, 38, 36, 37, 35] +# 5. NU: luna B stă în compresie +b_nu = [50.5, 51.0, 51.5, 51.2, 50.6, 50.2, 50.5, 50.9, 51.3, 51.0, 50.6, 50.4, 50.7, 51.1, 50.9, 50.6, 50.5, 50.8, + 51.0, 50.8, 50.7] +bv = [34, 33, 35, 31, 30, 32, 29, 28, 30, 27, 26, 27, 25, 26, 24, 25, 23, 24, 22, 23, 22] +cds = from_closes(a_cl + b_nu, wicks=aw + [(0.2, 0.2)] * 21, vols=av + bv, start=50.2) +pv = pivots(cds[A0:B0]) +b = cds[B0:] +wa, wb = R1Ai - S1Ai, pv["R1"] - pv["S1"] +assert abs(wb - (pv["H"] - pv["L"])) < 1e-9, "R1 - S1 = H - L al lunii anterioare" +assert wb / wa < 0.35, "proiecția B nu e inside față de A" +assert max(c.h for c in b) <= pv["R1"] and min(c.l for c in b) >= pv["S1"], "luna B trebuie să rămână între S1 și R1" +INS = pv +print(f"D5 A: H {f2(pv['H'])} L {f2(pv['L'])} C {f2(pv['C'])} -> P {f2(pv['P'])} R1 {f2(pv['R1'])} S1 {f2(pv['S1'])}; " + f"lățime A {wa:.2f} B {wb:.2f} ({wb / wa:.0%})") +ch = PChart(candles=cds, + segs=[Seg(A0, B0 - 1, R1Ai, f"R1 A {R1Ai:.2f}", BLUE, "lm"), + Seg(A0, B0 - 1, PAi, f"pivot A {PAi:.2f}", ORANGE, "lm"), + Seg(A0, B0 - 1, S1Ai, f"S1 A {S1Ai:.2f}", RED, "lm"), + Seg(B0, N - 1, pv["R1"], f"R1 B {f2(pv['R1'])}", BLUE), + Seg(B0, N - 1, pv["S1"], f"S1 B {f2(pv['S1'])}", RED)], + seps=[B0], + marks=[Mark(10, "luna A: range îngust", GRAY, "above", dy=-24), + Mark(B0 + 10, "luna B: compresie", GRAY, "below", dy=30)], + scale=22, vol_h=70, title="Exemplu construit (fără ticker) — daily, pivot monthly", + caption=f"R1 − S1 = H − L al lunii trecute: {wb:.2f} față de {wa:.2f}. Proiecție inside, volum în scădere.", + **STYLE) +svgs["inside_nu"] = ch.render() + +# 6. DA: din compresie, breakout cu volum până la rezistența lunii trecute +b_da = [50.5, 51.0, 51.5, 51.1, 50.6, 50.2, 50.7, 51.3, 51.4, 51.3, 51.6, 52.3, 53.0, 53.5, 53.2, 53.9, 54.4, 54.1, + 54.7, 55.2, 55.0] +bw = [(0.2, 0.2)] * 7 + [(0.15, 0.15)] * 4 + [(0.1, 0.2)] + [(0.3, 0.3)] * 9 +bv = [34, 33, 35, 31, 30, 32, 29, 28, 27, 26, 30, 92, 70, 64, 48, 60, 58, 44, 55, 57, 45] +cds = from_closes(a_cl + b_da, wicks=aw + bw, vols=av + bv, start=50.2) +pv = pivots(cds[A0:B0]) +BK = B0 + 11 +assert abs(pv["P"] - INS["P"]) < 1e-9 +assert all(c.c <= pv["R1"] for c in cds[B0:BK]) and cds[BK].c > pv["R1"], "bara 32 e prima închidere peste R1 B" +assert bv[11] >= 2.5 * sum(bv[1:11]) / 10, "breakout-ul trebuie să aibă volum clar peste media compresiei" +entry = cds[BK].c +hl = min(c.l for c in cds[BK - 3:BK]) +sl = round(hl - 0.10, 2) +risk = entry - sl +tp = R1Ai +R = (tp - entry) / risk +hit = next(i for i in range(BK + 1, N) if cds[i].h >= tp) +assert R >= 2, R + +assert min(c.l for c in cds[BK + 1:]) > sl +assert hit - B0 + 1 == 19 and BK - B0 + 1 == 12, "textul: breakout ziua 12, TP ziua 19" +assert all(abs(cds[i].l - 51.15) < 0.01 for i in range(BK - 3, BK)), "textul: ultimele trei low-uri la 51.15" +print(f"D6 breakout close {f2(entry)} vol {bv[11]} vs medie {sum(bv[1:11]) / 10:.0f}; HL {f2(hl)} SL {f2(sl)} " + f"risc {f2(risk)} TP {f2(tp)} = {R:.2f}R atins la {hit}") +INST = dict(entry=entry, sl=sl, tp=tp, R=R, risk=risk, vol=bv[11], vavg=sum(bv[1:11]) / 10) +ch = PChart(candles=cds, + segs=[Seg(A0, B0 - 1, PAi, f"pivot A {PAi:.2f}", ORANGE, "lm"), + Seg(A0, B0 - 1, S1Ai, f"S1 A {S1Ai:.2f}", RED, "lm"), + Seg(B0, N - 1, pv["R1"], f"R1 B {f2(pv['R1'])}", PURPLE), + Seg(B0, N - 1, pv["S1"], f"S1 B {f2(pv['S1'])}", RED)], + seps=[B0], + levels=[Level(sl, f"SL {f2(sl)}", RED, label_at="left"), + Level(entry, f"intrare {f2(entry)}", GREEN, label_at="left"), + Level(tp, f"TP = R1 lunii trecute {f2(tp)} = {R:.1f}R", BLUE, label_at="left")], + marks=[Mark(BK, "breakout cu volum", GREEN, "above", dy=-30)], + scale=22, vol_h=70, title="Exemplu construit (fără ticker) — daily, pivot monthly", + caption="Aceeași compresie; volumul de 3x pe breakout o scoate până la rezistența lunii trecute.", + **STYLE) +svg_ = ch.render() +assert abs(px_ratio(ch, sl, entry, tp) - R) < 0.01 +svgs["inside_da"] = svg_ + +# ================================================================ 7. reject deasupra pivotului (suport) — long +PIV = 50.00 +cl7 = [55.8, 55.2, 55.5, 54.7, 54.1, 54.4, 53.6, 53.0, 53.2, 52.4, 51.8, 51.1, # 0-11 pullback spre pivot + 50.5, 50.3, 50.7, 50.4, 50.6, # 12-16 rejecturi pe pivot + 50.65, # 17 doji + 51.6, # 18 buy doji + 52.3, 52.0, 52.8, 53.5, 53.2, 54.0, 54.6, 54.3, 55.0, 55.6, 55.3, 56.0] # 19-30 +w7 = [(0.3, 0.3)] * 12 + [(0.2, 0.7), (0.2, 0.6), (0.2, 0.8), (0.2, 0.5), (0.2, 0.6), (0.5, 0.5), (0.2, 0.2)] \ + + [(0.3, 0.3)] * 12 +cds = from_closes(cl7, wicks=w7, start=56.2) +DJ, BD = 17, 18 +rej = range(12, 17) +assert all(cds[i].l < PIV and cds[i].c > PIV for i in rej), "fiecare reject: codiță sub pivot, închidere peste" +assert abs(cds[DJ].o - cds[DJ].c) <= 0.1 and cds[BD].c > cds[DJ].h, "buy doji după doji" +entry = cds[BD].c +sl = round(min(cds[i].l for i in range(12, BD + 1)) - 0.10, 2) +risk = entry - sl +tp = round(entry + 2 * risk, 2) +hit = next(i for i in range(BD + 1, len(cds)) if cds[i].h >= tp) +assert min(c.l for c in cds[BD + 1:]) > PIV +assert hit - BD == 12, "textul: TP după 12 săptămâni" +print(f"D7 rejecturi lows {[f2(cds[i].l) for i in rej]}; entry {f2(entry)} SL {f2(sl)} risc {f2(risk)} TP {f2(tp)} atins la {hit}") +REJL = dict(entry=entry, sl=sl, tp=tp, risk=risk, low=min(cds[i].l for i in rej)) +ch = PChart(candles=cds, + levels=[Level(PIV, f"pivot quarterly {PIV:.2f}", ORANGE, label_at="right"), + Level(sl, f"SL {f2(sl)}", RED, label_at="left"), + Level(entry, f"intrare {f2(entry)}", GREEN, label_at="left"), + Level(tp, f"TP {f2(tp)} = 2R", BLUE, label_at="left")], + marks=[Mark(4, "pullback", GRAY, "below", dy=8), + Mark(14, "5 rejecturi deasupra pivotului", ORANGE, "below", dy=18), + Mark(BD, "buy doji", GREEN, "above", dy=-4), + Mark(hit, "TP", BLUE, "above")], + scale=22, pad_bot_px=14, title="Exemplu construit (fără ticker) — weekly, pivot quarterly", + caption="Codițele coboară sub pivot, close-urile rămân deasupra: pivotul e apărat.", **STYLE) +svg_ = ch.render() +assert abs(px_ratio(ch, sl, entry, tp) - 2.0) < 0.01 +svgs["reject_deasupra"] = svg_ + +# ================================================================ 8. reject sub pivot -> cumperi mai jos, în suportul quarterly +PM, PQ = 52.00, 48.00 # pivot monthly, pivot quarterly +cl8 = [49.4, 49.9, 50.6, 51.2, 51.7, # 0-4 urcare spre pivotul monthly + 51.5, 51.8, 51.4, 51.6, # 5-8 rejecturi sub pivot + 50.9, 50.3, 50.6, 49.8, 49.2, 49.5, 48.4, # 9-15 cădere + 48.5, 48.55, # 16 hammer, 17 doji în pivotul quarterly + 49.1, # 18 buy doji + 49.6, 49.4, 50.2, 50.8, 50.5, 51.3, 51.9, 51.6, 52.3, 52.6, 52.4, 53.0] # 19-30 +w8 = [(0.3, 0.3)] * 5 + [(0.6, 0.2), (0.5, 0.2), (0.7, 0.2), (0.5, 0.2)] + [(0.3, 0.3)] * 7 \ + + [(0.1, 0.4), (0.35, 0.3), (0.2, 0.2)] + [(0.3, 0.3)] * 12 +v8 = [40, 42, 45, 44, 41, 38, 36, 40, 35, 50, 55, 42, 58, 60, 44, 62, 70, 48, 66, 52, 40, 55, 58, 42, 54, 57, 40, 52, 50, 41, 49] +cds = from_closes(cl8, wicks=w8, vols=v8, start=49.0) +HM, DJ, BD = 16, 17, 18 +assert all(cds[i].h > PM and cds[i].c < PM for i in range(5, 9)), "rejecturi: codiță peste pivotul monthly, close sub" +assert abs(cds[HM].l - PQ) <= 0.1 and cds[HM].c > PQ, "hammer-ul atinge pivotul quarterly și închide peste" +assert abs(cds[DJ].o - cds[DJ].c) <= 0.1 and cds[BD].c > cds[DJ].h +entry = cds[BD].c +sl = round(min(c.l for c in cds[HM:BD + 1]) - 0.20, 2) +risk = entry - sl +tp1 = PM +R1m = (tp1 - entry) / risk +tp2 = round(entry + 3 * risk, 2) +hit1 = next(i for i in range(BD + 1, len(cds)) if cds[i].h >= tp1) +hit2 = next(i for i in range(BD + 1, len(cds)) if cds[i].h >= tp2) +assert R1m >= 2, R1m +assert min(c.l for c in cds[BD + 1:]) > sl +assert v8[HM] > max(v8[9:HM]), "textul: hammer cu cel mai mare volum de la cădere încoace" +print(f"D8 rejecturi highs {[f2(cds[i].h) for i in range(5, 9)]}; hammer low {f2(cds[HM].l)}; entry {f2(entry)} SL {f2(sl)} " + f"risc {f2(risk)} TP1 {f2(tp1)} = {R1m:.2f}R la {hit1}; TP2 {f2(tp2)} = 3R la {hit2}") +REJS = dict(entry=entry, sl=sl, tp1=tp1, R1=R1m, tp2=tp2, risk=risk, hm=cds[HM].l) +ch = PChart(candles=cds, + levels=[Level(tp2, f"TP2 {f2(tp2)} = 3R", BLUE, label_at="left"), + Level(PM, f"pivot monthly {PM:.2f} = TP1 ({R1m:.1f}R)", ORANGE, label_at="left"), + Level(entry, f"intrare {f2(entry)}", GREEN, label_at="right"), + Level(PQ, f"pivot quarterly {PQ:.2f}", PURPLE, label_at="right"), + Level(sl, f"SL {f2(sl)}", RED, label_at="right")], + marks=[Mark(6, "reject sub pivot: NU", RED, "above", dy=-16), + Mark(HM, "hammer", PURPLE, "below", dy=8), + Mark(BD, "buy doji", GREEN, "above", dy=-6)], + scale=26, pad_bot_px=12, vol_h=70, title="Exemplu construit (fără ticker) — daily", + caption="Nu cumperi rejectul de sub pivotul monthly. Cumperi mai jos, în pivotul quarterly.", **STYLE) +svg_ = ch.render() +assert abs(px_ratio(ch, sl, entry, tp2) - 3.0) < 0.01 +svgs["reject_sub"] = svg_ + +# ================================================================ 9. respins de 5 ori sub pivot, apoi închidere deasupra cu doji +PQ9 = 50.00 +cl9 = [47.2, 46.6, 46.9, 46.2, 45.6, 45.9, 45.3, # 0-6 downtrend + 45.8, 46.6, 47.4, 48.3, 49.1, # 7-11 revenire spre pivot + 49.6, 49.3, 49.7, 49.4, 49.8, 49.5, # 12-17 rejecturi sub pivot (5 cu codiță peste) + 50.35, 50.40, # 18 close peste, 19 doji peste + 51.2, # 20 buy doji + 51.0, 51.7, 52.3, 52.0, 52.8, 53.4, 53.1, 53.9, 54.4, 54.1, 54.8] # 21-31 +w9 = [(0.3, 0.3)] * 12 + [(0.6, 0.2), (0.3, 0.2), (0.6, 0.2), (0.45, 0.2), (0.6, 0.2), (0.3, 0.2)] \ + + [(0.2, 0.3), (0.35, 0.3), (0.2, 0.2)] + [(0.3, 0.3)] * 11 +cds = from_closes(cl9, wicks=w9, start=47.6) +rj = [i for i in range(12, 18) if cds[i].h > PQ9 and cds[i].c < PQ9] +assert len(rj) == 5, rj +assert all(c.c < PQ9 for c in cds[:18]), "până la bara 18 niciun close peste pivot" +X, DJ, BD = 18, 19, 20 +assert cds[X].c > PQ9 and cds[DJ].c > PQ9 and abs(cds[DJ].o - cds[DJ].c) <= 0.1 and cds[BD].c > cds[DJ].h +entry = cds[BD].c +sl = round(min(cds[DJ].l, PQ9) - 0.25, 2) # sub doji și sub pivot +risk = entry - sl +tp = round(entry + 2 * risk, 2) +hit = next(i for i in range(BD + 1, len(cds)) if cds[i].h >= tp) +assert min(c.l for c in cds[BD + 1:]) > PQ9 +assert hit - BD == 8, "textul: TP după 8 săptămâni" +print(f"D9 rejecturi la {rj}; close peste {f2(cds[X].c)}, doji {f2(cds[DJ].c)}; entry {f2(entry)} SL {f2(sl)} " + f"risc {f2(risk)} TP {f2(tp)} atins la {hit}") +BRK = dict(entry=entry, sl=sl, tp=tp, risk=risk) +ch = PChart(candles=cds, + levels=[Level(PQ9, f"pivot quarterly {PQ9:.2f}", ORANGE, label_at="left"), + Level(sl, f"SL {f2(sl)}", RED, label_at="right"), + Level(entry, f"intrare {f2(entry)}", GREEN, label_at="right"), + Level(tp, f"TP {f2(tp)} = 2R", BLUE, label_at="left")], + marks=[Mark(3, "downtrend", GRAY, "above", dy=-10), + Mark(14, "5 rejecturi sub pivot", RED, "above", dy=-40), + Mark(DJ, "doji peste", "#333", "below", dy=4), + Mark(BD, "buy doji", GREEN, "above", dy=-4)], + scale=24, title="Exemplu construit (fără ticker) — weekly, pivot quarterly", + caption="Cinci respingeri, apoi două close-uri peste pivot și buy doji: acum pivotul e suport.", **STYLE) +svg_ = ch.render() +assert abs(px_ratio(ch, sl, entry, tp) - 2.0) < 0.01 +svgs["reject_apoi_peste"] = svg_ + +# ================================================================ 10-11. scărița pe pivoți (weekly, pivot quarterly) +Q = 13 +PQ1 = 44.00 +q1 = [45.6, 45.2, 45.8, 46.5, 47.2, 48.0, 48.6, 48.2, 47.6, 47.9, 48.8, 49.4, 49.0] +q2 = [48.7, 48.4, 48.9, 49.6, 50.3, 51.0, 51.5, 51.0, 50.4, 50.1, 50.6, 51.3, 51.1] +q3_da = [50.8, 50.7, 51.1, 51.7, 52.3, 51.9, 52.6, 53.3, 53.0, 53.8, 54.4, 54.1, 54.9] +q3_nu = [50.8, 50.7, 51.1, 51.4, 51.2, 50.6, 50.1, 49.6, 49.9, 49.2, 48.7, 49.0, 48.4] +wq = [(0.3, 0.3)] * 39 +wq[14] = (0.3, 0.3) # low-ul trimestrului 2 +wq[22] = (0.3, 0.4) # higher low în trimestrul 2 +wq[27] = (0.3, 0.3) # higher low în trimestrul 3 + + +def stairs(q3): + cds = from_closes(q1 + q2 + q3, wicks=wq, start=46.0) + p2 = pivots(cds[0:Q]) + p3 = pivots(cds[Q:2 * Q]) + return cds, p2, p3 + + +cds, p2, p3 = stairs(q3_da) +lows = [min(range(0, Q), key=lambda i: cds[i].l), + min(range(Q, 18), key=lambda i: cds[i].l), + min(range(20, 2 * Q), key=lambda i: cds[i].l), + min(range(2 * Q, 30), key=lambda i: cds[i].l)] +hh = [max(range(0, Q), key=lambda i: cds[i].h), max(range(Q, 2 * Q), key=lambda i: cds[i].h)] +assert PQ1 < p2["P"] < p3["P"], "pivoții quarterly nu urcă în trepte" +assert all(cds[lows[k]].l < cds[lows[k + 1]].l for k in range(3)), "swing low-urile nu urcă" +assert cds[lows[1]].l > p2["P"] and cds[lows[2]].l > p2["P"] and cds[lows[3]].l > p3["P"] - 0.05, "HL sub pivotul trimestrului" +assert cds[lows[3]].l < p3["P"] + 0.5 +brk = next(i for i in range(2 * Q, 39) if cds[i].c > cds[hh[1]].h) +assert cds[hh[1]].h > cds[hh[0]].h +print(f"D10 pivoti Q1 {PQ1} Q2 {f2(p2['P'])} Q3 {f2(p3['P'])}; lows {[f2(cds[i].l) for i in lows]} la {lows}; " + f"high Q1 {f2(cds[hh[0]].h)} Q2 {f2(cds[hh[1]].h)}; breakout la {brk} close {f2(cds[brk].c)}") +STAIR = dict(p2=p2, p3=p3, lows=[cds[i].l for i in lows], hq1=cds[hh[0]].h, hq2=cds[hh[1]].h, brk=cds[brk].c) +ch = PChart(candles=cds, + segs=[Seg(0, Q - 1, PQ1, f"pivot Q1 {PQ1:.2f}", ORANGE, "lm"), + Seg(Q, 2 * Q - 1, p2["P"], f"pivot Q2 {f2(p2['P'])}", ORANGE, "left", 14), + Seg(2 * Q, 38, p3["P"], f"pivot Q3 {f2(p3['P'])}", ORANGE)], + seps=[Q, 2 * Q], + marks=[Mark(lows[0], "low", RED, "below", dy=8), + Mark(lows[1], "HL", GREEN, "below", dy=22), + Mark(lows[2], "HL", GREEN, "below", dy=30), + Mark(lows[3], "HL", GREEN, "below", dy=14), + Mark(hh[1], "vârf Q2", BLUE, "above"), + Mark(brk, "breakout", GREEN, "above", dy=-4)], + mas=[MA(20, GRAY, dash="4 3", text="SMA-20")], + scale=18, title="Exemplu construit (fără ticker) — weekly, pivot quarterly", + caption="Treaptă cu treaptă: pivotul fiecărui trimestru mai sus, fiecare higher low deasupra lui.", **STYLE) +svgs["scarita_da"] = ch.render() + +cds, p2n, p3n = stairs(q3_nu) +assert abs(p3n["P"] - p3["P"]) < 1e-9, "Q1 și Q2 identice cu diagrama DA" +assert max(c.h for c in cds[2 * Q:]) < STAIR["hq2"], "breakout-ul peste vârful Q2 nu vine" +hl2 = STAIR["lows"][2] +ll = next(i for i in range(2 * Q, 39) if cds[i].c < hl2) +top3 = max(range(2 * Q, 39), key=lambda i: cds[i].h) +assert cds[ll].c < p3n["P"] +under = next(i for i in range(2 * Q, 39) if cds[i].c < p3n["P"]) +print(f"D11 high Q3 {f2(max(c.h for c in cds[2 * Q:]))} < vârf Q2 {f2(STAIR['hq2'])}; close sub pivot Q3 la {under} " + f"({f2(cds[under].c)}); close sub HL {f2(hl2)} la {ll} ({f2(cds[ll].c)})") +STAIRN = dict(h3=max(c.h for c in cds[2 * Q:]), under=cds[under].c, ll=cds[ll].c, hl2=hl2) +ch = PChart(candles=cds, + segs=[Seg(0, Q - 1, PQ1, f"pivot Q1 {PQ1:.2f}", ORANGE, "lm"), + Seg(Q, 2 * Q - 1, p2n["P"], f"pivot Q2 {f2(p2n['P'])}", ORANGE, "left", 14), + Seg(2 * Q, 38, p3n["P"], f"pivot Q3 {f2(p3n['P'])}", ORANGE)], + seps=[Q, 2 * Q], + levels=[Level(STAIR["hq2"], f"vârf Q2 {f2(STAIR['hq2'])}", BLUE, label_at="left"), + Level(hl2, f"HL din Q2 {f2(hl2)}", RED, label_at="left")], + marks=[Mark(top3, "fără breakout", GRAY, "above", dy=-4), + Mark(ll, "lower low", RED, "below", dy=4)], + mas=[MA(20, GRAY, dash="4 3", text="SMA-20")], + scale=18, title="Exemplu construit (fără ticker) — weekly, pivot quarterly", + caption="Pivotul Q3 a urcat, dar prețul nu face vârf nou și închide sub HL-ul din Q2: scărița s-a rupt.", + **STYLE) +svgs["scarita_nu"] = ch.render() + +# ---------------------------------------------------------------- substituție în .md +if MD.exists(): + md = MD.read_text(encoding="utf-8") + for name, svg in svgs.items(): + pat = re.compile(rf".*?", re.S) + assert pat.search(md), f"marcatorul {name} lipsește din .md" + md = pat.sub(lambda _m: f"\n{svg}\n", md) + MD.write_text(md, encoding="utf-8") + print("scris", MD) diff --git a/summaries/08_ANALIZA_ZILNICA/04_pivoti_si_proiectii.html b/summaries/08_ANALIZA_ZILNICA/04_pivoti_si_proiectii.html new file mode 100644 index 0000000..d8e9790 --- /dev/null +++ b/summaries/08_ANALIZA_ZILNICA/04_pivoti_si_proiectii.html @@ -0,0 +1,1778 @@ + + + + + +Analiză zilnică / #4 — Pivoți și proiecții + + + +

Analiză zilnică / #4 — Pivoți și proiecții

+

TLDR

+
    +
  • Pivotul perioadei = (H + L + C) / 3 al perioadei încheiate. Pe + daily te uiți la pivotul monthly, pe weekly la quarterly, pe + monthly la pivotul de an.
  • +
  • Proiecția bull = pivotul curent peste cel anterior: aștepți R1 și R2, + un singur suport. Bear = invers. Proiecția nu e trigger.
  • +
  • Deasupra pivotului = zona cumpărătorilor. Închiderea peste pivot e + condiția din sfântul buy doji și din strategia MICI; reject sub pivot + = „nu-mi place", cumperi mai jos, în suportul următor.
  • +
  • Pivoți divergenți (suport și pivot mai sus, rezistență mai jos) = + trading range. Dacă totuși atinge rezistența, are șanse să continue.
  • +
  • Proiecție „inside" (range lunar mult mai îngust decât luna trecută) = + compresie. Nu obligatoriu: poate ieși spre rezistența lunii trecute, + dacă are volum.
  • +
  • Scărița pe pivoți: pivotul fiecărei perioade mai sus decât precedentul + e structură bull, la fel ca higher highs / higher lows pe preț.
  • +
+
+

De ce urmărești pivoții

+

Pivotul e un nivel calculat, nu desenat cu ochiul: toată lumea care +folosește floor pivots vede exact aceeași cifră. De aceea acolo se +strâng ordine, iar reacția prețului la nivel spune ceva: dacă vânzătorii +nu reușesc să închidă prețul sub pivot, cineva îl apără; dacă +cumpărătorii nu reușesc să-l închidă deasupra, oferta de acolo e mai +mare decât cererea.

+

Ce decizie te ajută să iei:

+
    +
  • direcția permisă — un buy doji deasupra pivotului monthly, în + proiecție bull, e un trade; același buy doji sub pivot, rejectat, nu + (10.09, 03.09);
  • +
  • unde intri — nu la primul suport, ci acolo unde pivotul coincide cu + alte niveluri: S2, suportul monthly, locul crimei, gap-ul închis (21.08);
  • +
  • unde ieși — R1, R2 și rezistența lunii trecute sunt treptele țintei;
  • +
  • cât de mult aștepți de la lună — proiecția inside îți spune că luna + are loc puțin, deci ținta e mai mică (10.09).
  • +
+
+

„Proiecția e proiecție. Eu trebuie să am și trend, că degeaba am +proiecție dacă n-am trigger. Pot să am proiecție bull și el să cadă." +(Q&A 14.10.2025)

+
+
+

Termenii, o singură dată

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TermenCe înseamnă aici
pivot (PP)(High + Low + Close) / 3 al perioadei încheiate; nivelul de echilibru al perioadei noi
R1 / R2rezistențele: R1 = 2×PP − Low, R2 = PP + (High − Low)
S1 / S2suporturile: S1 = 2×PP − High, S2 = PP − (High − Low)
pivot monthly / quarterly / de anpivotul lunii, trimestrului, anului; „suportul de an" = S1 pe pivotul anual
proiecție bull / bearpivotul perioadei curente peste / sub pivotul perioadei anterioare
proiecție insiderange-ul S1–R1 al lunii curente mult mai îngust decât al lunii trecute → compresie
pivoți divergențisuport și pivot mai sus decât luna trecută, rezistență mai jos → trading range
reject pe pivotcodița trece de pivot, close-ul rămâne de partea cealaltă. „Sub pivot" = pivotul a fost rezistență; „deasupra" = a fost suport
scărițahigher highs / higher lows, treaptă cu treaptă; pe pivoți: fiecare pivot mai sus decât precedentul
buy dojitrigger: prima închidere peste high-ul unui doji, în max. 3 candele (vezi #1)
+
+

1. Ce pivot pe ce grafic

+

Pivotul se calculează din perioada cu o treaptă peste timeframe-ul +graficului, ca să ai un reper care nu se schimbă la fiecare bară +(Modul 2 / timeframes):

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
GraficulPivotul pe care îl citeștiCum apare în analiza zilnică
60 minweekly„în suport weekly", intrare de finețe
dailymonthly„deasupra pivotului monthly", „proiecție bull"
weeklyquarterly„rejectat pe pivotul quarterly", „succesiunea pivoților quarterly"
monthlyde an„a ținut pivotul de an ca la carte", „sub pivotul de an"
+

Cu cât timeframe-ul e mai mare, cu atât mai mulți bani mari se uită la +nivel. Pivotul quarterly și cel de an sunt „timeframe-urile +instituționale" ale lui: acolo contează cel mai mult un reject sau un +close.

+
+

2. Proiecția bull: calculul și ce aștepți de la lună

+ +

+ Exemplu construit (fără ticker) — daily, pivot monthly + + + pivot A 48.00 + + R2 55.73 + + R1 53.57 + + pivot B 50.03 + + S1 47.87 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ține pivotul + R1 + R2 + Pivotul B = (H 52.20 + L 46.50 + C 51.40) / 3 = 50.03 > 48.00: proiecție bull. +

+ + +

Calculul, pas cu pas, pe seria construită:

+
    +
  1. Luna A s-a încheiat cu high 52.20, low 46.50, close 51.40.
  2. +
  3. Pivotul lunii B = (52.20 + 46.50 + 51.40) / 3 = 50.03.
  4. +
  5. R1 = 2 × 50.03 − 46.50 = 53.57; R2 = 50.03 + 5.70 = 55.73; + S1 = 2 × 50.03 − 52.20 = 47.87.
  6. +
  7. Pivotul lunii A era 48.00. 50.03 > 48.00 → proiecție bull.
  8. +
+

Ce s-a întâmplat în luna B, exact ca în manual: pullback-ul din primele +zile se oprește la 50.05, pe pivot; prețul atinge R1 în a 9-a zi și +R2 în a 17-a. S1 nu a fost atins. Într-o proiecție bull aștepți două +rezistențe atinse și un singur suport; de aceea, cu stocastic și volum în +regulă, un pullback la pivot e loc de cumpărat, nu de vândut.

+
+

„Dacă ne închidem deasupra pivotului și McLennal oscillator deasupra +linei de zero, posibil o să continuă urcarea. Altfel, probabil va fi un +bearflake" (10.09, pe indici)

+
+

3. Proiecția bear, cu short pe reject

+ +

+ Exemplu construit (fără ticker) — daily, pivot monthly + + + pivot A 52.00 + + R1 52.13 + + pivot B 49.97 + + S1 46.43 + + S2 44.27 + + SL 50.40 + + intrare short 49.00 + + TP 46.20 = 2R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + reject + Pivotul B 49.97 < pivotul A 52.00: proiecție bear. Rejectul sub pivot dă short-ul. +

+ + +

Oglinda, pentru short:

+
    +
  • Pivotul lunii A: 52.00. Luna A închide la 48.60 → pivotul lunii B + 49.97, sub 52.00 → proiecție bear. S1 46.43, S2 44.27.
  • +
  • În a 3-a zi a lunii B, raliul atinge 50.30, peste pivot, dar + închide la 49.70, sub el: reject sub pivot.
  • +
  • A doua zi închide la 49.00, sub low-ul barei de reject (49.20) → + intrare short 49.00.
  • +
  • SL 50.40, 10 cenți peste codița rejectului: dacă prețul trece de + acolo, pivotul nu a mai fost rezistență.
  • +
  • TP 46.20 = 2R (risc 1.40), atins în a 12-a zi, aproape de S1. + Luna merge apoi până la S2: două suporturi atinse, nicio rezistență.
  • +
+
+

4. Pivoți divergenți = trading range

+

Regula (03.09): luna curentă are suportul și pivotul mai sus decât +luna trecută, dar rezistența mai jos. Nivelurile se strâng din ambele +părți, deci luna nu are o direcție clară.

+
+

„suport-ul mai sus, pivot-ul mai sus, resistance-ul da-i un pic mai jos, +deci e cumva un training range aici, dar dacă atinge resistance-ul ăsta, +are mari șans să ducă"

+
+

Mecanic, de ce se întâmplă asta: R1 = 2×PP − Low și S1 = 2×PP − High, deci +R1 − S1 = High − Low al lunii trecute. O lună trecută care a urcat și a +coborât înapoi spre mijloc dă un pivot mai sus (media) și un range mai +îngust decât luna dinaintea ei.

+

NU: luna rămâne în range

+ +

+ Exemplu construit (fără ticker) — daily, pivot monthly + + + R1 A 54.00 + + pivot A 50.00 + + S1 A 46.00 + + R1 B 53.10 (mai jos) + + pivot B 50.60 (mai sus) + + S1 B 47.70 (mai sus) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + nu atinge R1 + nu atinge S1 + Suport și pivot mai sus, rezistență mai jos: luna B e un trading range. +

+ + +
    +
  • Luna A avea pivot 50.00, R1 54.00, S1 46.00.
  • +
  • Luna A: high 53.50, low 48.10, close 50.20 → luna B: pivot 50.60 + (mai sus), S1 47.70 (mai sus), R1 53.10 (mai jos).
  • +
  • Luna B urcă până la 52.90 și coboară până la 48.20: nu atinge nici + R1, nici S1. Cine a cumpărat „breakout-ul" la 52.90 a cumpărat vârful + range-ului.
  • +
+

DA: atinge rezistența și continuă

+ +

+ Exemplu construit (fără ticker) — daily, pivot monthly + + + R1 A 54.00 + + pivot A 50.00 + + S1 A 46.00 + + R1 B 53.10 + + pivot B 50.60 + + S1 B 47.70 + + SL 52.90 + + intrare 53.90 + + TP = R2 B 56.00 = 2.1R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + close peste R1 B + retest + Aceeași lună A. De data asta luna B atinge R1 (53.10) și merge spre R2. +

+ + +

Aceeași lună A, deci aceleași niveluri. De data asta:

+
    +
  1. În a 5-a zi luna B închide la 53.40, peste R1 B (53.10). Range-ul + s-a rupt în sus.
  2. +
  3. Retest: codița coboară la 53.10, exact pe R1, close-ul rămâne peste.
  4. +
  5. Candela din dreapta închide la 53.90, peste high-ul retestului → + intrare 53.90.
  6. +
  7. SL 52.90, sub codița retestului. Sub R1, breakout-ul a eșuat și ești + înapoi în range.
  8. +
  9. TP = R2 B 56.00 = 2.1R (risc 1.00). Pe drum trece de 54.00, R1-ul + lunii trecute: prima țintă intermediară.
  10. +
+

„Proiecție neutră" (03.09: „nu e o proiecție bull, nu e o proiecție bear") +nu e definită în sesiuni. În curs, cel mai apropiat e bull neutru: +pivot mai sus, dar R2 mai jos decât R2-ul lunii trecute +(Modul 2). +Geometric, e aceeași situație ca pivoții divergenți de mai sus, deci +tratează-le la fel: range până la proba contrarie.

+
+

5. Proiecție „inside" = compresie

+

Regula (10.09): dacă distanța suport–rezistență din luna curentă e mult +mai mică decât luna trecută, proiecția anunță compresie, nu +expansiune.

+
+

„e proiectie bull inside, pentru că dacă unui resistance-ul din luna +asta nu e foarte expandat față de suport."

+
+

Cum arată compresia

+ +

+ Exemplu construit (fără ticker) — daily, pivot monthly + + + R1 A 55.00 + + pivot A 50.00 + + S1 A 45.00 + + R1 B 51.98 + + S1 B 49.58 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + luna A: range îngust + luna B: compresie + R1 − S1 = H − L al lunii trecute: 2.40 față de 10.00. Proiecție inside, volum în scădere. +

+ + +
    +
  • Luna A avea S1–R1 între 45.00 și 55.00: 10 puncte.
  • +
  • Luna A însă a stat îngust: high 51.75, low 49.35, close 50.90.
  • +
  • De aici luna B: pivot 50.67, R1 51.98, S1 49.58. R1 − S1 = + 2.40, adică 24% din range-ul lunii trecute.
  • +
  • Luna B stă toată între S1 și R1, cu volum în scădere. Un stop de 1-2 + puncte e deja în afara lunii; o țintă de 5 puncte n-are unde să vină.
  • +
+

Nu obligatoriu: breakout cu volum spre rezistența lunii trecute

+

Nuanța din 04.09:

+
+

„prevede o posibilă compresie, nu înseamnă că va fi neapărat compresia, +ar putea să atingă resistance-ul din luna trecută în luna asta și să ia +viteză."

+
+ +

+ Exemplu construit (fără ticker) — daily, pivot monthly + + + pivot A 50.00 + + S1 A 45.00 + + R1 B 51.98 + + S1 B 49.58 + + SL 51.05 + + intrare 52.30 + + TP = R1 lunii trecute 55.00 = 2.2R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + breakout cu volum + Aceeași compresie; volumul de 3x pe breakout o scoate până la rezistența lunii trecute. +

+ + +
    +
  1. Aceeași compresie în primele 11 zile; ultimele trei low-uri stau toate + la 51.15.
  2. +
  3. În a 12-a zi, închidere la 52.30, peste R1 B (51.98), cu volum + 92 față de o medie de 30 în compresie. Fără volumul acesta, + închiderea peste R1 poate fi doar codița de sus a range-ului: 04.09 + spune explicit că un wedge în compresie cere volum pentru breakout.
  4. +
  5. Intrare 52.30, SL 51.05 (sub ultimul higher low al compresiei).
  6. +
  7. TP 55.00 = R1-ul lunii trecute = 2.2R (risc 1.25). Atins în a 19-a + zi a lunii.
  8. +
+
+

6. Reject pe pivot: de care parte închide contează

+

Codița spune unde a ajuns prețul; close-ul spune cine a câștigat. Aceeași +atingere a pivotului e semnal opus după cum închide bara.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
Reject — DA (long)Reject — NU (nu intri long)
codițe sub pivot, close-uri deasupra: pivotul e apăratcodițe peste pivot, close-uri sub: pivotul e rezistență
„Îmi place foarte tare rejectul pe pivotul de an, cu un doji și un hammer"„rejectat sub pivotul de an, asta nu-mi place"
intri pe trigger (buy doji, MBT-10), stop sub codițeaștepți un nivel mai jos: suportul quarterly, S1, locul crimei
respins de mai multe ori sub pivot, apoi close-uri deasupra = continuaresell doji + reject pe pivotul quarterly bate și un fundamental bun (03.09)
+

DA: reject deasupra pivotului

+ +

+ Exemplu construit (fără ticker) — weekly, pivot quarterly + + pivot quarterly 50.00 + + SL 49.40 + + intrare 51.60 + + TP 56.00 = 2R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pullback + 5 rejecturi deasupra pivotului + buy doji + TP + Codițele coboară sub pivot, close-urile rămân deasupra: pivotul e apărat. +

+ + +
    +
  • Pullback weekly din 56 spre pivotul quarterly 50.00.
  • +
  • Cinci săptămâni la rând codița coboară sub pivot (49.80, 49.70, 49.50, + 49.90, 49.80) și close-ul revine deasupra. Vânzătorii ajung sub nivel, + dar nu pot rămâne acolo: la fiecare coborâre sub 50 apar cumpărători.
  • +
  • Doji, apoi buy doji la 51.60 → intrare.
  • +
  • SL 49.40, sub cea mai joasă codiță (49.50). Sub ea, pivotul nu mai e + apărat.
  • +
  • TP 56.00 = 2R (risc 2.20), atins după 12 săptămâni.
  • +
+
+

„Uitați-vă cum a ținut suportul ca la carte. Săptămână de săptămână." +(04.09)

+
+

NU: reject sub pivot, deci cumperi mai jos

+ +

+ Exemplu construit (fără ticker) — daily + + TP2 53.00 = 3R + + pivot monthly 52.00 = TP1 (2.2R) + + intrare 49.10 + + pivot quarterly 48.00 + + SL 47.80 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + reject sub pivot: NU + hammer + buy doji + Nu cumperi rejectul de sub pivotul monthly. Cumperi mai jos, în pivotul quarterly. +

+ + +
    +
  1. Prețul urcă la pivotul monthly 52.00. Patru zile codița trece de el + (52.30, 52.30, 52.50, 52.10) și close-ul rămâne dedesubt. Nu + cumperi aici: pivotul a fost rezistență de patru ori.
  2. +
  3. Prețul coboară până la pivotul quarterly 48.00. Hammer cu low-ul + 48.00 exact pe nivel, cu cel mai mare volum de la cădere încoace.
  4. +
  5. Doji, apoi buy doji la 49.10 → intrare.
  6. +
  7. SL 47.80, sub hammer: sub pivotul quarterly nu mai ai suport.
  8. +
  9. TP1 = pivotul monthly 52.00 = 2.2R (risc 1.30): exact nivelul care + te-a respins. TP2 53.00 = 3R, după ce pivotul monthly e trecut.
  10. +
+

Regula vine din 19.08, 20.08 și 24.08 („reject sub pivotul quarterly, +astea poate un nivel de preț un pic mai jos și să-l cumpărăm de acolo"), +iar varianta cu suportul quarterly e spusă direct pe 28.07:

+
+

„Daca ajungem in suportul quarterly, de cumparat cu doua maini"

+
+

DA: respins de cinci ori, apoi închide deasupra

+

Cazul din 04.09: pivotul a fost rezistență de mai multe ori, apoi cedează.

+
+

„Momentan, rejectează pivotul quarterly, o dată de 2, de 3, de 4, de 5 +ori, ne închidem deasupra pivotului cu un doji și de aici am putea să +avem o continuare superbă de trend"

+
+ +

+ Exemplu construit (fără ticker) — weekly, pivot quarterly + + pivot quarterly 50.00 + + SL 49.75 + + intrare 51.20 + + TP 54.10 = 2R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + downtrend + 5 rejecturi sub pivot + doji peste + buy doji + Cinci respingeri, apoi două close-uri peste pivot și buy doji: acum pivotul e suport. +

+ + +
    +
  • Downtrend, apoi revenire spre pivotul quarterly 50.00.
  • +
  • Cinci săptămâni cu codiță peste 50 și close sub. Fiecare respingere + consumă din oferta de la nivel.
  • +
  • Săptămâna 19 închide la 50.35, peste pivot; a 20-a e un doji la + 50.40, tot peste. Oferta s-a terminat.
  • +
  • Buy doji la 51.20 → intrare. SL 49.75, sub doji și sub pivot: + dacă prețul revine sub 50, close-urile de deasupra au fost false.
  • +
  • TP 54.10 = 2R (risc 1.45), atins după 8 săptămâni.
  • +
+
+

7. Scărița pe pivoți

+

Regula (10.09): trendul se citește pe swing-uri (higher highs / higher +lows) și pe pivoți. Pivotul perioadei curente mai sus decât cel +anterior e structură bull.

+
+

„Chiar dacă proiectia este bear, dar mă refer la pivot. Pivotul ăsta +mantri mai sus decât pivotul anterior."

+
+

În sesiune el separă „proiecția" de „pivot", deși în definiția din curs +proiecția bull înseamnă tocmai pivot curent peste pivot anterior. Cel mai +probabil proiecția bear era citită pe alt timeframe decât pivotul monthly; +din transcriere nu se poate stabili.

+

DA: pivoți în trepte, higher lows deasupra lor

+ +

+ Exemplu construit (fără ticker) — weekly, pivot quarterly + + + + pivot Q1 44.00 + + pivot Q2 47.87 + + pivot Q3 50.33 + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + low + HL + HL + HL + vârf Q2 + breakout + Treaptă cu treaptă: pivotul fiecărui trimestru mai sus, fiecare higher low deasupra lui. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TrimestruH / L / C al trimestruluiPivotul trimestrului următorLow în trimestru
Q149.70 / 44.90 / 49.00Q2: 47.8744.90
Q251.80 / 48.10 / 51.10Q3: 50.3348.10, apoi HL 49.70
Q3——HL 50.40, deasupra pivotului 50.33
+
    +
  • Pivotul urcă 44.00 → 47.87 → 50.33.
  • +
  • Swing low-urile urcă 44.90 → 48.10 → 49.70 → 50.40, și fiecare e + deasupra pivotului trimestrului în care s-a format.
  • +
  • Vârful Q2 e 51.80; închiderea la 52.30 îl sparge → scărița a + urcat încă o treaptă. Asta e confirmarea: fără breakout peste vârf, ai + doar un double bottom cu al doilea picior mai sus.
  • +
+

Pe 17.08, același lucru pe un simbol real: „ai intrat în buy doji weekly +și uitați-vă, inclusiv succesiunea pivoților quarterly, higher highs, +higher lows".

+

NU: pivotul a urcat, dar prețul nu mai urcă

+ +

+ Exemplu construit (fără ticker) — weekly, pivot quarterly + + + + pivot Q1 44.00 + + pivot Q2 47.87 + + pivot Q3 50.33 + + vârf Q2 51.80 + + HL din Q2 49.70 + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fără breakout + lower low + Pivotul Q3 a urcat, dar prețul nu face vârf nou și închide sub HL-ul din Q2: scărița s-a rupt. +

+ + +

Aceleași Q1 și Q2, deci același pivot Q3 50.33. În Q3:

+
    +
  • vârful ajunge doar la 51.70, sub vârful Q2 (51.80): breakout-ul nu + vine;
  • +
  • prețul închide la 50.10, sub pivotul Q3, apoi la 49.60, sub HL-ul + din Q2 (49.70) → lower low.
  • +
+

Pivotul Q3 a fost calculat din trimestrul bun de dinainte, deci încă arată +„scăriță". Prețul spune altceva, și prețul are ultimul cuvânt: pivotul +următor, calculat din acest Q3, va ieși mai jos.

+
+

„Poate nu doboar swing low-ul ăsta, deci pentru că s-ar strica +structura trend-ului" (21.08)

+
+
+

8. Pivotul în combinațiile sistemului

+

Pivotul nu apare aproape niciodată singur. Combinațiile din sesiuni:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
CombinațiaRolul pivotuluiSesiunea
sfântul buy doji: double bottom + buy dojiclose deasupra pivotului monthly, în proiecție bull04.09, vezi #1
strategia MICI: buy doji weekly + higher lowhigher low-ul deasupra pivotului10.09, vezi #1
breakout la pivotul monthly pe indicivalid doar cu McClellan peste linia de zero; altfel bear flag10.09
cup & handlebreakout din mâner deasupra pivotului monthly, în proiecție bull03.09
1/2 gap = previous highcontinuarea cere trendline rupt + close deasupra pivotului03.09
reintrare după primul targetNU dacă prețul rămâne sub pivotul de an (reject)25.08, vezi #3
pullback în confluențăS1/S2 în proiecție bull + locul crimei + MBT-10; intri unde se suprapun mai multe niveluri18.08, 21.08
locul crimei + pivot quarterly / de annivelul „ținut ca la carte" = cineva apără prețul17.08, 04.09
cădere sub pivotul de ancu stochastic overbought = semnal contra02.09
+
+

„suntem într-un sell doji, nu-mi place asta și rejectul ăsta de aici, nu-mi +place." (03.09, simbol cu 12/14 pe fundamental)

+
+
+

9. „Pivot + 2": ce nu e clar

+

Expresia apare o singură dată, pe 10.09:

+
+

„Higher low și ne închidem. Pentru că suntem în zona pivotului plus 2. +Deja ne închidem [...] deasupra pivotului. Este foarte mare șanse să ia +viteză."

+
+

Două citiri posibile, niciuna confirmată: +2% în ziua respectivă (el +spune des „plus 2 în premarket", de ex. 27.07) sau zona dintre pivot și +R2. Nu am desenat-o ca regulă separată. Partea sigură din frază, higher +low + close deasupra pivotului, e cea din secțiunile 6 și 7 și din +strategia MICI.

+
+

Gotchas

+
    +
  • Proiecția nu e trigger. Proiecție bull și preț în cădere se văd des. + Intri pe buy doji / MBT-10 la nivel, nu pe culoarea proiecției.
  • +
  • Nu cumpăra rejectul de sub pivot. Diagrama din secțiunea 6: patru + codițe peste 52.00, patru close-uri sub. Intrarea bună a venit 4 puncte + mai jos, la pivotul quarterly.
  • +
  • Inside înseamnă ținte mici. Cu R1 − S1 = 2.40, o țintă de 5 puncte + cere breakout cu volum. Fără volum (92 față de 30 în exemplu), nu te + baza pe el.
  • +
  • Pivotul nou se calculează din perioada veche. Un pivot Q3 care urcă + nu salvează un trimestru în care prețul face lower low (scărița NU).
  • +
  • Codița nu e close. Un reject se judecă la închiderea barei: + weekly-ul vineri, monthly-ul în ultima zi a lunii. Până atunci e doar + „în formare".
  • +
+
+

Surse

+

Din analiza zilnică (recoltele din harvest/):

+
    +
  • 17.08.2026 — pivotul quarterly și cel de an ținute „ca la carte"; + succesiunea pivoților quarterly HH/HL; scannerul de pullback (buy la + pivot monthly / quarterly).
  • +
  • 18.08.2026 — retest locul crimei + S1/S2 în proiecție bull + MBT-10.
  • +
  • 19.08, 20.08, 24.08.2026 — reject sub pivotul quarterly → cumperi mai + jos; stochastic oversold ca atenuare.
  • +
  • 21.08.2026 — intrarea pe pullback unde coincid S2, suportul monthly + și alte niveluri; nu strica swing low-ul.
  • +
  • 25.08.2026 — reintrarea anulată de rejectul sub pivotul de an.
  • +
  • 02.09.2026 — revenirea peste pivot; căderea sub pivotul de an cu + stochastic overbought.
  • +
  • 03.09.2026 — pivoți divergenți = trading range; proiecție neutră; + sell doji + reject pe pivotul quarterly; cup & handle peste pivotul + monthly; close deasupra pivotului după 1/2 gap.
  • +
  • 04.09.2026 — sfântul buy doji; inside nu obligatoriu compresie; + suportul ținut săptămână de săptămână; rejectat de 5 ori, apoi close + peste pivotul quarterly (citat din transcriere).
  • +
  • 10.09.2026 — breakout la pivotul monthly cu McClellan; buy doji + deasupra pivotului în proiecție bull; proiecție bull inside; scărița pe + pivoți; „pivotul plus 2" (citat din transcriere).
  • +
  • 28.07.2026 — „în suportul quarterly, de cumpărat cu două mâini" + (transcriere, nu e în recolte).
  • +
+

Din curs: Modul 2: Zone de cerere/ofertă prin floor pivots +(formula, proiecția bull/bear, bull neutru), +Modul 2: Timeframes (ce pivot +pe ce grafic), Q&A 14.10.2025 (proiecția nu +e semnal). Referință externă: +StockCharts ChartSchool — Pivot Points.

+
+

Ce e completare a mea: toate prețurile și diagramele sunt construite (în +transcrieri cifrele nu se văd). Intrările, stop-urile, țintele și +calculul R din fiecare exemplu sunt aplicarea mea a regulilor, nu cifre +spuse de el. Tot ale mele: explicația de ce pivoții divergenți apar (R1 − +S1 = High − Low al lunii trecute), legătura dintre „proiecție neutră" și +„bull neutru" din curs, citirea contradicției „proiecție bear / pivot mai +sus" de pe 10.09, cele două interpretări posibile ale lui „pivot + 2", +mecanismul cu ordinele strânse la un nivel calculat, gotchas-urile despre +codiță vs close și despre pivotul calculat din perioada veche. Regulile +(proiecție bull/bear, inside, divergenți, reject sub/deasupra, scărița, +combinațiile din tabelul de la secțiunea 8) și citatele vin din sesiuni +și din curs.

+ + diff --git a/summaries/08_ANALIZA_ZILNICA/04_pivoti_si_proiectii.md b/summaries/08_ANALIZA_ZILNICA/04_pivoti_si_proiectii.md new file mode 100644 index 0000000..d28444d --- /dev/null +++ b/summaries/08_ANALIZA_ZILNICA/04_pivoti_si_proiectii.md @@ -0,0 +1,1636 @@ +# Analiză zilnică / #4 — Pivoți și proiecții + +## TLDR + +- **Pivotul** perioadei = (H + L + C) / 3 al perioadei **încheiate**. Pe + daily te uiți la pivotul **monthly**, pe weekly la **quarterly**, pe + monthly la pivotul **de an**. +- **Proiecția bull** = pivotul curent peste cel anterior: aștepți R1 și R2, + un singur suport. **Bear** = invers. Proiecția nu e trigger. +- **Deasupra pivotului** = zona cumpărătorilor. Închiderea peste pivot e + condiția din sfântul buy doji și din strategia MICI; **reject sub pivot** + = „nu-mi place", cumperi mai jos, în suportul următor. +- **Pivoți divergenți** (suport și pivot mai sus, rezistență mai jos) = + **trading range**. Dacă totuși atinge rezistența, are șanse să continue. +- **Proiecție „inside"** (range lunar mult mai îngust decât luna trecută) = + **compresie**. Nu obligatoriu: poate ieși spre rezistența lunii trecute, + dacă are volum. +- **Scărița pe pivoți**: pivotul fiecărei perioade mai sus decât precedentul + e structură bull, la fel ca higher highs / higher lows pe preț. + +--- + +## De ce urmărești pivoții + +Pivotul e un nivel **calculat**, nu desenat cu ochiul: toată lumea care +folosește floor pivots vede exact aceeași cifră. De aceea acolo se +strâng ordine, iar reacția prețului la nivel spune ceva: dacă vânzătorii +nu reușesc să închidă prețul sub pivot, cineva îl apără; dacă +cumpărătorii nu reușesc să-l închidă deasupra, oferta de acolo e mai +mare decât cererea. + +Ce decizie te ajută să iei: + +- **direcția permisă** — un buy doji deasupra pivotului monthly, în + proiecție bull, e un trade; același buy doji sub pivot, rejectat, nu + (10.09, 03.09); +- **unde intri** — nu la primul suport, ci acolo unde pivotul coincide cu + alte niveluri: S2, suportul monthly, locul crimei, gap-ul închis (21.08); +- **unde ieși** — R1, R2 și rezistența lunii trecute sunt treptele țintei; +- **cât de mult aștepți de la lună** — proiecția inside îți spune că luna + are loc puțin, deci ținta e mai mică (10.09). + +> „Proiecția e proiecție. Eu trebuie să am și trend, că degeaba am +> proiecție dacă n-am trigger. Pot să am proiecție bull și el să cadă." +> (Q&A [14.10.2025](../09_QA/15_2025-10-14.html)) + +--- + +## Termenii, o singură dată + +| Termen | Ce înseamnă aici | +|---|---| +| **pivot (PP)** | (High + Low + Close) / 3 al perioadei încheiate; nivelul de echilibru al perioadei noi | +| **R1 / R2** | rezistențele: R1 = 2×PP − Low, R2 = PP + (High − Low) | +| **S1 / S2** | suporturile: S1 = 2×PP − High, S2 = PP − (High − Low) | +| **pivot monthly / quarterly / de an** | pivotul lunii, trimestrului, anului; „suportul de an" = S1 pe pivotul anual | +| **proiecție bull / bear** | pivotul perioadei curente peste / sub pivotul perioadei anterioare | +| **proiecție inside** | range-ul S1–R1 al lunii curente mult mai îngust decât al lunii trecute → compresie | +| **pivoți divergenți** | suport și pivot mai sus decât luna trecută, rezistență mai jos → trading range | +| **reject pe pivot** | codița trece de pivot, close-ul rămâne de partea cealaltă. „Sub pivot" = pivotul a fost rezistență; „deasupra" = a fost suport | +| **scărița** | higher highs / higher lows, treaptă cu treaptă; pe pivoți: fiecare pivot mai sus decât precedentul | +| **buy doji** | trigger: prima închidere peste high-ul unui doji, în max. 3 candele (vezi [#1](01_buy_doji_si_strategia_mici.html)) | + +--- + +## 1. Ce pivot pe ce grafic + +Pivotul se calculează din perioada **cu o treaptă peste** timeframe-ul +graficului, ca să ai un reper care nu se schimbă la fiecare bară +([Modul 2 / timeframes](../03_MODUL_2/03_timeframes_set_up.html)): + +| Graficul | Pivotul pe care îl citești | Cum apare în analiza zilnică | +|---|---|---| +| 60 min | weekly | „în suport weekly", intrare de finețe | +| daily | **monthly** | „deasupra pivotului monthly", „proiecție bull" | +| weekly | **quarterly** | „rejectat pe pivotul quarterly", „succesiunea pivoților quarterly" | +| monthly | **de an** | „a ținut pivotul de an ca la carte", „sub pivotul de an" | + +Cu cât timeframe-ul e mai mare, cu atât mai mulți bani mari se uită la +nivel. Pivotul quarterly și cel de an sunt „timeframe-urile +instituționale" ale lui: acolo contează cel mai mult un reject sau un +close. + +--- + +## 2. Proiecția bull: calculul și ce aștepți de la lună + + + + Exemplu construit (fără ticker) — daily, pivot monthly + + + pivot A 48.00 + + R2 55.73 + + R1 53.57 + + pivot B 50.03 + + S1 47.87 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ține pivotul + R1 + R2 + Pivotul B = (H 52.20 + L 46.50 + C 51.40) / 3 = 50.03 > 48.00: proiecție bull. + + + +Calculul, pas cu pas, pe seria construită: + +1. **Luna A** s-a încheiat cu **high 52.20, low 46.50, close 51.40**. +2. **Pivotul lunii B** = (52.20 + 46.50 + 51.40) / 3 = **50.03**. +3. **R1** = 2 × 50.03 − 46.50 = **53.57**; **R2** = 50.03 + 5.70 = **55.73**; + **S1** = 2 × 50.03 − 52.20 = **47.87**. +4. Pivotul lunii A era **48.00**. 50.03 > 48.00 → **proiecție bull**. + +Ce s-a întâmplat în luna B, exact ca în manual: pullback-ul din primele +zile se oprește la **50.05**, pe pivot; prețul atinge **R1 în a 9-a zi** și +**R2 în a 17-a**. S1 nu a fost atins. Într-o proiecție bull aștepți două +rezistențe atinse și un singur suport; de aceea, cu stocastic și volum în +regulă, un pullback la pivot e loc de cumpărat, nu de vândut. + +> „Dacă ne închidem deasupra pivotului și McLennal oscillator deasupra +> linei de zero, posibil o să continuă urcarea. Altfel, probabil va fi un +> bearflake" (10.09, pe indici) + +## 3. Proiecția bear, cu short pe reject + + + + Exemplu construit (fără ticker) — daily, pivot monthly + + + pivot A 52.00 + + R1 52.13 + + pivot B 49.97 + + S1 46.43 + + S2 44.27 + + SL 50.40 + + intrare short 49.00 + + TP 46.20 = 2R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + reject + Pivotul B 49.97 < pivotul A 52.00: proiecție bear. Rejectul sub pivot dă short-ul. + + + +Oglinda, pentru short: + +- Pivotul lunii A: **52.00**. Luna A închide la 48.60 → pivotul lunii B + **49.97**, sub 52.00 → **proiecție bear**. S1 **46.43**, S2 **44.27**. +- În a 3-a zi a lunii B, raliul atinge **50.30**, peste pivot, dar + închide la **49.70**, sub el: **reject sub pivot**. +- A doua zi închide la **49.00**, sub low-ul barei de reject (49.20) → + **intrare short 49.00**. +- **SL 50.40**, 10 cenți peste codița rejectului: dacă prețul trece de + acolo, pivotul nu a mai fost rezistență. +- **TP 46.20 = 2R** (risc 1.40), atins în a 12-a zi, aproape de S1. + Luna merge apoi până la S2: două suporturi atinse, nicio rezistență. + +--- + +## 4. Pivoți divergenți = trading range + +Regula (03.09): luna curentă are **suportul și pivotul mai sus** decât +luna trecută, dar **rezistența mai jos**. Nivelurile se strâng din ambele +părți, deci luna nu are o direcție clară. + +> „suport-ul mai sus, pivot-ul mai sus, resistance-ul da-i un pic mai jos, +> deci e cumva un training range aici, dar dacă atinge resistance-ul ăsta, +> are mari șans să ducă" + +Mecanic, de ce se întâmplă asta: R1 = 2×PP − Low și S1 = 2×PP − High, deci +R1 − S1 = High − Low al lunii trecute. O lună trecută care a urcat și a +coborât înapoi spre mijloc dă un pivot mai sus (media) și un range mai +îngust decât luna dinaintea ei. + +### NU: luna rămâne în range + + + + Exemplu construit (fără ticker) — daily, pivot monthly + + + R1 A 54.00 + + pivot A 50.00 + + S1 A 46.00 + + R1 B 53.10 (mai jos) + + pivot B 50.60 (mai sus) + + S1 B 47.70 (mai sus) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + nu atinge R1 + nu atinge S1 + Suport și pivot mai sus, rezistență mai jos: luna B e un trading range. + + + +- Luna A avea pivot **50.00**, R1 **54.00**, S1 **46.00**. +- Luna A: high 53.50, low 48.10, close 50.20 → luna B: pivot **50.60** + (mai sus), S1 **47.70** (mai sus), R1 **53.10** (mai jos). +- Luna B urcă până la **52.90** și coboară până la **48.20**: nu atinge nici + R1, nici S1. Cine a cumpărat „breakout-ul" la 52.90 a cumpărat vârful + range-ului. + +### DA: atinge rezistența și continuă + + + + Exemplu construit (fără ticker) — daily, pivot monthly + + + R1 A 54.00 + + pivot A 50.00 + + S1 A 46.00 + + R1 B 53.10 + + pivot B 50.60 + + S1 B 47.70 + + SL 52.90 + + intrare 53.90 + + TP = R2 B 56.00 = 2.1R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + close peste R1 B + retest + Aceeași lună A. De data asta luna B atinge R1 (53.10) și merge spre R2. + + + +Aceeași lună A, deci aceleași niveluri. De data asta: + +1. În a 5-a zi luna B **închide la 53.40, peste R1 B (53.10)**. Range-ul + s-a rupt în sus. +2. Retest: codița coboară la **53.10**, exact pe R1, close-ul rămâne peste. +3. Candela din dreapta închide la **53.90**, peste high-ul retestului → + **intrare 53.90**. +4. **SL 52.90**, sub codița retestului. Sub R1, breakout-ul a eșuat și ești + înapoi în range. +5. **TP = R2 B 56.00 = 2.1R** (risc 1.00). Pe drum trece de **54.00**, R1-ul + lunii trecute: prima țintă intermediară. + +„Proiecție neutră" (03.09: „nu e o proiecție bull, nu e o proiecție bear") +nu e definită în sesiuni. În curs, cel mai apropiat e **bull neutru**: +pivot mai sus, dar R2 mai jos decât R2-ul lunii trecute +([Modul 2](../03_MODUL_2/02_zone_cerere_oferta_support_resistance.html)). +Geometric, e aceeași situație ca pivoții divergenți de mai sus, deci +tratează-le la fel: range până la proba contrarie. + +--- + +## 5. Proiecție „inside" = compresie + +Regula (10.09): dacă distanța suport–rezistență din luna curentă e mult +mai mică decât luna trecută, proiecția anunță **compresie**, nu +expansiune. + +> „e proiectie bull inside, pentru că dacă unui resistance-ul din luna +> asta nu e foarte expandat față de suport." + +### Cum arată compresia + + + + Exemplu construit (fără ticker) — daily, pivot monthly + + + R1 A 55.00 + + pivot A 50.00 + + S1 A 45.00 + + R1 B 51.98 + + S1 B 49.58 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + luna A: range îngust + luna B: compresie + R1 − S1 = H − L al lunii trecute: 2.40 față de 10.00. Proiecție inside, volum în scădere. + + + +- Luna A avea S1–R1 între **45.00 și 55.00**: 10 puncte. +- Luna A însă a stat îngust: high **51.75**, low **49.35**, close **50.90**. +- De aici luna B: pivot **50.67**, R1 **51.98**, S1 **49.58**. R1 − S1 = + **2.40**, adică 24% din range-ul lunii trecute. +- Luna B stă toată între S1 și R1, cu volum în scădere. Un stop de 1-2 + puncte e deja în afara lunii; o țintă de 5 puncte n-are unde să vină. + +### Nu obligatoriu: breakout cu volum spre rezistența lunii trecute + +Nuanța din 04.09: + +> „prevede o posibilă compresie, nu înseamnă că va fi neapărat compresia, +> ar putea să atingă resistance-ul din luna trecută în luna asta și să ia +> viteză." + + + + Exemplu construit (fără ticker) — daily, pivot monthly + + + pivot A 50.00 + + S1 A 45.00 + + R1 B 51.98 + + S1 B 49.58 + + SL 51.05 + + intrare 52.30 + + TP = R1 lunii trecute 55.00 = 2.2R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + breakout cu volum + Aceeași compresie; volumul de 3x pe breakout o scoate până la rezistența lunii trecute. + + + +1. Aceeași compresie în primele 11 zile; ultimele trei low-uri stau toate + la **51.15**. +2. În a 12-a zi, închidere la **52.30, peste R1 B (51.98)**, cu volum + **92** față de o medie de **30** în compresie. Fără volumul acesta, + închiderea peste R1 poate fi doar codița de sus a range-ului: 04.09 + spune explicit că un wedge în compresie cere volum pentru breakout. +3. **Intrare 52.30**, **SL 51.05** (sub ultimul higher low al compresiei). +4. **TP 55.00 = R1-ul lunii trecute = 2.2R** (risc 1.25). Atins în a 19-a + zi a lunii. + +--- + +## 6. Reject pe pivot: de care parte închide contează + +Codița spune unde a ajuns prețul; close-ul spune cine a câștigat. Aceeași +atingere a pivotului e semnal opus după cum închide bara. + +| Reject — DA (long) | Reject — NU (nu intri long) | +|---|---| +| codițe sub pivot, close-uri deasupra: pivotul e apărat | codițe peste pivot, close-uri sub: pivotul e rezistență | +| „Îmi place foarte tare rejectul pe pivotul de an, cu un doji și un hammer" | „rejectat sub pivotul de an, asta nu-mi place" | +| intri pe trigger (buy doji, MBT-10), stop sub codițe | aștepți un nivel mai jos: suportul quarterly, S1, locul crimei | +| respins de mai multe ori sub pivot, apoi **close-uri deasupra** = continuare | sell doji + reject pe pivotul quarterly bate și un fundamental bun (03.09) | + +### DA: reject deasupra pivotului + + + + Exemplu construit (fără ticker) — weekly, pivot quarterly + + pivot quarterly 50.00 + + SL 49.40 + + intrare 51.60 + + TP 56.00 = 2R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pullback + 5 rejecturi deasupra pivotului + buy doji + TP + Codițele coboară sub pivot, close-urile rămân deasupra: pivotul e apărat. + + + +- Pullback weekly din 56 spre **pivotul quarterly 50.00**. +- Cinci săptămâni la rând codița coboară sub pivot (**49.80, 49.70, 49.50, + 49.90, 49.80**) și close-ul revine deasupra. Vânzătorii ajung sub nivel, + dar nu pot rămâne acolo: la fiecare coborâre sub 50 apar cumpărători. +- Doji, apoi **buy doji la 51.60** → intrare. +- **SL 49.40**, sub cea mai joasă codiță (49.50). Sub ea, pivotul nu mai e + apărat. +- **TP 56.00 = 2R** (risc 2.20), atins după 12 săptămâni. + +> „Uitați-vă cum a ținut suportul ca la carte. Săptămână de săptămână." +> (04.09) + +### NU: reject sub pivot, deci cumperi mai jos + + + + Exemplu construit (fără ticker) — daily + + TP2 53.00 = 3R + + pivot monthly 52.00 = TP1 (2.2R) + + intrare 49.10 + + pivot quarterly 48.00 + + SL 47.80 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + reject sub pivot: NU + hammer + buy doji + Nu cumperi rejectul de sub pivotul monthly. Cumperi mai jos, în pivotul quarterly. + + + +1. Prețul urcă la **pivotul monthly 52.00**. Patru zile codița trece de el + (**52.30, 52.30, 52.50, 52.10**) și close-ul rămâne dedesubt. Nu + cumperi aici: pivotul a fost rezistență de patru ori. +2. Prețul coboară până la **pivotul quarterly 48.00**. Hammer cu low-ul + **48.00** exact pe nivel, cu cel mai mare volum de la cădere încoace. +3. Doji, apoi **buy doji la 49.10** → intrare. +4. **SL 47.80**, sub hammer: sub pivotul quarterly nu mai ai suport. +5. **TP1 = pivotul monthly 52.00 = 2.2R** (risc 1.30): exact nivelul care + te-a respins. **TP2 53.00 = 3R**, după ce pivotul monthly e trecut. + +Regula vine din 19.08, 20.08 și 24.08 („reject sub pivotul quarterly, +astea poate un nivel de preț un pic mai jos și să-l cumpărăm de acolo"), +iar varianta cu suportul quarterly e spusă direct pe 28.07: + +> „Daca ajungem in suportul quarterly, de cumparat cu doua maini" + +### DA: respins de cinci ori, apoi închide deasupra + +Cazul din 04.09: pivotul a fost rezistență de mai multe ori, apoi cedează. + +> „Momentan, rejectează pivotul quarterly, o dată de 2, de 3, de 4, de 5 +> ori, ne închidem deasupra pivotului cu un doji și de aici am putea să +> avem o continuare superbă de trend" + + + + Exemplu construit (fără ticker) — weekly, pivot quarterly + + pivot quarterly 50.00 + + SL 49.75 + + intrare 51.20 + + TP 54.10 = 2R + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + downtrend + 5 rejecturi sub pivot + doji peste + buy doji + Cinci respingeri, apoi două close-uri peste pivot și buy doji: acum pivotul e suport. + + + +- Downtrend, apoi revenire spre **pivotul quarterly 50.00**. +- Cinci săptămâni cu codiță peste 50 și close sub. Fiecare respingere + consumă din oferta de la nivel. +- Săptămâna 19 închide la **50.35**, peste pivot; a 20-a e un **doji la + 50.40**, tot peste. Oferta s-a terminat. +- **Buy doji la 51.20** → intrare. **SL 49.75**, sub doji și sub pivot: + dacă prețul revine sub 50, close-urile de deasupra au fost false. +- **TP 54.10 = 2R** (risc 1.45), atins după 8 săptămâni. + +--- + +## 7. Scărița pe pivoți + +Regula (10.09): trendul se citește pe swing-uri (higher highs / higher +lows) **și** pe pivoți. Pivotul perioadei curente mai sus decât cel +anterior e structură bull. + +> „Chiar dacă proiectia este bear, dar mă refer la pivot. Pivotul ăsta +> mantri mai sus decât pivotul anterior." + +În sesiune el separă „proiecția" de „pivot", deși în definiția din curs +proiecția bull înseamnă tocmai pivot curent peste pivot anterior. Cel mai +probabil proiecția bear era citită pe alt timeframe decât pivotul monthly; +din transcriere nu se poate stabili. + +### DA: pivoți în trepte, higher lows deasupra lor + + + + Exemplu construit (fără ticker) — weekly, pivot quarterly + + + + pivot Q1 44.00 + + pivot Q2 47.87 + + pivot Q3 50.33 + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + low + HL + HL + HL + vârf Q2 + breakout + Treaptă cu treaptă: pivotul fiecărui trimestru mai sus, fiecare higher low deasupra lui. + + + +| Trimestru | H / L / C al trimestrului | Pivotul trimestrului următor | Low în trimestru | +|---|---|---|---| +| Q1 | 49.70 / 44.90 / 49.00 | Q2: **47.87** | 44.90 | +| Q2 | 51.80 / 48.10 / 51.10 | Q3: **50.33** | 48.10, apoi HL **49.70** | +| Q3 | — | — | HL **50.40**, deasupra pivotului 50.33 | + +- Pivotul urcă **44.00 → 47.87 → 50.33**. +- Swing low-urile urcă **44.90 → 48.10 → 49.70 → 50.40**, și fiecare e + deasupra pivotului trimestrului în care s-a format. +- Vârful Q2 e **51.80**; închiderea la **52.30** îl sparge → scărița a + urcat încă o treaptă. Asta e confirmarea: fără breakout peste vârf, ai + doar un double bottom cu al doilea picior mai sus. + +Pe 17.08, același lucru pe un simbol real: „ai intrat în buy doji weekly +și uitați-vă, inclusiv succesiunea pivoților quarterly, higher highs, +higher lows". + +### NU: pivotul a urcat, dar prețul nu mai urcă + + + + Exemplu construit (fără ticker) — weekly, pivot quarterly + + + + pivot Q1 44.00 + + pivot Q2 47.87 + + pivot Q3 50.33 + + vârf Q2 51.80 + + HL din Q2 49.70 + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + fără breakout + lower low + Pivotul Q3 a urcat, dar prețul nu face vârf nou și închide sub HL-ul din Q2: scărița s-a rupt. + + + +Aceleași Q1 și Q2, deci același pivot Q3 **50.33**. În Q3: + +- vârful ajunge doar la **51.70**, sub vârful Q2 (51.80): breakout-ul nu + vine; +- prețul închide la **50.10**, sub pivotul Q3, apoi la **49.60**, sub HL-ul + din Q2 (49.70) → **lower low**. + +Pivotul Q3 a fost calculat din trimestrul bun de dinainte, deci încă arată +„scăriță". Prețul spune altceva, și prețul are ultimul cuvânt: pivotul +următor, calculat din acest Q3, va ieși mai jos. + +> „Poate nu doboar swing low-ul ăsta, deci pentru că s-ar strica +> structura trend-ului" (21.08) + +--- + +## 8. Pivotul în combinațiile sistemului + +Pivotul nu apare aproape niciodată singur. Combinațiile din sesiuni: + +| Combinația | Rolul pivotului | Sesiunea | +|---|---|---| +| **sfântul buy doji**: double bottom + buy doji | close deasupra pivotului monthly, în proiecție bull | 04.09, vezi [#1](01_buy_doji_si_strategia_mici.html) | +| **strategia MICI**: buy doji weekly + higher low | higher low-ul **deasupra** pivotului | 10.09, vezi [#1](01_buy_doji_si_strategia_mici.html) | +| **breakout la pivotul monthly** pe indici | valid doar cu McClellan peste linia de zero; altfel bear flag | 10.09 | +| **cup & handle** | breakout din mâner deasupra pivotului monthly, în proiecție bull | 03.09 | +| **1/2 gap = previous high** | continuarea cere trendline rupt + close deasupra pivotului | 03.09 | +| **reintrare după primul target** | NU dacă prețul rămâne sub pivotul de an (reject) | 25.08, vezi [#3](03_locul_crimei_si_pullback.html) | +| **pullback în confluență** | S1/S2 în proiecție bull + locul crimei + MBT-10; intri unde se suprapun mai multe niveluri | 18.08, 21.08 | +| **locul crimei + pivot quarterly / de an** | nivelul „ținut ca la carte" = cineva apără prețul | 17.08, 04.09 | +| **cădere sub pivotul de an** | cu stochastic overbought = semnal contra | 02.09 | + +> „suntem într-un sell doji, nu-mi place asta și rejectul ăsta de aici, nu-mi +> place." (03.09, simbol cu 12/14 pe fundamental) + +--- + +## 9. „Pivot + 2": ce nu e clar + +Expresia apare o singură dată, pe 10.09: + +> „Higher low și ne închidem. Pentru că suntem în zona pivotului plus 2. +> Deja ne închidem [...] deasupra pivotului. Este foarte mare șanse să ia +> viteză." + +Două citiri posibile, niciuna confirmată: **+2% în ziua respectivă** (el +spune des „plus 2 în premarket", de ex. 27.07) sau **zona dintre pivot și +R2**. Nu am desenat-o ca regulă separată. Partea sigură din frază, higher +low + close deasupra pivotului, e cea din secțiunile 6 și 7 și din +strategia MICI. + +--- + +## Gotchas + +- **Proiecția nu e trigger.** Proiecție bull și preț în cădere se văd des. + Intri pe buy doji / MBT-10 la nivel, nu pe culoarea proiecției. +- **Nu cumpăra rejectul de sub pivot.** Diagrama din secțiunea 6: patru + codițe peste 52.00, patru close-uri sub. Intrarea bună a venit 4 puncte + mai jos, la pivotul quarterly. +- **Inside înseamnă ținte mici.** Cu R1 − S1 = 2.40, o țintă de 5 puncte + cere breakout cu volum. Fără volum (92 față de 30 în exemplu), nu te + baza pe el. +- **Pivotul nou se calculează din perioada veche.** Un pivot Q3 care urcă + nu salvează un trimestru în care prețul face lower low (scărița NU). +- **Codița nu e close.** Un reject se judecă la închiderea barei: + weekly-ul vineri, monthly-ul în ultima zi a lunii. Până atunci e doar + „în formare". + +--- + +## Surse + +Din analiza zilnică (recoltele din `harvest/`): + +- **17.08.2026** — pivotul quarterly și cel de an ținute „ca la carte"; + succesiunea pivoților quarterly HH/HL; scannerul de pullback (buy la + pivot monthly / quarterly). +- **18.08.2026** — retest locul crimei + S1/S2 în proiecție bull + MBT-10. +- **19.08, 20.08, 24.08.2026** — reject sub pivotul quarterly → cumperi mai + jos; stochastic oversold ca atenuare. +- **21.08.2026** — intrarea pe pullback unde coincid S2, suportul monthly + și alte niveluri; nu strica swing low-ul. +- **25.08.2026** — reintrarea anulată de rejectul sub pivotul de an. +- **02.09.2026** — revenirea peste pivot; căderea sub pivotul de an cu + stochastic overbought. +- **03.09.2026** — pivoți divergenți = trading range; proiecție neutră; + sell doji + reject pe pivotul quarterly; cup & handle peste pivotul + monthly; close deasupra pivotului după 1/2 gap. +- **04.09.2026** — sfântul buy doji; inside nu obligatoriu compresie; + suportul ținut săptămână de săptămână; rejectat de 5 ori, apoi close + peste pivotul quarterly (citat din transcriere). +- **10.09.2026** — breakout la pivotul monthly cu McClellan; buy doji + deasupra pivotului în proiecție bull; proiecție bull inside; scărița pe + pivoți; „pivotul plus 2" (citat din transcriere). +- **28.07.2026** — „în suportul quarterly, de cumpărat cu două mâini" + (transcriere, nu e în recolte). + +Din curs: [Modul 2: Zone de cerere/ofertă prin floor pivots](../03_MODUL_2/02_zone_cerere_oferta_support_resistance.html) +(formula, proiecția bull/bear, bull neutru), +[Modul 2: Timeframes](../03_MODUL_2/03_timeframes_set_up.html) (ce pivot +pe ce grafic), Q&A [14.10.2025](../09_QA/15_2025-10-14.html) (proiecția nu +e semnal). Referință externă: +[StockCharts ChartSchool — Pivot Points](https://chartschool.stockcharts.com/table-of-contents/technical-indicators-and-overlays/technical-overlays/pivot-points). + +--- + +*Ce e completare a mea: toate prețurile și diagramele sunt construite (în +transcrieri cifrele nu se văd). Intrările, stop-urile, țintele și +calculul R din fiecare exemplu sunt aplicarea mea a regulilor, nu cifre +spuse de el. Tot ale mele: explicația de ce pivoții divergenți apar (R1 − +S1 = High − Low al lunii trecute), legătura dintre „proiecție neutră" și +„bull neutru" din curs, citirea contradicției „proiecție bear / pivot mai +sus" de pe 10.09, cele două interpretări posibile ale lui „pivot + 2", +mecanismul cu ordinele strânse la un nivel calculat, gotchas-urile despre +codiță vs close și despre pivotul calculat din perioada veche. Regulile +(proiecție bull/bear, inside, divergenți, reject sub/deasupra, scărița, +combinațiile din tabelul de la secțiunea 8) și citatele vin din sesiuni +și din curs.*