recoltarea trece pe agenti opencode cu deepseek-v4.1-flash
Sesiunea Claude ramane orchestrator: imparte munca, verifica, comite. Recoltatul - citit 3-4 mii de cuvinte si scos regulile cu citat - il fac agenti opencode pe model ieftin. - .opencode/agents/recoltor.md: agentul, cu formatul dat ca model si cu regula care conteaza - fiecare citat verificat cu `sed -n` inainte sa fie scris. Fara asta un model ieftin inventeaza numere de linie plauzibile. - run_opencode_batch.sh: lot in paralel cu xargs -P, log per fisier. Masurat: o recolta ~90s singura, trei in paralel ~120s in total. - check_harvest_citations.py: auditul mecanic al citatelor, cu --selftest. Prinde liniile inexistente; restul ramane verificare prin sondaj. - Primele patru recolte din transa noua (08-11.06.2026), citatele verificate: toate trimit la linii reale. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -6,3 +6,4 @@ __pycache__/
|
|||||||
*.pyc
|
*.pyc
|
||||||
.venv/
|
.venv/
|
||||||
*.log
|
*.log
|
||||||
|
.opencode/logs/
|
||||||
|
|||||||
52
.opencode/agents/recoltor.md
Normal file
52
.opencode/agents/recoltor.md
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
---
|
||||||
|
description: Recoltează o transcriere de Analiză Zilnică într-un fișier harvest/<data>.md
|
||||||
|
mode: all
|
||||||
|
model: opencode-go/deepseek-v4.1-flash
|
||||||
|
temperature: 0.1
|
||||||
|
permission:
|
||||||
|
read: allow
|
||||||
|
glob: allow
|
||||||
|
grep: allow
|
||||||
|
list: allow
|
||||||
|
edit: allow
|
||||||
|
bash: allow
|
||||||
|
webfetch: deny
|
||||||
|
websearch: deny
|
||||||
|
task: deny
|
||||||
|
---
|
||||||
|
Ești un recoltor de transcrieri pentru cursul de trading ATM (română).
|
||||||
|
Lucrezi în /workspace/atm-curs-dl.
|
||||||
|
|
||||||
|
SARCINA: pentru transcrierea pe care ți-o indică promptul, scrii UN
|
||||||
|
fișier `harvest/<AAAA-LL-ZZ>.md`. Data vine din numele transcrierii:
|
||||||
|
`51_11062026.txt` → 11.06.2026 → `harvest/2026-06-11.md`.
|
||||||
|
|
||||||
|
PROCEDURĂ, în ordine:
|
||||||
|
1. Citește `harvest/2026-08-03.md` întreg. Ăla e formatul. Îl copiezi ca
|
||||||
|
structură: titlu, un paragraf de context, apoi secțiunile
|
||||||
|
`## Strategii / reguli`, `## Gotchas`, `## Termeni proprii`.
|
||||||
|
2. Citește transcrierea PE BUCĂȚI, cu `sed -n '1,200p'`, apoi '201,400p'
|
||||||
|
și așa mai departe. NU o citi integral dintr-o dată.
|
||||||
|
3. Scrie fișierul de recoltă.
|
||||||
|
|
||||||
|
REGULI DE CONȚINUT, obligatorii:
|
||||||
|
- **Fiecare afirmație are citat cu fișier:linie**, în forma
|
||||||
|
`(51_11062026.txt:64)`. Linia trebuie să fie reală — o verifici cu
|
||||||
|
`sed -n '64p' <fișier>` înainte să o scrii. Un citat cu linie greșită
|
||||||
|
e mai rău decât lipsa lui.
|
||||||
|
- Citatele se curăță doar de erorile evidente de transcriere automată
|
||||||
|
(„overbot" → „overbought"), nu se rescriu.
|
||||||
|
- **Nu inventa cifre.** Dacă un preț sau un procent nu e rostit clar în
|
||||||
|
transcriere, scrie „aproximativ" sau nu-l pune deloc.
|
||||||
|
- Regulile se scriu cu **trigger DA / trigger NU** unde sesiunea le dă.
|
||||||
|
- Dacă o zi nu conține nimic de reținut, scrii asta explicit, pe scurt.
|
||||||
|
Nu umple pagina.
|
||||||
|
|
||||||
|
LA FINAL, în răspunsul tău (nu în fișier), scrii:
|
||||||
|
- calea fișierului scris;
|
||||||
|
- verdictul: **NOU** sau **CONFIRMĂ**, față de recoltele existente din
|
||||||
|
`harvest/` (le cauți cu `grep -ril <termen> harvest/`, nu le citi
|
||||||
|
întregi);
|
||||||
|
- dacă e NOU: ce anume, în două rânduri, cu citatul.
|
||||||
|
|
||||||
|
NU face git commit. NU atinge nimic în afara fișierului tău de recoltă.
|
||||||
51
check_harvest_citations.py
Normal file
51
check_harvest_citations.py
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
"""Verifica citatele dintr-o recolta: fiecare `(<fisier>.txt:<linie>)` trebuie
|
||||||
|
sa trimita la o linie care exista in transcriere. Un citat cu linia gresita e
|
||||||
|
mai rau decat lipsa lui - modelul care recolteaza inventeaza numere plauzibile.
|
||||||
|
|
||||||
|
python3 check_harvest_citations.py harvest/2026-06-11.md ...
|
||||||
|
python3 check_harvest_citations.py --selftest
|
||||||
|
"""
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
CIT = re.compile(r"(\w+\.txt):(\d+)")
|
||||||
|
TRANSCRIPTS = Path("transcripts")
|
||||||
|
|
||||||
|
|
||||||
|
def check(md: Path) -> list[str]:
|
||||||
|
rele = []
|
||||||
|
for name, lineno in CIT.findall(md.read_text(encoding="utf-8")):
|
||||||
|
hits = list(TRANSCRIPTS.rglob(name))
|
||||||
|
if not hits:
|
||||||
|
rele.append(f"{md.name}: transcrierea {name} nu exista")
|
||||||
|
continue
|
||||||
|
n = len(hits[0].read_text(encoding="utf-8").splitlines())
|
||||||
|
if not 1 <= int(lineno) <= n:
|
||||||
|
rele.append(f"{md.name}: {name}:{lineno} — fisierul are {n} linii")
|
||||||
|
return rele
|
||||||
|
|
||||||
|
|
||||||
|
def selftest():
|
||||||
|
import tempfile
|
||||||
|
with tempfile.TemporaryDirectory() as d:
|
||||||
|
t = Path(d) / "transcripts" / "M"
|
||||||
|
t.mkdir(parents=True)
|
||||||
|
(t / "01_x.txt").write_text("a\nb\nc\n")
|
||||||
|
md = Path(d) / "r.md"
|
||||||
|
md.write_text("ok (01_x.txt:2), peste (01_x.txt:99), lipsa (02_y.txt:1)")
|
||||||
|
global TRANSCRIPTS
|
||||||
|
TRANSCRIPTS = Path(d) / "transcripts"
|
||||||
|
rele = check(md)
|
||||||
|
assert len(rele) == 2, rele
|
||||||
|
assert "99" in rele[0] and "02_y.txt" in rele[1], rele
|
||||||
|
print("selftest ok")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
if "--selftest" in sys.argv:
|
||||||
|
selftest()
|
||||||
|
sys.exit(0)
|
||||||
|
rele = [p for f in sys.argv[1:] for p in check(Path(f))]
|
||||||
|
print("\n".join(rele) if rele else f"ok — {len(sys.argv)-1} fisiere, toate citatele trimit la linii reale")
|
||||||
|
sys.exit(1 if rele else 0)
|
||||||
177
harvest/2026-06-08.md
Normal file
177
harvest/2026-06-08.md
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
# Recoltă 2026-06-08
|
||||||
|
|
||||||
|
Luni, început de săptămână: calendar macro pe săptămână, apoi Market Sentiment
|
||||||
|
și rotația sectoarelor, apoi o listă lungă de idei de tranzacționare (Tesla,
|
||||||
|
Nvidia, ServiceNow, AVGO, Clorox, Edison/EIX, Oscar, ISRG, SIC/SYK, BSX, Pager).
|
||||||
|
Sesiunea e sursa regulii de gap-up pe care o repetă trei zile mai târziu, pe
|
||||||
|
11.06. Aproape tot ce ține de setup-uri confirmă recolte anterioare; nou e partea
|
||||||
|
de intraday pe deschidere și sectorul de echipamente medicale.
|
||||||
|
|
||||||
|
## Strategii / reguli
|
||||||
|
|
||||||
|
- **Calendarul macro al săptămânii se citește primul** — miercuri 10: core CPI
|
||||||
|
(inflația la consumator); joi: PPI (inflația la producător); în cursul
|
||||||
|
săptămânii cererile de șomaj; vineri: consumer sentiment și inflation
|
||||||
|
expectations. Astea sunt catalizatorii săptămânii; recomandă materialele
|
||||||
|
despre catalizator pentru interpretarea rapoartelor.
|
||||||
|
- Citat: „avem pe data de 10, asta inseamna miercuri, core CPI-ul, asta
|
||||||
|
inseamna inflatia la consumator […] dupa care avem PPI-ul care este joie"
|
||||||
|
(54_08062026.txt:6)
|
||||||
|
- Citat: „vinerea avem consumer sentiment si inflation expectation, astea sunt
|
||||||
|
catalizatorii de saptamana asta" (54_08062026.txt:7)
|
||||||
|
|
||||||
|
- **Gap-up la deschidere într-o piață bear: se închide gap-ul, apoi cade în
|
||||||
|
continuare** — probabil ne deschidem cu gap-up; se intră să se închidă gap-ul
|
||||||
|
și continuă căderea, posibil până la suportul monthly (SPX, QQQ, Russell, Dow).
|
||||||
|
- Trigger NU (long): deschidere cu gap-up → închidere de gap → continuare în
|
||||||
|
jos.
|
||||||
|
- Citat: „e probabil sa ne deschidem cu GEP Up si sa intram sa inchidem
|
||||||
|
GEP-ul si sa continuam caderea" (54_08062026.txt:12)
|
||||||
|
- Citat: „deschiderea cu GEPUP nu uitati ca este o caracteristica pietelor
|
||||||
|
bare si de obicei deschiderea cu GEPUP inseamna inchiderea GEP-ului si
|
||||||
|
continuarea caderii" (54_08062026.txt:137)
|
||||||
|
- Formulare identică cu 2026-06-11 (51:49) și 2026-08-03.
|
||||||
|
|
||||||
|
- **Intraday pe deschidere: short pe închiderea gap-ului, DOAR pentru cei cu
|
||||||
|
experiență** — la gap-up, dacă se formează un pattern care intră să închidă
|
||||||
|
gap-ul, se poate shorta pentru închiderea gap-ului. Nu pentru începători:
|
||||||
|
primele 15 minute (și în general prima oră) sunt volatilitate. Cu experiență,
|
||||||
|
se urmărește un M2D, eventual „3x15 deschidere".
|
||||||
|
- Trigger DA: trader cu experiență + pattern de închidere a gap-ului la
|
||||||
|
deschidere → short pe închidere, cu M2D / „3x15 deschidere".
|
||||||
|
- Trigger NU: începător, sau primele 15 minute / prima oră → nu intri.
|
||||||
|
- Citat: „daca faceti un pattern de schimbare, in sensul in care se intre sa
|
||||||
|
inchida GEP, as putea sa shortati pentru inchiderea GEP-ului"
|
||||||
|
(54_08062026.txt:128)
|
||||||
|
- Citat: „Dar atentie pentru cei care aveti ceva experienta, nu pentru cei care
|
||||||
|
stati la inceput" (54_08062026.txt:130)
|
||||||
|
- Citat: „Nu uitati ca primele 15 minute pana la ore e volatilitate"
|
||||||
|
(54_08062026.txt:132)
|
||||||
|
- Citat: „ideal ar fi sa va uitati la un M2D. Poate 3x15 deschidere"
|
||||||
|
(54_08062026.txt:135-136)
|
||||||
|
|
||||||
|
- **Rotația sectoarelor pe „cadranul 1" + relative strength** — workspace cu
|
||||||
|
cele 11 sectoare, sortate după cadranul 1 și valoarea relative strength; top 3
|
||||||
|
în sesiune: XLV, XLE, XLF, plus imobiliare.
|
||||||
|
- Citat: „top 3 sectoare in momentul de fata dupa relativ strength vorbim
|
||||||
|
despre XLV, XLE, XLF si hai sa zicem si al patru ala, imobiliare"
|
||||||
|
(54_08062026.txt:10)
|
||||||
|
- Citat: „sortare dupa cadranul 1 plus dupa valoarea relativ strength"
|
||||||
|
(54_08062026.txt:14)
|
||||||
|
- Confirmă 2026-06-11 / 2026-07-29.
|
||||||
|
|
||||||
|
- **Sectorul de echipamente medicale (IHI) ca sursă de idei** — te uiți cine
|
||||||
|
face parte din ETF (Yahoo Finance) și cauți setup-uri pe componente: ISRG,
|
||||||
|
ABT, SYK/Striker, EW, IDXX, BDX, MDT („MEDET"), GHC, DXCM.
|
||||||
|
- Citat: „IHI este un sector in care gasim de asta de echipamente medicale, in
|
||||||
|
care gasim de exemplu ISRG-ul, MEDETE-ul, SIC-ul, v-am mai vorbit despre
|
||||||
|
BSX-ul" (54_08062026.txt:67)
|
||||||
|
- Citat: „pe IHI-ul asta avem asa ISRG-ul, ABT-ul, SIC, STRIKER, EW, IDX-ul,
|
||||||
|
BDX-ul" (54_08062026.txt:73)
|
||||||
|
|
||||||
|
- **Protejarea unei poziții long cu put-uri / bear put spread** — dacă se
|
||||||
|
așteaptă continuarea căderii, își cumpără put-uri (put simplu sau bear put
|
||||||
|
spread) ca să meargă în direcția scăderii.
|
||||||
|
- Citat: „cea mai probabil o sa cumpara niste puturi […] bare put spread sau
|
||||||
|
cumparare de put simpla, pentru a merge in directia asta de aici, daca mai
|
||||||
|
continua caderea" (54_08062026.txt:24)
|
||||||
|
|
||||||
|
- **Intrarea în tranșe / DCA pe un nume în canal descendent, aproape de suport**
|
||||||
|
— nu intri dintr-o dată: structurezi „1x2 sau 1x3", în bucăți de 1/3 sau 1/4,
|
||||||
|
apropiindu-te de zona de suport. Exemple: Tesla (retest ~361, aproximativ),
|
||||||
|
ServiceNow, AVGO.
|
||||||
|
- Citat: „aproximativ 361 […] structurare a unui transactie, poate in 1x2 sau
|
||||||
|
1x3, in bucati de 1x3 sau chiar 1x4" (54_08062026.txt:18)
|
||||||
|
- Citat: „e de cumparat in bucat ServiceNow, unul pe 3 sau unul pe 4, dar face
|
||||||
|
un DCA in zona asta, apropindu-ne de zona de suport" (54_08062026.txt:29)
|
||||||
|
- Citat: „sa faceti un DCA pe AVGO, tot asa in bucati de 1 pe 3, 1 pe 4"
|
||||||
|
(54_08062026.txt:42)
|
||||||
|
- Confirmă 2026-07-24 (tranșe de 1/4) / 2026-08-03 / 2026-09-10.
|
||||||
|
|
||||||
|
- **Cumpără în panica de la finalul zilei după o cădere la earnings** — pe AVGO,
|
||||||
|
după ce a picat tare la earnings, momentul „misto" de cumpărat era finalul
|
||||||
|
zilei, în panica de acolo; apoi se așteaptă un pattern de revenire (buy
|
||||||
|
hammer). AVGO: revenue +26,7% și cash-flow +126% pe ultimul trimestru.
|
||||||
|
- Citat: „poate era misto sa cumpara de venezi astia AVGO, la finalul zilei,
|
||||||
|
in panica aia […] a retestat o treime din acest marabuz"
|
||||||
|
(54_08062026.txt:37)
|
||||||
|
- Citat: „vorbind de 26,7% cresteare si […] ultimul trimestru cresteare de
|
||||||
|
126% pe cash flow" (54_08062026.txt:35)
|
||||||
|
|
||||||
|
- **Setup de revenire după cădere: MBT-10 / MP4 long / rounding bottom / buy
|
||||||
|
hammer** — nu intri pe cuțit, ci pe pattern de revenire; se poate urmări și un
|
||||||
|
MP4 long. Exemple: Tesla (canal descendent pe 60 min, similar cu Nvidia),
|
||||||
|
Clorox (MBT-10 pe 60 min, vineri), Edison, BSX (rounding bottom de 3 zile).
|
||||||
|
- Citat: „urmariti un MBT-10 sau un MP4, un Long, sau poate un rounding
|
||||||
|
button" (54_08062026.txt:21)
|
||||||
|
- Citat: „pe 60 de minute ai intrat in MBT-10 vineri" (54_08062026.txt:55)
|
||||||
|
- Confirmă 2026-06-11 / 2026-09-10 / 2026-08-13.
|
||||||
|
|
||||||
|
- **Oscar (OSCR): buy hammer după IPO, dar în zona de rezistență aștepți
|
||||||
|
pullback** — pattern „megafon", greu de citit; higher low în proiecție bull ar
|
||||||
|
putea targeta pivotul din zonă, în jur de 30 (aproximativ). Inverted head and
|
||||||
|
shoulders pe 60 min susține ținta, apoi corecție.
|
||||||
|
- Citat: „era interesant de intrat in acest buy hammer […] suntem intr-o zona
|
||||||
|
de resistance, ar fi interesant de a asteptat un pullback"
|
||||||
|
(54_08062026.txt:77)
|
||||||
|
- Citat: „la 30 aproximativ ar putea sa se duca" (54_08062026.txt:80)
|
||||||
|
|
||||||
|
## Gotchas
|
||||||
|
|
||||||
|
- **Volatilitatea nu înseamnă că merge de fiecare dată** — exemplu cu opțiuni:
|
||||||
|
a intrat long pe un „super Buy Hammer", a doua zi a fost −10, apoi +5. De aceea
|
||||||
|
contează orizontul mai lung și DCA-ul în bucăți, inclusiv cu opțiuni; atunci
|
||||||
|
merită. (Ticker-ul din transcriere e ambiguu: „BNR" / „MNR".)
|
||||||
|
- Citat: „am intrat in acest super Buy Hammer si ce a facut, am intrat long si
|
||||||
|
in a doua zi a fost minus 10 pe MNR-ul, astazi e plus 5"
|
||||||
|
(54_08062026.txt:32)
|
||||||
|
- Citat: „Volatilitate, nu inseamna ca merge de fiecarea, dar daca esti
|
||||||
|
patrement mai lung si faci un DCA […] merita" (54_08062026.txt:33)
|
||||||
|
|
||||||
|
- **Deschiderea nu e loc de începători** — dacă n-ai experiență, n-ai ce căuta în
|
||||||
|
piață cel puțin în prima oră; primul interval e volatilitate.
|
||||||
|
- Citat: „Nu, daca n-ai experienta, n-ai ce cauta in piata. Cel putin in prima
|
||||||
|
ora" (54_08062026.txt:133-134)
|
||||||
|
|
||||||
|
- **Divergența de sentiment se plătește cu o cădere cu atât mai agresivă cu cât
|
||||||
|
ține mai mult** — a avertizat de corecție pe Market Sentiment; cât timp piața
|
||||||
|
stă în divergență, căderea care vine e mai agresivă.
|
||||||
|
- Citat: „cu cat continuam, mai multuri care stau in divergența asta, cu atat
|
||||||
|
mai agresiv va fi caderea si a venit caderea pana la urma"
|
||||||
|
(54_08062026.txt:12)
|
||||||
|
|
||||||
|
## Termeni proprii
|
||||||
|
|
||||||
|
- **Cadranul 1** — cadran de relative strength pe daily; se citește pe cele 11
|
||||||
|
sectoare (54_08062026.txt:10, 14).
|
||||||
|
- **Locul crimei / locul crimei invers** — locul unui fost suport spart care a
|
||||||
|
devenit rezistență; la retest, prețul poate fi respins.
|
||||||
|
- Citat: „l-a facut in locul crimei invers, adica fost un support, a devenit
|
||||||
|
resistance" (54_08062026.txt:51); vezi și 54:85, 54:89.
|
||||||
|
- **MBT-10 / MP4-1 long** — semnale de intrare / pattern de revenire
|
||||||
|
(54_08062026.txt:55, 56, 65, 108).
|
||||||
|
- **Bull harami / doji bull harami** — pattern de revenire pe monthly și weekly
|
||||||
|
(54_08062026.txt:99, 101).
|
||||||
|
- **Megafon** — pattern de compresie / expansiune greu de citit, pe Oscar
|
||||||
|
(54_08062026.txt:77).
|
||||||
|
- **IHI** — sector/ETF de echipamente medicale; ISRG, ABT, SYK (Striker), EW,
|
||||||
|
IDXX, BDX, MDT, GHC, DXCM (54_08062026.txt:67, 73-74).
|
||||||
|
- **„SIC" / „STRIKER"** — în transcriere pentru Stryker (SYK); grafia e
|
||||||
|
nesigură (54_08062026.txt:67, 73, 89, 93-95).
|
||||||
|
|
||||||
|
## Nimic nou
|
||||||
|
|
||||||
|
- Gap-up → închidere gap → cădere (bear) → vezi 2026-06-11 / 2026-08-03.
|
||||||
|
- Sector rotation pe cadran 1 → vezi 2026-06-11 / 2026-07-29.
|
||||||
|
- Tranșe / DCA pe acțiuni în cădere (Tesla, ServiceNow, AVGO) → vezi 2026-07-24
|
||||||
|
/ 2026-08-03 / 2026-09-10.
|
||||||
|
- MBT-10 / MP4 long / rounding bottom / buy hammer ca setup de revenire (Tesla,
|
||||||
|
Nvidia, ServiceNow, Clorox, Edison, BSX) → vezi 2026-06-11 / 2026-09-10.
|
||||||
|
- Buy doji monthly (Tesla, Clorox, Edison), bull harami monthly + weekly (BSX),
|
||||||
|
double bottom cu al doilea picior mai jos (ISRG, Pager), descending wedge /
|
||||||
|
bear flag (Clorox, Oscar, SIC, Pager) → vezi 2026-08-25 / 2026-09-03 / 2026-09-04.
|
||||||
|
- Cup & handle / inverted H&S la bottom (Edison, Oscar, SIC, ISRG) → vezi
|
||||||
|
2026-09-03.
|
||||||
|
- Retestul locului crimei (ServiceNow, SIC, ISRG) → vezi 2026-09-10.
|
||||||
|
- Fundamente bune la cădere pe earnings (AVGO: revenue +26,7%, cash-flow +126%)
|
||||||
|
→ context.
|
||||||
110
harvest/2026-06-09.md
Normal file
110
harvest/2026-06-09.md
Normal file
@@ -0,0 +1,110 @@
|
|||||||
|
# Recoltă 2026-06-09
|
||||||
|
|
||||||
|
Sesiune de analiză zilnică. Catalystul apropiat e inflația: mâine Core CPI
|
||||||
|
(patru variante), joi PPI / Core PPI, vineri Consumer Sentiment și Inflation
|
||||||
|
Expectations (53_09062026.txt:14-20). Indicii deschid cu gap-up pe fond bear
|
||||||
|
(advance/decline intrat în sell, reject sub linia de zero, ATR în creștere), iar
|
||||||
|
restul sesiunii e o listă de idei (Capri, AEO, STUB, FWRG, EYE, Intuit, Netflix,
|
||||||
|
Sportradar, Duolingo). Aproape totul confirmă recolte anterioare; o singură
|
||||||
|
regulă chiar nouă: volumul este leading, adică se mișcă înaintea prețului.
|
||||||
|
|
||||||
|
## Strategii / reguli
|
||||||
|
|
||||||
|
- **Volumul este leading: acționezi pe volum înainte ca prețul să ajungă la
|
||||||
|
nivel** — dacă histograma volumului a urcat la nivelul unui preț din trecut,
|
||||||
|
prețul e de așteptat să urce până acolo chiar dacă încă nu a ajuns; la fel,
|
||||||
|
când volumul e în breakout peste vârfurile anterioare, urcarea e probabilă.
|
||||||
|
- Trigger DA: histograma volumului la nivelul unui preț anterior, sau volum în
|
||||||
|
breakout peste vârfuri anterioare → probabilă urcare spre acel nivel.
|
||||||
|
- Citat: „dacă mă întrebați pe mine, histograma volumului este la nivelul
|
||||||
|
prețului de pe aici" (53_09062026.txt:52); „Uitați-vă unde era prețul acolo
|
||||||
|
și e foarte probabil să urcăm" (53_09062026.txt:54); „în situația în care
|
||||||
|
volumul este în breakout peste vârfuri anterioare" (53_09062026.txt:55);
|
||||||
|
„nici prețul nu a ajuns acolo, dar știți că volumul este leading"
|
||||||
|
(53_09062026.txt:101).
|
||||||
|
|
||||||
|
- **Gap down major: cauți higher low cu săgeată buy momentum, apoi închiderea
|
||||||
|
gap-ului** — pe 60 de minute, după un gap down major, dacă se formează un
|
||||||
|
higher low și acolo apare semnalul de buy momentum, intrarea se face pe
|
||||||
|
închiderea gap-ului.
|
||||||
|
- Trigger DA: gap down major + higher low + săgeată buy momentum (60 min) →
|
||||||
|
target închiderea gap-ului.
|
||||||
|
- Citat: „când aveți un gap down major" (53_09062026.txt:83); „uitați-vă dacă
|
||||||
|
nu, cumva se formează un higher low și în higher low-ul asta avem săgeat
|
||||||
|
asta de by momentum" (53_09062026.txt:84); „și de aici am putea să intrăm în
|
||||||
|
gap închiderea gap-ului" (53_09062026.txt:85); „Este iarăși un petre
|
||||||
|
interesant, mai ales în momentul în care se deschide cu un gap down"
|
||||||
|
(53_09062026.txt:88).
|
||||||
|
- Nuanță față de 2026-07-24 („dacă se formează MBT-10, prețul poate să nu mai
|
||||||
|
închidă gap-ul").
|
||||||
|
|
||||||
|
- **Indici în direcție bear: A/D în sell + reject sub linia de zero + ATR în
|
||||||
|
creștere; gap-up-ul de la open nu e semnal de cumpărare** — gap-up-ul e
|
||||||
|
„caracteristică a piețelor bear", iar după deschidere urmărești prima oră, ca
|
||||||
|
să vezi dacă se închide gap-ul.
|
||||||
|
- Trigger NU (long): gap-up pe A/D intrat în sell + reject sub linia de zero +
|
||||||
|
ATR în breakout.
|
||||||
|
- Citat: „Advanced Decline a intrat în sell ieri" (53_09062026.txt:24); „o
|
||||||
|
caracteristică a piețelor bare, prin natura lor se deschidă cu gap-up și apoi
|
||||||
|
se cadă" (53_09062026.txt:26); „am avut un reject sub linea de zero, ATR-ul
|
||||||
|
urcă" (53_09062026.txt:30); „momentan suntem într-o direcție bear, mai ales
|
||||||
|
că ne schidem cu un gap-up" (53_09062026.txt:41); „Vedem după deschidere ce
|
||||||
|
se întâmplă după prima ora aproximativ" (53_09062026.txt:42).
|
||||||
|
- Confirmă 2026-06-11 (gap-up → închide gap-ul → cade).
|
||||||
|
|
||||||
|
## Gotchas
|
||||||
|
|
||||||
|
- **Fundamental: profit care se întoarce în pierdere + cash flow pozitiv dar în
|
||||||
|
deteriorare = red flag** — pe FWRG, net income a fost pozitiv și acum este
|
||||||
|
negativ, iar cash flow-ul „s-a deteriorat, deși este pozitiv"; ambele îi
|
||||||
|
displac, în ciuda venitului în creștere.
|
||||||
|
- Citat: „avem acest net income care a fost pozitiv, adică profit și acum este
|
||||||
|
negativ" (53_09062026.txt:122); „asta nu-mi place, partea asta nu-mi place,
|
||||||
|
îmi place venitul că este în creștere" (53_09062026.txt:123); „cash flow
|
||||||
|
s-a deteriorat, deși este pozitiv s-a deteriorat, cash flow asta nu-mi place
|
||||||
|
din perspectivă fundamentală" (53_09062026.txt:124).
|
||||||
|
- Confirmă direcția filtrului fundamental din 2026-09-04 (F-score / ATM-score),
|
||||||
|
dar adaugă criteriul pe rezultate: profit și cash flow.
|
||||||
|
|
||||||
|
- **Pattern bun fără volum: nu e chiar de intrat** — la STUB (cup & handle la
|
||||||
|
bottom, buy doji, MBT-10 + MP² 1 long) lipsește volumul pozitiv; semnalul e
|
||||||
|
„doar" pe 60 de minute, cu delay pe daily.
|
||||||
|
- Citat: „Ce nu-mi place, pentru că ar fi fost de intrat interesant în ăsta,
|
||||||
|
dacă ar fi avut și volum, în special pozitiv volumul" (53_09062026.txt:117);
|
||||||
|
„probabil că e un pic întăriziat delay-ul pe daily, în sensul în care încă nu
|
||||||
|
se vede pe daily" (53_09062026.txt:119).
|
||||||
|
- Confirmă 2026-09-10 (lipsa volumului strică structura chiar dacă pattern-ul
|
||||||
|
e bun).
|
||||||
|
|
||||||
|
## Termeni proprii
|
||||||
|
|
||||||
|
- **„Volumul este leading"** (53_09062026.txt:101) — volumul ca indicator
|
||||||
|
anticipator, care se mișcă înaintea prețului.
|
||||||
|
- **„Capu' handle la bottom"** (cup & handle): ceașca, mânerul și breakout-ul
|
||||||
|
din fund (53_09062026.txt:115) — confirmă 2026-09-03.
|
||||||
|
- **Cadranul de overperform / cadranul de îmbunătățire** (relative strength)
|
||||||
|
(53_09062026.txt:72) — confirmă 2026-07-29 / 2026-09-04.
|
||||||
|
- **F-Score / ATM-Score** — indicatori fundamentali anunțați pentru cei cu acces
|
||||||
|
la opțiuni (53_09062026.txt:194; 53_09062026.txt:195) — confirmă 2026-09-04.
|
||||||
|
|
||||||
|
## Nimic nou
|
||||||
|
|
||||||
|
- Core CPI (patru variante: Core CPI lună la lună și an-an, CPI lună la lună și
|
||||||
|
anual), Core PPI + PPI joi, Consumer Sentiment + Inflation Expectations vineri
|
||||||
|
(53:14-20) → vezi 2026-08-11 (ora 15:30) / 2026-08-13.
|
||||||
|
- Fear & Greed în cadranul de frică, intrat după o candelă roșie masivă
|
||||||
|
(53:21-23) → vezi 2026-06-11 / 2026-09-02.
|
||||||
|
- Reject sub pivot pe SPY/QQQ/Russell, McClellan sub linia de zero, A/D în pantă
|
||||||
|
descendentă spre sell, breakout pe ATR (53:29-38) → vezi 2026-08-21 / 2026-08-19.
|
||||||
|
- Gap-up în piață bear → vezi 2026-06-11 / 2026-08-03.
|
||||||
|
- Double bottom cu al doilea picior mai jos + divergență de volum + stochastic
|
||||||
|
oversold + MBT-10 (Intuit, Netflix, EYE) → vezi 2026-09-03 / 2026-09-04.
|
||||||
|
- Rounding bottom + consolidare + breakout (STUB, FWRG, Duolingo) → vezi 2026-09-03.
|
||||||
|
- Triple top (Sportradar) → vezi 2026-08-13.
|
||||||
|
- Acumulare negativă de volum pe monthly/weekly + buy hammer / bull harami în
|
||||||
|
suportul de an (Capri, AEO, FWRG, Netflix) → vezi 2026-08-17 / 2026-09-10.
|
||||||
|
- „Locul crimei" / peak-bottom (EYE) → vezi 2026-06-11 / 2026-08-13.
|
||||||
|
- Ordinea de citire fundamental → monthly → weekly → daily → 60 min + MBT-10 /
|
||||||
|
MP² 1 long (53:105, 53:139, 53:188) → vezi 2026-09-04.
|
||||||
|
- Watchlistul zilei (Capri, AEO, STUB, FWRG, EYE, Intuit, Netflix, Sportradar,
|
||||||
|
Duolingo) — idei de tranzacționare, fără reguli noi.
|
||||||
55
harvest/2026-06-10.md
Normal file
55
harvest/2026-06-10.md
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
# Recoltă 2026-06-10
|
||||||
|
|
||||||
|
Sesiune de analiză zilnică, zi cu triplu catalizator de inflație (CPI + PPI + „PC Price Index") la 15:30, cu piața pe minus în premarket. Fear & Greed în zona de frică. Indicii erau la suporturi / pivot majore (S&P, Russell, Dow Jones în pivotul monthly) și un gap se închisese. Restul sesiunii e o listă de idei, majoritatea luate de pe scanerele MBT-10: FU (rostit „FUT-ul"), ISRG, AMBA, QXO, PCTY, RYAAY, INCI/INCITE, HQY, RUI GL, PayPal. Aproape nimic nou — majoritatea confirmă recolte anterioare.
|
||||||
|
|
||||||
|
## Strategii / reguli
|
||||||
|
|
||||||
|
- **Catalizatori de inflație (CPI, PPI, PCE) la 15:30: trigger pe direcție** — dacă inflația iese peste așteptări, escaladare în direcție short / căderi în continuare; altfel, revenire. Nu tranzacționa intervalul.
|
||||||
|
- Trigger NU (short): inflația peste așteptări.
|
||||||
|
- Trigger DA (revenire): inflația sub așteptări.
|
||||||
|
- Citat: „dacă inflația va ieși mai mare decât previziunea, o să vedem o escaladare [...] în direcție short" (52_10062026.txt:258)
|
||||||
|
- Citat: „dacă CPI-ul o să ia să nașpa, în urcare, adică mai mare decât așteptările, o să vedem ucătere în continuare pe preță, altfel am putea să vedem o revenire" (52_10062026.txt:259)
|
||||||
|
- Confirmă 2026-06-11 (aceeași regulă, pe PPI) / 2026-08-11 (ora 15:30).
|
||||||
|
|
||||||
|
- **Suport / pivot major pe indice: urmărești reacția prețului** — în zone de suport major și pivot major, indicii reacționează; e important nivelul și reacția prețului la nivelul respectiv. Util și pentru day trading / CFD pe indici.
|
||||||
|
- Citat: „în zone de suport major, pivot major, veți vedea automat o reacție din partea indicilor" (52_10062026.txt:56-57)
|
||||||
|
- Citat: „e foarte important să urmăriți nivelul ăsta și reacția prețului nivelul respectiv." (52_10062026.txt:59)
|
||||||
|
- Context 10.06: indicii atinseseră zonele de suport / pivotul monthly, apoi au coborât puțin sub, cu un gap care s-a închis; „Din zona asta de aici am putea să vedem o revenire." (52_10062026.txt:52)
|
||||||
|
- Confirmă 2026-07-27.
|
||||||
|
|
||||||
|
- **Fear & Greed în frică / frică extremă = zonă de cumpărat (contrarian, Buffett)** — lăcomia / lăcomia extremă = zonă de marcat profit.
|
||||||
|
- Citat: „frică extremă e bine de cumpărat în zona de lăcomie și lăcomie extreme bine de vându' sau de marca profit-uri." (52_10062026.txt:40)
|
||||||
|
- Confirmă 2026-09-02 / 2026-08-03.
|
||||||
|
|
||||||
|
## Gotchas
|
||||||
|
|
||||||
|
- **Conturile calificate au restricție de tranzacționare în jurul catalizatorilor** — câteva minute înainte și câteva minute după publicare; verifică dacă ai restricție pe cont. Nu apare în recoltele anterioare.
|
||||||
|
- Citat: „pe conturile calificate aveți restricție cu câteva minute înainte și câteva minute după publicarea acestor catalizatori." (52_10062026.txt:29-30)
|
||||||
|
|
||||||
|
- **Un „reject" izolat nu e semnal** — respingerea unui nivel nu înseamnă nimic dacă nu e confirmată mai departe de preț.
|
||||||
|
- Citat: „rejectul ăsta nu înseamnă mare lucru dacă nu este și confirmat mai departe." (52_10062026.txt:258)
|
||||||
|
- Confirmă 2026-07-28 (McClellan: nu decizi până nu vezi rejectul).
|
||||||
|
|
||||||
|
- **Small cap = volatil** — la QXO, filtrul de risc e dat de mărime, nu doar de scor.
|
||||||
|
- Citat: „Este cumva un small cap, mare atenție, că e volatil, fiind small cap" (52_10062026.txt:163); „Cât e prețul? E 16 dolari." (52_10062026.txt:165)
|
||||||
|
|
||||||
|
## Termeni proprii
|
||||||
|
|
||||||
|
- **„PC Price Index"** — forma de inflație urmărită de Federal Reserve (PCE).
|
||||||
|
- Citat: „și mai este și PC Price Index, care este forma de inflație la care să uite Federal Reserve." (52_10062026.txt:25)
|
||||||
|
|
||||||
|
## Nimic nou
|
||||||
|
|
||||||
|
- MBT-10 ca trigger long după suport / în formare (FU, ISRG, QXO, PCTY, RYAAY, INCI, HQY, PayPal) → vezi 2026-09-10 / 02_mbt10.
|
||||||
|
- Buy doji / buy hammer / buy momentum după suport (ISRG, PCTY, PayPal) → vezi 2026-08-03 / 2026-09-10.
|
||||||
|
- Descending wedge / canal descendent în zona de suport (ISRG, AMBA, QXO, PCTY, PayPal) → vezi 2026-07-28 / 2026-09-02.
|
||||||
|
- Retestarea locului crimei (FU, AMBA, QXO, PCTY, RUI GL) → vezi 2026-09-10.
|
||||||
|
- Double bottom cu al doilea picior mai jos sau mai sus (AMBA, QXO, PCTY, RYAAY, PayPal) → vezi 2026-09-03.
|
||||||
|
- Inverse head and shoulders / cup and handle în formare (ISRG, HQY) → vezi 2026-06-11 / 2026-08-13.
|
||||||
|
- Acumulare negativă a volumului, divergență pe volum, stochastic oversold (majoritatea simbolurilor) → vezi 2026-07-29 / 2026-07-24.
|
||||||
|
- Higher low în formare (ISRG, RYAAY, QXO) → vezi 2026-09-10.
|
||||||
|
- Relative strength în cadranul 1–2 / „cadran de îmbunătățire" (ISRG, PCTY, RYAAY, PayPal) → vezi 2026-09-10 / 2026-07-29.
|
||||||
|
- „Post-resistance devine support" (RYAAY, RUI GL) → vezi 04_pivoti.
|
||||||
|
- Sector healthcare / pharma „ia viteză", șanse de urcări (INCI/INCITE, HQY) → context.
|
||||||
|
- F-score / ATM-score ca filtru fundamental („12 din 14, 7 din 9") → vezi 2026-09-04.
|
||||||
|
- Piață în frică + indici în suport = opinie contrară (Buffett) → vezi 2026-09-02.
|
||||||
100
harvest/2026-06-11.md
Normal file
100
harvest/2026-06-11.md
Normal file
@@ -0,0 +1,100 @@
|
|||||||
|
# Recoltă 2026-06-11
|
||||||
|
|
||||||
|
Sesiune de analiză zilnică. Catalystul zilei e PPI-ul (core PPI + PPI + cererile
|
||||||
|
săptămânale, la 15:30), piața deschide din nou cu gap-up după respingerea sub
|
||||||
|
pivotul monthly, iar restul sesiunii e o listă de idei de tranzacționare (AVGO,
|
||||||
|
Oracle, Marvell, MasterCard, Vodafone, INVA, Qbz, FLEGT, PGR, S&T&G). Aproape
|
||||||
|
nimic nu e regulă nouă — majoritatea confirmă recolte anterioare.
|
||||||
|
|
||||||
|
## Strategii / reguli
|
||||||
|
|
||||||
|
- **PPI (inflația la producător): trigger pe direcție; mișcarea e la 15:30** —
|
||||||
|
PPI nemodificat sau în creștere apasă piața în jos; PPI în scădere → revenire.
|
||||||
|
Nu tranzacționa intervalul de publicare.
|
||||||
|
- Trigger DA (revenire): PPI în scădere.
|
||||||
|
- Trigger NU (cădere): PPI nemodificat sau în creștere.
|
||||||
|
- Citat: „În situația în care iese tot așa nemodificat ca ieri sau în creștere
|
||||||
|
e cam nașpa pentru piață" (51_11062026.txt:22-23); „Sau dacă iese în
|
||||||
|
scădere ar trebui să vedem o revenire în piață" (51_11062026.txt:28).
|
||||||
|
- Confirmă 2026-08-14 (direcția) și 2026-08-11 (ora 15:30).
|
||||||
|
|
||||||
|
- **Gap-up la deschidere pe indice, în piață bear: închide gap-ul, apoi cade din
|
||||||
|
nou** — deschiderea repetată cu gap-up poate fi o caracteristică a pieței
|
||||||
|
bear, nu semnal de cumpărare.
|
||||||
|
- Citat: „deschiderea cu GEP-up poate să fie o caracteristică a unei piețe
|
||||||
|
bare, să deschidem cu GEP-up cum ne-am deschis și ieri și după care poate
|
||||||
|
închidem GEP-ul și după care cădem din nou" (51_11062026.txt:49).
|
||||||
|
- Confirmă 2026-08-03 (gap up → închide gap-ul → urcă sau ABCD short).
|
||||||
|
|
||||||
|
- **Fear & Greed în cadranul de frică, aproape de frică extremă = zonă de
|
||||||
|
cumpărare** — „lumea începe să panicheze", iar intrarea în extreme fear dă
|
||||||
|
oportunități bune de cumpărare.
|
||||||
|
- Citat: „Suntem aproape de limita cu extreme fear" (51_11062026.txt:35);
|
||||||
|
„în momentul în care te duci și în extreme fear deja s-ar putea să începe
|
||||||
|
niște oportunități bune de cumpărarea" (51_11062026.txt:36).
|
||||||
|
- Confirmă 2026-09-02 / 2026-08-03.
|
||||||
|
|
||||||
|
- **Sector rotation citit pe „cadranul 1" (bias long)** — pe daily, în cadranul
|
||||||
|
1: TLT/bonduri, energie, financiare, XLP, real estate, XLV, retail; se
|
||||||
|
îmbunătățesc: biotech, consumer staples, communication services, industrials,
|
||||||
|
utilities, consumer discretionary, IGV, software, aerospace & defense și
|
||||||
|
tehnologia. Mid cap-uri: IJS, JETS, asigurări, bănci regionale
|
||||||
|
(51_11062026.txt:43).
|
||||||
|
- Citat: „Avem TLT-urile, bondurile în cadranul 1 […] energia cadranul 1,
|
||||||
|
financiarele cadranul 1, XLP cadranul 1 […] real estate-ul cadranul 1, XLV
|
||||||
|
cadranul 1" (51_11062026.txt:45); „Cine se îmbunătățește? Biotecnologia,
|
||||||
|
consumer staples, communication services, industrialele, utilitățile și
|
||||||
|
consumer discretionary" (51_11062026.txt:46).
|
||||||
|
- Confirmă 2026-07-29.
|
||||||
|
|
||||||
|
- **Setup de revenire după o cădere masivă la earnings: aștepți MBT-10 / MP² 1
|
||||||
|
long / rounding bottom / buy hammer** — nu intri pe cuțit, ci pe pattern de
|
||||||
|
revenire, cu gap-ul de închis ca reper.
|
||||||
|
- Citat: „stați cu ochii pe el pentru un MBT-10 sau pentru un MP4, un long sau
|
||||||
|
poate un rounding button sau ceva pattern de revenire"
|
||||||
|
(51_11062026.txt:55).
|
||||||
|
- Exemple din sesiune: AVGO (51:51-55, cădere masivă + gap-uri de închis),
|
||||||
|
Oracle (51:62-63, se deschide la 184, cu suportul monthly la 185),
|
||||||
|
Marvell (51:65-74, pullback cu gap de închis, posibil MBT-10).
|
||||||
|
- Confirmă 2026-09-10.
|
||||||
|
|
||||||
|
## Gotchas
|
||||||
|
|
||||||
|
- **Rezultate bune, dar prețul scade la deschidere** — Oracle a publicat bine și
|
||||||
|
e minus 8 în premarket; explicația lui: „posibil au vândut ca să-l cumpre mai
|
||||||
|
jos". Earnings-ul rămâne gamble, nu intrare direcțională.
|
||||||
|
- Citat: „deși a publicat bine, este minus 8 în premarket"
|
||||||
|
(51_11062026.txt:56); „posibil au vândut ca să-l cumpre mai jos"
|
||||||
|
(51_11062026.txt:64).
|
||||||
|
- Confirmă 2026-09-10 (earnings iminent = gamble trade).
|
||||||
|
|
||||||
|
- **Volumul care „trece pozitiv" la earnings poate fi doar vânzare înainte de
|
||||||
|
cumpărare** — nu-l citi ca acumulare instituțională până nu vezi reacția.
|
||||||
|
(51_11062026.txt:64; vezi și 2026-09-10 despre distribuție/volum).
|
||||||
|
|
||||||
|
- **PPI la 15:30 = volatilitate; nu tranzacționa intervalul** (51:325-327).
|
||||||
|
Confirmă 2026-08-11.
|
||||||
|
|
||||||
|
## Termeni proprii
|
||||||
|
|
||||||
|
- **Retestarea locului crimei** — fostul vârf spart devine suport; aici repetat
|
||||||
|
ca reper pentru AVGO (51:54-55), MasterCard (51:81) și S&T&G (51:317).
|
||||||
|
Confirmă 2026-09-10.
|
||||||
|
- **„The Dump Before The Pump"** (51:70, pe Marvell) — confirmă 2026-08-11 /
|
||||||
|
2026-07-30.
|
||||||
|
- **Cadran 1 / cadranul de frică** (51:32, 51:45) — confirmă 2026-07-29 /
|
||||||
|
2026-09-02.
|
||||||
|
- **Gap de închis / jumătate de gap** (51:55, 51:241) — confirmă 2026-09-10.
|
||||||
|
|
||||||
|
## Nimic nou
|
||||||
|
|
||||||
|
- MBT-10 ca punct de intrare după cădere (AVGO, Marvell, Vodafone, PGR) → vezi
|
||||||
|
2026-09-10 / 02_mbt10.
|
||||||
|
- Buy doji weekly / buy momentum după reject în suport monthly (MasterCard,
|
||||||
|
INVA, PGR) → vezi 2026-08-03 / 2026-09-10.
|
||||||
|
- Double bottom cu al doilea picior mai jos (INVA, FLEGT) → vezi 2026-09-03.
|
||||||
|
- Triple bottom (PGR), rounding bottom + cup and handle (Vodafone, INVA) → vezi
|
||||||
|
2026-08-13 / 2026-09-03.
|
||||||
|
- Volum în acumulare negativă / divergență pe histogramă (Qbz) → vezi
|
||||||
|
2026-07-29 / 2026-07-24.
|
||||||
|
- Small cap-uri sub ~23$ analizate pe scoruri (INVA, FLEGT, S&T&G) → context.
|
||||||
15
run_opencode_batch.sh
Executable file
15
run_opencode_batch.sh
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Ruleaza un agent opencode peste o lista de fisiere, in paralel.
|
||||||
|
# ./run_opencode_batch.sh <agent> <paralelism> <fisier-cu-lista>
|
||||||
|
# Fiecare linie din lista devine un prompt: "<verb> <fisier>".
|
||||||
|
# Log per fisier in .opencode/logs/<agent>/<nume>.log - acolo te uiti cand
|
||||||
|
# unul iese prost, nu in stdout-ul amestecat al celor N rulari.
|
||||||
|
set -e
|
||||||
|
AGENT="$1"; PAR="${2:-3}"; LIST="$3"
|
||||||
|
cd /workspace/atm-curs-dl
|
||||||
|
mkdir -p ".opencode/logs/$AGENT"
|
||||||
|
xargs -a "$LIST" -d '\n' -P "$PAR" -I {} sh -c \
|
||||||
|
'f="{}"; n=$(basename "$f" .txt); \
|
||||||
|
opencode run --agent '"$AGENT"' --auto "Recolteaza $f" \
|
||||||
|
> ".opencode/logs/'"$AGENT"'/$n.log" 2>&1 \
|
||||||
|
&& echo "OK $n" || echo "ESEC $n"'
|
||||||
Reference in New Issue
Block a user