diff --git a/gen/az_buy_doji_mici.py b/gen/az_buy_doji_mici.py new file mode 100644 index 0000000..6c295bd --- /dev/null +++ b/gen/az_buy_doji_mici.py @@ -0,0 +1,246 @@ +"""Diagramele pentru summaries/08_ANALIZA_ZILNICA/01_buy_doji_si_strategia_mici.md. + +Toate prețurile sunt construite (fără ticker). Rulează: + .venv/bin/python gen/az_buy_doji_mici.py +Înlocuiește în .md fiecare bloc ... cu output-ul +generatorului. Ca să schimbi o cifră, o schimbi aici și rulezi din nou. +""" +import re +import sys +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/01_buy_doji_si_strategia_mici.md") +GRAY, RED, GREEN, BLUE, ORANGE = "#777", "#c00", "#188a3e", "#1a5fb4", "#b06000" +STYLE = dict(gap=15, body_w=9, left=44, width=620) +svgs = {} + + +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)) + + +# ---------------------------------------------------------------- 1. buy doji DA +down = [60.2, 59.0, 59.4, 58.1, 57.0, 57.5, 56.2, 55.1, 55.6, 54.3, 53.2, 52.4] +closes = down + [52.3, # 12 doji + 52.6, # 13 în fereastră, nu închide peste high + 53.7, # 14 buy doji: close > high doji + 54.3, 54.0, 55.0, 56.1, 55.6, 56.4, 57.2, 56.8, 57.6, 58.3, 57.9, 58.6, 59.0] +wicks = [(0.3, 0.4)] * 12 + [(0.6, 0.7), (0.3, 0.5), (0.2, 0.3)] + [(0.3, 0.3)] * 13 +cds = from_closes(closes, wicks=wicks, start=61.0) +D, T = 12, 14 +doji_hi, doji_lo = cds[D].h, cds[D].l +assert abs(cds[D].o - cds[D].c) <= 0.15 and doji_hi - doji_lo >= 1.2, "doji-ul nu arată a doji" +assert cds[D - 10].c > cds[D - 1].c + 5, "trendul anterior nu e descendent" +assert cds[13].c <= doji_hi and cds[T].c > doji_hi, "trigger-ul nu e prima închidere peste high-ul doji" +entry = cds[T].c +sl = round(min(c.l for c in cds[T - 3:T + 1]) - 0.05, 2) +risk = entry - sl +tp1 = round(entry + risk, 2) +hit = next(i for i in range(T + 1, len(cds)) if cds[i].h >= tp1) +assert hit - T == 4, "textul spune: TP1 atins la a 4-a candelă după intrare" +print(f"D1 doji hi {doji_hi:.2f} lo {doji_lo:.2f} entry {entry:.2f} SL {sl:.2f} risc {risk:.2f} TP1 {tp1:.2f} atins la {hit}") +ch = Chart(candles=cds, + levels=[Level(sl, f"SL {sl:.2f} (low 4 candele)", RED), + Level(entry, f"intrare {entry:.2f}", GREEN, label_at="left"), + Level(tp1, f"TP1 {tp1:.2f} = 1R", BLUE)], + marks=[Mark(8, "downtrend", GRAY, "above", dy=-40), + Mark(D, "doji", "#333", "below"), + Mark(T, "buy doji", GREEN, "above", dy=-4), + Mark(hit, "TP1 atins", BLUE, "above")], + scale=22, title="Exemplu construit (fără ticker) — daily", + caption=f"Trigger = prima închidere peste high-ul doji-ului ({doji_hi:.2f}), în max. 3 candele.", **STYLE) +svg_ = ch.render() +assert abs(px_ratio(ch, sl, entry, tp1) - 1.0) < 0.01 +svgs["buy_doji_da"] = svg_ + +# ---------------------------------------------------------------- 2. buy doji NU +closes = down + [52.3, # 12 doji + 52.7, 52.1, 52.5, # 13-15: fereastra de 3 candele, nicio închidere peste high + 51.2, 50.4, 50.9, 49.8, 49.0, 49.5, 48.6, 48.1, 48.7, 47.9] +wicks = [(0.3, 0.4)] * 12 + [(0.6, 0.7), (0.25, 0.3), (0.3, 0.3), (0.3, 0.3)] + [(0.3, 0.3)] * 10 +cds = from_closes(closes, wicks=wicks, start=61.0) +doji_hi, doji_lo = cds[D].h, cds[D].l +assert all(c.c <= doji_hi for c in cds[D + 1:D + 4]), "o candelă din fereastră a închis peste high" +brk = next(i for i in range(D + 1, len(cds)) if cds[i].c < doji_lo) +assert brk == D + 4, brk +print(f"D2 doji hi {doji_hi:.2f} lo {doji_lo:.2f} spart la {brk} close {cds[brk].c:.2f}") +ch = Chart(candles=cds, + levels=[Level(doji_hi, f"high doji {doji_hi:.2f}", GREEN), + Level(doji_lo, f"low doji {doji_lo:.2f}", RED, label_at="left")], + marks=[Mark(8, "downtrend", GRAY, "above", dy=-40), + Mark(D, "doji", "#333", "below", dy=4), + Mark(D + 5, "3 candele, niciuna peste high", ORANGE, "above", dy=-60)], + scale=22, title="Exemplu construit (fără ticker) — daily", + caption=f"A 4-a candelă după doji închide la {cds[brk].c:.2f}, sub low: setup mort, nu intri.", **STYLE) +svgs["buy_doji_nu"] = ch.render() + +# ---------------------------------------------------------------- 3. sell doji (short) +up = [40.8, 42.0, 41.6, 42.9, 44.0, 43.5, 44.8, 45.9, 45.4, 46.7, 47.8, 48.6] +closes = up + [48.7, # 12 doji + 48.4, # 13 în fereastră, nu închide sub low + 47.3, # 14 sell doji: close < low doji + 46.7, 47.0, 46.0, 44.9, 45.4, 44.6, 43.8, 44.2, 43.4, 42.7, 43.1, 42.4, 42.0] +wicks = [(0.4, 0.3)] * 12 + [(0.7, 0.6), (0.5, 0.3), (0.3, 0.2)] + [(0.3, 0.3)] * 13 +cds = from_closes(closes, wicks=wicks, start=40.0) +doji_hi, doji_lo = cds[D].h, cds[D].l +assert abs(cds[D].o - cds[D].c) <= 0.15 +assert cds[13].c >= doji_lo and cds[T].c < doji_lo, "trigger-ul short nu e prima închidere sub low" +entry = cds[T].c +sl = round(max(c.h for c in cds[T - 3:T + 1]) + 0.05, 2) +risk = sl - entry +tp1 = round(entry - risk, 2) +hit = next(i for i in range(T + 1, len(cds)) if cds[i].l <= tp1) +assert hit - T <= 8 +print(f"D3 doji hi {doji_hi:.2f} lo {doji_lo:.2f} entry {entry:.2f} SL {sl:.2f} risc {risk:.2f} TP1 {tp1:.2f} atins la {hit}") +ch = Chart(candles=cds, + levels=[Level(sl, f"SL {sl:.2f} (high 4 candele)", RED), + Level(entry, f"intrare short {entry:.2f}", GREEN, label_at="left"), + Level(tp1, f"TP1 {tp1:.2f} = 1R", BLUE)], + marks=[Mark(5, "uptrend", GRAY, "below"), + Mark(D, "doji", "#333", "below", dy=4), + Mark(T, "sell doji", RED, "below", dy=4), + Mark(hit, "TP1 atins", BLUE, "below")], + scale=22, title="Exemplu construit (fără ticker) — daily", + caption=f"Oglinda: trigger = prima închidere sub low-ul doji-ului ({doji_lo:.2f}).", **STYLE) +svg_ = ch.render() +assert abs(px_ratio(ch, tp1, entry, sl) - 1.0) < 0.01 +svgs["sell_doji"] = svg_ + +# ---------------------------------------------------------------- 4. MICI complet (weekly) +PIVOT = 46.50 +mici = [57.6, 56.4, 55.1, 53.8, # 0-3 downtrend + 55.6, # 4 bounce: lower high (vârful anterior) + 53.8, 52.0, 50.3, 48.6, 46.3, # 5-9 downtrend continuă sub pivot + 45.2, 44.6, # 10-11 picior 1 + 45.8, 46.2, # 12-13 revenire sub pivot + 45.1, 44.3, # 14-15 picior 2 (mai jos) + 44.4, # 16 doji + 47.6, # 17 buy doji weekly, close peste pivot + 49.1, 50.4, 51.2, # 18-20 raliu + 50.1, 49.2, 48.9, # 21-23 pullback: higher low deasupra pivotului + 49.8, # 24 candela din dreapta: confirmă swing low-ul, intrare + 50.6, 51.8, 52.6, 52.1, 53.2, 54.1, 53.6, 54.8, 55.7] # 25-33, 33 atinge ținta +mw = [(0.4, 0.4)] * 4 + [(0.3, 0.3), (0.2, 0.4)] + [(0.4, 0.4)] * 4 + [(0.4, 0.5), (0.4, 0.7), (0.4, 0.4), (0.4, 0.4), + (0.4, 0.4), (0.3, 0.9), (0.6, 0.7), (0.3, 0.3), (0.3, 0.3), (0.3, 0.3), (0.5, 0.3), + (0.3, 0.3), (0.3, 0.4), (0.3, 0.6), (0.2, 0.3)] + [(0.3, 0.3)] * 9 +mv = [40, 42, 44, 41, 30, 45, 47, 50, 52, 55, 50, 58, 38, 36, 44, 60, 52, 88, 70, 64, 60, + 38, 34, 30, 55, 50, 58, 54, 40, 56, 52, 42, 55, 60] +cds = from_closes(mici, wicks=mw, vols=mv, start=58.8) +DJ, BD, HL, CF = 16, 17, 23, 24 +leg1, leg2 = min(c.l for c in cds[10:13]), min(c.l for c in cds[14:17]) +prior_high = cds[4].h +assert prior_high > cds[3].h and prior_high > cds[5].h, "bara 4 nu e swing high" +swing1 = max(c.h for c in cds[18:22]) +hl = min(c.l for c in cds[21:24]) +assert leg2 < leg1, "al doilea picior al double bottom-ului trebuie să fie mai jos" +assert abs(cds[DJ].o - cds[DJ].c) <= 0.15, "bara 16 nu e doji" +assert cds[BD].c > cds[DJ].h and cds[BD].c > PIVOT, "buy doji-ul nu închide peste high-ul doji și peste pivot" +assert all(c.c < PIVOT for c in cds[9:17]), "înainte de buy doji prețul trebuie să fie sub pivot" +assert hl == cds[HL].l and hl > PIVOT and hl > leg2, "higher low-ul nu e deasupra pivotului" +assert cds[CF].c > cds[HL].h and cds[CF].l > hl, "candela din dreapta nu confirmă swing low-ul" +assert sum(mv[BD:BD + 3]) / 3 > sum(mv[21:24]) / 3 * 1.8, "volumul pe raliu nu e clar peste cel de pe pullback" +entry = cds[CF].c +sl = round(hl - 0.2, 2) +risk = entry - sl +tp = round(prior_high, 2) +R = (tp - entry) / risk +hit = next(i for i in range(CF + 1, len(cds)) if cds[i].h >= tp) +assert R >= 2.5, R +assert hit - CF == 9 and hit == len(cds) - 1, "textul spune: ținta atinsă după 9 candele; seria se oprește acolo" +assert mv[BD] == max(mv), "textul spune: buy doji-ul are cel mai mare volum din serie" +print(f"D4 leg1 {leg1:.2f} leg2 {leg2:.2f} buydoji close {cds[BD].c:.2f} swing1 {swing1:.2f} HL {hl:.2f} " + f"entry {entry:.2f} SL {sl:.2f} risc {risk:.2f} TP {tp:.2f} = {R:.2f}R atins la {hit}") +MICI_ENTRY, MICI_SL, MICI_TP, MICI_R, MICI_SWING1 = entry, sl, tp, R, swing1 +ch = Chart(candles=cds, + levels=[Level(PIVOT, f"pivot monthly {PIVOT:.2f}", ORANGE, label_at="left"), + Level(sl, f"SL {sl:.2f}", RED), + Level(entry, f"intrare {entry:.2f}", GREEN), + Level(tp, f"TP {tp:.2f} = {R:.1f}R", BLUE)], + marks=[Mark(4, "vârf anterior", BLUE, "above", dy=-30), + Mark(11, "picior 1", RED, "below"), + Mark(15, "picior 2", RED, "below"), + Mark(BD, "buy doji W", GREEN, "above", dy=-50), + Mark(HL, "higher low", GREEN, "below", dy=2)], + scale=18, vol_h=70, title="Exemplu construit (fără ticker) — weekly", + caption="Intrarea vine la close-ul candelei care confirmă higher low-ul, nu la buy doji.", + **{**STYLE, "width": 700}) +svg_ = ch.render() +assert abs(px_ratio(ch, sl, entry, tp) - R) < 0.01 +svgs["mici_complet"] = svg_ + +# ---------------------------------------------------------------- 5. reintrare după primul target +re_cl = mici[18:] + [ # continuă aceeași serie (bara 0 aici = bara 18 din D4) + 55.2, 54.1, 53.3, 52.6, # pullback după TP + 52.5, # doji în locul crimei + 53.4, # buy doji daily/weekly: confirmă higher low-ul + 54.5, 55.6, 56.4, 55.9, 57.1, 57.9, 57.4, 58.9] +re_w = mw[18:] + [(0.3, 0.3), (0.3, 0.3), (0.3, 0.4), (0.3, 0.6), (0.5, 0.8), (0.2, 0.3)] + [(0.3, 0.3)] * 8 +cds = from_closes(re_cl, wicks=re_w, start=mici[17]) +off = 18 +crime = MICI_SWING1 # fostul vârf al raliului, spart pe drum spre TP +k_doji, k_bd = len(mici) - off + 4, len(mici) - off + 5 +low2 = min(c.l for c in cds[k_doji - 2:k_doji + 1]) +assert abs(cds[k_doji].o - cds[k_doji].c) <= 0.15 +assert abs(low2 - crime) <= 0.05, "codița retestului nu atinge fostul vârf (locul crimei)" +assert low2 > hl, "a doua intrare nu mai e higher low" +assert cds[k_bd].c > cds[k_doji].h +entry2 = cds[k_bd].c +sl2 = round(crime - 0.7, 2) +risk2 = entry2 - sl2 +tp2 = 58.30 +R2 = (tp2 - entry2) / risk2 +hit2 = next(i for i in range(k_bd + 1, len(cds)) if cds[i].h >= tp2) +assert R2 >= 2, R2 +print(f"D5 locul crimei {crime:.2f} low pullback {low2:.2f} entry2 {entry2:.2f} SL {sl2:.2f} " + f"risc {risk2:.2f} TP2 {tp2:.2f} = {R2:.2f}R atins la {hit2}") +ch = Chart(candles=cds, + levels=[Level(crime, f"locul crimei {crime:.2f}", ORANGE, label_at="left"), + Level(sl2, f"SL {sl2:.2f}", RED), + Level(entry2, f"intrare 2: {entry2:.2f}", GREEN), + Level(tp2, f"TP2 {tp2:.2f} = {R2:.1f}R", BLUE, label_at="left")], + marks=[Mark(2, "fost vârf", ORANGE, "above", dy=-16), + Mark(len(mici) - off - 1, "TP1 atins", BLUE, "above", dy=-2), + Mark(k_doji, "retest + buy doji", ORANGE, "below", dy=16)], + scale=26, title="Exemplu construit (fără ticker) — weekly, continuarea", + caption="Căderea după TP1 e doar retestul fostului vârf; higher low + nou trigger = a doua intrare.", **STYLE) +svg_ = ch.render() +assert abs(px_ratio(ch, sl2, entry2, tp2) - R2) < 0.01 +svgs["mici_reintrare"] = svg_ + +# ---------------------------------------------------------------- 6. MICI NU +nu = mici[:21] + [50.1, 49.2, # 21-22 pullback ca în D4 + 48.4, # 23 "arată a higher low", candela din dreapta nu e închisă + 46.1, # 24 candela din dreapta închide sub pivot + 46.4, 45.8, 45.2, 45.9, 45.0, 44.6, 45.3, 44.8] +nw = mw[:21] + [(0.3, 0.3), (0.3, 0.4), (0.3, 0.6), (0.3, 0.4)] + [(0.3, 0.3)] * 8 +nv = mv[:21] + [40, 44, 52, 66, 48, 58, 54, 40, 56, 50, 38, 52] +cds = from_closes(nu, wicks=nw, vols=nv, start=58.8) +assert cds[23].l > PIVOT, "bara 23 trebuie să pară încă higher low deasupra pivotului" +assert cds[24].c < PIVOT and cds[24].l < cds[23].l, "candela din dreapta nu anulează higher low-ul" +assert sum(nv[21:25]) / 4 > sum(nv[18:21]) / 3 * 0.75, "pe NU volumul vânzătorilor nu scade" +early = cds[23].c +assert round(cds[23].l, 2) == 47.80 and round(early, 2) == 48.40 and round(cds[24].c, 2) == 46.10 +print(f"D6 bara 23 low {cds[23].l:.2f} close {early:.2f}; bara 24 close {cds[24].c:.2f} sub pivot {PIVOT}") +ch = Chart(candles=cds, + levels=[Level(PIVOT, f"pivot monthly {PIVOT:.2f}", ORANGE, label_at="left"), + Level(cds[23].l, f"HL? {cds[23].l:.2f} (neconfirmat)", GRAY)], + marks=[Mark(BD, "buy doji W", GREEN, "above", dy=-50), + Mark(24, "sub pivot", RED, "below", dy=4), + Mark(15, "picior 2", RED, "below")], + scale=18, vol_h=70, title="Exemplu construit (fără ticker) — weekly", + caption="Candela din dreapta a închis sub pivot: nu există higher low, nu există MICI.", **STYLE) +svgs["mici_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/01_buy_doji_si_strategia_mici.html b/summaries/08_ANALIZA_ZILNICA/01_buy_doji_si_strategia_mici.html new file mode 100644 index 0000000..6822287 --- /dev/null +++ b/summaries/08_ANALIZA_ZILNICA/01_buy_doji_si_strategia_mici.html @@ -0,0 +1,882 @@ + + +
+ + +Un doji după un trend e prima bară în care direcția trendului nu mai +câștigă: vânzătorii au împins prețul în jos, cumpărătorii l-au adus înapoi, +iar bara închide aproape de unde a deschis. Singur nu spune cine câștigă. +Buy doji-ul spune: o candelă ulterioară închide peste high-ul doji-ului, +deci toți cei care au vândut în bara de indecizie sunt acum în pierdere, iar +stop-urile short-urilor puse deasupra acelui high se execută ca ordine de +cumpărare.
+Ce decizie te ajută să iei:
+| Termen | +Ce înseamnă aici | +
|---|---|
| doji | +candelă cu open ≈ close și fitil în ambele părți, după un trend (în curs: 8-10 candele) | +
| buy doji / sell doji | +trigger-ul sistemului ATM: prima închidere peste high-ul doji-ului (sell: sub low), în max. 3 candele | +
| buy hammer / buy momentum | +alte trigger-e long ale sistemului; apar des după buy doji, când prețul „ia viteză" | +
| pivot monthly | +nivelul pivot al lunii (floor pivots); deasupra = zona cumpărătorilor. Există și pivot quarterly, de an | +
| proiecție bull | +proiecția suport-rezistență a lunii curente e orientată în sus | +
| higher low | +un swing low mai sus decât cel anterior. E „în formare" până se închide candela din dreapta lui | +
| locul crimei | +un fost vârf (swing high) spart, care la retest devine suport. Retestul e valid când codița candelei atinge vârful fostului swing high | +
| MBT-10 | +trigger al sistemului ATM; confirmat doar la închiderea zilei | +
Regula mecanică vine din curs; aici e aplicată pe o serie construită.
+ + + + +Același downtrend, același doji (53.00 / 51.60). Cele 3 candele de după +închid toate sub 53.00, iar a patra închide la 51.20, sub low-ul +doji-ului. Nu a existat trigger, deci nu există trade. Cine a cumpărat +„pe doji", înainte de confirmare, e acum sub low și în pierdere.
+După uptrend, doji cu high 49.40 și low 48.00. Prima candelă închide +deasupra low-ului, a doua la 47.30, sub 48.00 → sell doji, intrare +short. SL 49.45 (cel mai înalt high din 4 candele), TP1 45.15 = 1R.
+Sfântul buy doji (04.09) e cel mai puternic trigger al sistemului:
+După el, spune că poate bate chiar și o sezonalitate bearish:
+++„ai o proiectie bul, ai o sezonalitate bere, dar sistemul nostru e atât +de jmecher încât aici a fost un double button cu al doilea picior mai jos"
+
„Super buy doji" (03.09) — un buy doji pe monthly urmat de buy momentum — +pare același lucru spus altfel, dar nu a confirmat asta explicit.
+Strategia MICI (10.09) folosește exact acest început și adaugă un pas: +higher low deasupra pivotului. Buy doji-ul weekly arată că +cumpărătorii au câștigat bătălia; pullback-ul care se oprește deasupra +pivotului arată că nu o cedează înapoi. Intrarea e pe al doilea semn, nu +pe primul.
+++„Îmi place că am intrat în ByDoji Weekly. Strategia mici, higher, low +deasupra pivotului și de aici ar putea să ia viteză."
+
| MICI — trigger DA | +MICI — trigger NU | +
|---|---|
| buy doji weekly (sau hammer / doji ca trigger) | +higher low neconfirmat: candela din dreapta nu s-a închis | +
| higher low deasupra pivotului | +pullback-ul închide sub pivot | +
| ideal din compresie (wedge, triunghi) sau din double bottom | +volum în distribuție negativă pe monthly | +
| bonus: acumulare de volum, buy doji și pe daily, MBT-10 | +earnings în zilele următoare (devine gamble trade) | +
Ținta, în trepte (03.09). Nu pui un singur TP. Treci nivelurile +deasupra, pe rând: R1 → R2 → vârful anterior → SMA 200 → jumătatea +marubozu-ului mare de cădere → fostul suport spart (devenit rezistență). +Unde se suprapun mai multe, e „o zonă foarte importantă de resistance" — +acolo iei profit. Dacă prețul e deja lipit de o rezistență, nu mai are loc +de țintă și nu intri.
+Orizontul (04.09). MICI nu e un trade de o săptămână:
+++„strategia mici, asta e pentru cei care aveți răbdare, 6-7-8 luni să stat +în tranzacție."
+
Tipic, după buy doji apare un buy hammer deasupra pivotului și de acolo +prețul ia viteză. Un retest de ~1/3 după buy hammer, care ia lichiditatea, +e încă o intrare.
+Aceeași serie până la raliu. Pullback-ul coboară până la 47.80 și +candela închide la 48.40 — arată a higher low deasupra pivotului. +Dar candela din dreapta nu confirmă: închide la 46.10, sub pivot (46.50).
+++„Îmi place swing low-ul ăsta de-aici și deja este confirmat ca și swing +low dacă se închide candela de-aici."
+
După ce buy doji-ul și-a atins primul target, prețul cade de obicei +înapoi. Căderea poate fi doar retestul locului crimei (25.08):
+++ + + + +„am avut un By Doji care și-a îndeplinit primul taliu de profit […] By +Doji cade înapoi, posibil să fie un higher low și asta să fie doar o +retestare a locului crimei"
+
Continuarea exemplului de mai sus (aceeași serie, scară mai mare):
+| Reintrare DA | +Reintrare NU | +
|---|---|
| primul target atins, apoi retest al locului crimei sau al suportului de an | +volumul trece în distribuție negativă | +
| volum încă pozitiv, stochastic spre oversold | +prețul rămâne sub pivotul de an (reject) | +
| trigger: MBT-10 pe daily, inverted H&S pe 60 min sau, ideal, un nou buy doji | ++ |
La acțiuni de sute sau mii de dolari și cu volatilitate mare, nu intri cu +toată poziția la confirmare, ci în 4 tranșe de câte 1/4 (10.09). După +higher low, prețul poate retesta 1/3 sau 2/3 din ultima mișcare ca să ia +lichiditatea de sub vârf. Tranșele cumpără exact acele retesturi.
+++„Pentru că e posibil să retesteze o treime, 2 treimi, până să iau +liquiditatea de pe high-ul ăsta des și aș intra în bucăți."
+
Stop-ul rămâne unul singur, sub higher low (în exemplu, 48.10). Toate +tranșele intră între intrare și stop, deci riscul total nu crește. Doar +prețul mediu scade. Confirmarea higher low-ului poate cere încă o +săptămână — tranșele nu o înlocuiesc.
+++„Atenție că e 400 și ceva de dolari. Adică nu e o jucărie."
+
++„Poate să nu mai facă, poate nu mai face niciodată."
+
++„suntem într-un sell doji, nu-mi place asta și rejectul ăsta de aici, +nu-mi place."
+
++„de aici am zis că să duce și nu s-a dus"
+
Din analiza zilnică (recoltele din harvest/):
Din curs: Strategia 3: Buy Doji / Sell Doji +(fereastra de 3 candele, SL la 4 candele, TP 1:1, limita de 8 candele), +Q&A 27.05.2025 (definiția trigger-ului), +04.08.2025 și +11.08.2026 (nu shortezi împotriva unui buy +doji weekly). Referință externă: Investopedia — Doji.
+Ce e completare a mea: toate prețurile și diagramele sunt construite (în +transcrieri cifrele sunt nesigure). Stop-ul sub higher low la MICI, ținta +pe vârful anterior, stop-ul sub locul crimei la reintrare și calculul R +sunt aplicarea mea a regulilor din curs, nu cifre spuse de el. Explicația +cu stop-urile short-urilor executate peste high-ul doji-ului e tot a mea. +Regulile (trigger, sfântul buy doji, MICI, reintrare, tranșe, gotchas) și +citatele vin din sesiuni.
+ + diff --git a/summaries/08_ANALIZA_ZILNICA/01_buy_doji_si_strategia_mici.md b/summaries/08_ANALIZA_ZILNICA/01_buy_doji_si_strategia_mici.md new file mode 100644 index 0000000..4903902 --- /dev/null +++ b/summaries/08_ANALIZA_ZILNICA/01_buy_doji_si_strategia_mici.md @@ -0,0 +1,806 @@ +# Analiză zilnică / #1 — Buy doji, sell doji și strategia MICI + +## TLDR + +- **Doji-ul** e setup-ul, **buy doji-ul** e trigger-ul: o candelă care + închide peste high-ul doji-ului, în maximum 3 candele după el. Sell doji e + oglinda: închidere sub low. +- În analiza zilnică buy doji-ul contează mai ales pe **weekly și monthly**, + unde îl văd instituționalii. Nu shortezi împotriva unui buy doji weekly. +- Cel mai puternic: **„sfântul buy doji"** — din double bottom, cu close + deasupra pivotului monthly, în proiecție bull. +- **Strategia MICI** = buy doji weekly + **higher low deasupra pivotului**, + confirmat de candela din dreapta. Intri la confirmare, stop sub higher low, + țintă pe rezistențe în trepte. Orizont: 6-8 luni. +- După primul target, căderea înapoi în **locul crimei** poate fi un nou + higher low — a doua intrare. + +--- + +## De ce urmărești setup-ul + +Un doji după un trend e prima bară în care direcția trendului nu mai +câștigă: vânzătorii au împins prețul în jos, cumpărătorii l-au adus înapoi, +iar bara închide aproape de unde a deschis. Singur nu spune cine câștigă. +Buy doji-ul spune: o candelă ulterioară închide peste high-ul doji-ului, +deci toți cei care au vândut în bara de indecizie sunt acum în pierdere, iar +stop-urile short-urilor puse deasupra acelui high se execută ca ordine de +cumpărare. + +Ce decizie te ajută să iei: + +- **pe daily** — când intri într-un swing (trigger mecanic, stop și țintă + fixe, vezi [Strategia 3](../03_MODUL_2/13_strategia_3_byh.html)); +- **pe weekly/monthly** — în ce direcție **ai voie** să tranzacționezi. + Un buy doji weekly e un semnal al banilor mari; short-uri de 1-2 zile + înăuntrul lui, da, dar nu o poziție short împotriva lui (Q&A + [11.08.2026](../09_QA/03_2026-08-11.html)); +- **pe 60 min** — o intrare mai devreme decât MBT-10, dar **numai** în + direcția unui swing long deja stabilit pe daily. Fără contextul de daily, + un buy doji pe 60 min singur nu ajunge (21.08). + +--- + +## Termenii, o singură dată + +| Termen | Ce înseamnă aici | +|---|---| +| **doji** | candelă cu open ≈ close și fitil în ambele părți, după un trend (în curs: 8-10 candele) | +| **buy doji / sell doji** | trigger-ul sistemului ATM: prima închidere peste high-ul doji-ului (sell: sub low), în max. 3 candele | +| **buy hammer / buy momentum** | alte trigger-e long ale sistemului; apar des după buy doji, când prețul „ia viteză" | +| **pivot monthly** | nivelul pivot al lunii (floor pivots); deasupra = zona cumpărătorilor. Există și pivot quarterly, de an | +| **proiecție bull** | proiecția suport-rezistență a lunii curente e orientată în sus | +| **higher low** | un swing low mai sus decât cel anterior. E „în formare" până se închide candela din dreapta lui | +| **locul crimei** | un fost vârf (swing high) spart, care la retest devine suport. Retestul e valid când codița candelei atinge vârful fostului swing high | +| **MBT-10** | trigger al sistemului ATM; confirmat doar la închiderea zilei | + +--- + +## 1. Buy doji: trigger DA + +Regula mecanică vine din curs; aici e aplicată pe o serie construită. + + + + + +- Downtrend de 12 candele, apoi **doji**: high 53.00, low 51.60. +- Prima candelă după doji închide la 52.60 — sub high. Încă nimic. +- A doua închide la **53.70**, peste 53.00 → **buy doji**, intrare la close. +- **SL 51.55**: cel mai jos low din ultimele 4 candele (low-ul doji-ului, + 51.60), cu 5 cenți sub. Dacă prețul coboară acolo, indecizia s-a + rezolvat în favoarea vânzătorilor. +- **TP1 55.85** = 1R (risc 2.15). Atins la a 4-a candelă după intrare. Din + curs: dacă nici TP, nici SL nu sunt atinse în 8 candele, ieși oricum; + restul poziției merge pe trailing stop. + +## 2. Buy doji: trigger NU + + + + + +Același downtrend, același doji (53.00 / 51.60). Cele 3 candele de după +închid toate sub 53.00, iar a patra închide la **51.20, sub low-ul +doji-ului**. Nu a existat trigger, deci nu există trade. Cine a cumpărat +„pe doji", înainte de confirmare, e acum sub low și în pierdere. + +## 3. Sell doji: oglinda, pe short + + + + + +După uptrend, doji cu high 49.40 și low 48.00. Prima candelă închide +deasupra low-ului, a doua la **47.30, sub 48.00** → sell doji, intrare +short. SL **49.45** (cel mai înalt high din 4 candele), TP1 **45.15** = 1R. + +--- + +## 4. Sfântul buy doji și strategia MICI + +**Sfântul buy doji** (04.09) e cel mai puternic trigger al sistemului: + +- buy doji ieșit dintr-un **double bottom** — al doilea picior poate fi mai + jos sau mai sus; +- **închis deasupra pivotului monthly**; +- lună în **proiecție bull**; +- bonus: piața pleacă din oversold pe McClellan, iar după buy doji vine + buy momentum. + +După el, spune că poate bate chiar și o sezonalitate bearish: + +> „ai o proiectie bul, ai o sezonalitate bere, dar sistemul nostru e atât +> de jmecher încât aici a fost un double button cu al doilea picior mai jos" + +„Super buy doji" (03.09) — un buy doji pe monthly urmat de buy momentum — +pare același lucru spus altfel, dar nu a confirmat asta explicit. + +**Strategia MICI** (10.09) folosește exact acest început și adaugă un pas: +**higher low deasupra pivotului**. Buy doji-ul weekly arată că +cumpărătorii au câștigat bătălia; pullback-ul care se oprește deasupra +pivotului arată că nu o cedează înapoi. Intrarea e pe al doilea semn, nu +pe primul. + +> „Îmi place că am intrat în ByDoji Weekly. Strategia mici, higher, low +> deasupra pivotului și de aici ar putea să ia viteză." + +| MICI — trigger DA | MICI — trigger NU | +|---|---| +| buy doji weekly (sau hammer / doji ca trigger) | higher low neconfirmat: candela din dreapta nu s-a închis | +| higher low **deasupra** pivotului | pullback-ul închide sub pivot | +| ideal din compresie (wedge, triunghi) sau din double bottom | volum în distribuție negativă pe monthly | +| bonus: acumulare de volum, buy doji și pe daily, MBT-10 | earnings în zilele următoare (devine gamble trade) | + +### Exemplu complet: de la buy doji la țintă + + + + + +1. **Context.** Downtrend care coboară sub pivotul monthly (46.50), cu un + vârf intermediar (lower high) la 55.90. +2. **Double bottom.** Picior 1 la 43.90, picior 2 la 43.40 — mai jos: ia + stop-urile celor intrați la primul picior. +3. **Buy doji weekly.** După doji, candela închide la **47.60, peste + pivot**, cu cel mai mare volum din serie. Acum **nu intri** — + pentru MICI lipsește higher low-ul. +4. **Raliu** până la 51.70, apoi pullback cu volum în scădere. Low-ul + pullback-ului: **48.30, deasupra pivotului** și mult deasupra lui 43.40. +5. **Confirmare.** Candela din dreapta închide la 49.80, peste high-ul + barei de low. Swing low-ul e confirmat → **intrare 49.80**. +6. **SL 48.10**, sub higher low. Aici e și regula de 4 candele din curs: + cel mai jos low din 4 candele în spate e chiar higher low-ul. Sub el, + pullback-ul nu mai e higher low. +7. **Țintă 55.90**: vârful anterior din downtrend = **3.6R** (risc 1.70, + câștig 6.10). Atinsă după 9 candele weekly. + +**Ținta, în trepte (03.09).** Nu pui un singur TP. Treci nivelurile +deasupra, pe rând: R1 → R2 → vârful anterior → SMA 200 → jumătatea +marubozu-ului mare de cădere → fostul suport spart (devenit rezistență). +Unde se suprapun mai multe, e „o zonă foarte importantă de resistance" — +acolo iei profit. Dacă prețul e deja lipit de o rezistență, nu mai are loc +de țintă și nu intri. + +**Orizontul (04.09).** MICI nu e un trade de o săptămână: + +> „strategia mici, asta e pentru cei care aveți răbdare, 6-7-8 luni să stat +> în tranzacție." + +Tipic, după buy doji apare un buy hammer deasupra pivotului și de acolo +prețul ia viteză. Un retest de ~1/3 după buy hammer, care ia lichiditatea, +e încă o intrare. + +### Invalidare: higher low-ul care nu a fost + + + + + +Aceeași serie până la raliu. Pullback-ul coboară până la 47.80 și +candela închide la 48.40 — **arată** a higher low deasupra pivotului. +Dar candela din dreapta nu confirmă: închide la **46.10, sub pivot** (46.50). + +- Cine a intrat la 48.40, „pe higher low în formare", e acum sub pivot. +- Nu mai e MICI. Buy doji-ul weekly rămâne, dar zona de cumpărare s-a + mutat jos, la retestul double bottom-ului. + +> „Îmi place swing low-ul ăsta de-aici și deja este confirmat ca și swing +> low dacă se închide candela de-aici." + +--- + +## 5. Reintrarea după primul target + +După ce buy doji-ul și-a atins primul target, prețul cade de obicei +înapoi. Căderea poate fi doar retestul locului crimei (25.08): + +> „am avut un By Doji care și-a îndeplinit primul taliu de profit […] By +> Doji cade înapoi, posibil să fie un higher low și asta să fie doar o +> retestare a locului crimei" + + + + + +Continuarea exemplului de mai sus (aceeași serie, scară mai mare): + +- Pe drum spre TP, prețul a spart vârful raliului, **51.70** → acela e + locul crimei. +- După TP1, pullback până la **51.70** exact: codița atinge fostul vârf. + Low-ul e peste higher low-ul anterior (48.30), deci structura rămâne + „scăriță". +- Doji în retest, apoi trigger la **53.40** → a doua intrare. +- **SL 51.00**, sub locul crimei: dacă prețul se întoarce sub fostul vârf, + retestul a eșuat. +- **TP2 58.30** = **2.0R** (risc 2.40). + +| Reintrare DA | Reintrare NU | +|---|---| +| primul target atins, apoi retest al locului crimei sau al suportului de an | volumul trece în distribuție negativă | +| volum încă pozitiv, stochastic spre oversold | prețul rămâne sub pivotul de an (reject) | +| trigger: MBT-10 pe daily, inverted H&S pe 60 min sau, ideal, un nou buy doji | | + +--- + +## 6. Intrarea în tranșe, la acțiuni scumpe + +La acțiuni de sute sau mii de dolari și cu volatilitate mare, nu intri cu +toată poziția la confirmare, ci în **4 tranșe de câte 1/4** (10.09). După +higher low, prețul poate retesta 1/3 sau 2/3 din ultima mișcare ca să ia +lichiditatea de sub vârf. Tranșele cumpără exact acele retesturi. + +> „Pentru că e posibil să retesteze o treime, 2 treimi, până să iau +> liquiditatea de pe high-ul ăsta des și aș intra în bucăți." + +Stop-ul rămâne unul singur, sub higher low (în exemplu, 48.10). Toate +tranșele intră între intrare și stop, deci riscul total nu crește. Doar +prețul mediu scade. Confirmarea higher low-ului poate cere încă o +săptămână — tranșele nu o înlocuiesc. + +> „Atenție că e 400 și ceva de dolari. Adică nu e o jucărie." + +--- + +## Gotchas + +- **Nu intra pe doji, intri pe trigger.** Diagrama 2: fără închidere peste + high în 3 candele, doji-ul a fost doar o pauză în downtrend. +- **Nu intra la MICI pe higher low „în formare".** Diagrama de invalidare: + 48.40 arăta a higher low, candela din dreapta a închis la 46.10, sub + pivot. +- **Nu alerga după preț.** Dacă buy doji-ul weekly a plecat deja, aștepți retestul de 1/3 - 1/2 din lumânarea mare. + Poate să nu mai vină, și atunci ratezi. + > „Poate să nu mai facă, poate nu mai face niciodată." +- **Sell doji + reject pe pivotul quarterly bate fundamentalul.** Un scor + fundamental de 12/14 nu salvează o idee long pe termen mediu dacă weekly-ul + sau monthly-ul dă sell doji cu respingere la pivot (03.09). + > „suntem într-un sell doji, nu-mi place asta și rejectul ăsta de aici, + > nu-mi place." +- **Bottom-ul poate mai face un picior.** Double bottom-ul în formare, chiar + cu buy doji pe weekly, poate deveni triple bottom — sau bear flag, dacă nu + ai divergență de volum (04.09, 24.08). De aceea stop-ul stă sub structură, + nu „undeva jos". + > „de aici am zis că să duce și nu s-a dus" +- **Sistemul nu vede orice buy doji.** Uneori un doji / hammer valid nu e + marcat; îl recunoști vizual, cu aceeași regulă de închidere (04.09). + +--- + +## Surse + +Din analiza zilnică (recoltele din `harvest/`): + +- **21.08.2026** — buy doji pe 60 min în direcția swing-ului de pe daily. +- **24.08.2026** — buy doji la bottom cu poziționarea COT; double bottom în + formare vs bear flag; buy doji monthly + FVG ca al doilea picior. +- **25.08.2026** — reintrarea după primul target, în locul crimei. +- **03.09.2026** — super buy doji; ținte în trepte; sell doji + reject pe + pivotul quarterly; strategia MICI pornită din fundul unui cup & handle. +- **04.09.2026** — sfântul buy doji; MICI pe 6-8 luni și retestul de 1/3; + sistemul nu vede orice trigger; bottom-ul care mai face un picior. +- **10.09.2026** — buy doji deasupra pivotului monthly; strategia MICI; + swing low confirmat de candela din dreapta; tranșe de 1/4; nu alergi după + preț. + +Din curs: [Strategia 3: Buy Doji / Sell Doji](../03_MODUL_2/13_strategia_3_byh.html) +(fereastra de 3 candele, SL la 4 candele, TP 1:1, limita de 8 candele), +Q&A [27.05.2025](../09_QA/28_2025-05-27.html) (definiția trigger-ului), +[04.08.2025](../09_QA/22_2025-08-04.html) și +[11.08.2026](../09_QA/03_2026-08-11.html) (nu shortezi împotriva unui buy +doji weekly). Referință externă: [Investopedia — Doji](https://www.investopedia.com/terms/d/doji.asp). + +--- + +*Ce e completare a mea: toate prețurile și diagramele sunt construite (în +transcrieri cifrele sunt nesigure). Stop-ul sub higher low la MICI, ținta +pe vârful anterior, stop-ul sub locul crimei la reintrare și calculul R +sunt aplicarea mea a regulilor din curs, nu cifre spuse de el. Explicația +cu stop-urile short-urilor executate peste high-ul doji-ului e tot a mea. +Regulile (trigger, sfântul buy doji, MICI, reintrare, tranșe, gotchas) și +citatele vin din sesiuni.* diff --git a/summaries/index.html b/summaries/index.html index 2df78d0..8f79a2c 100644 --- a/summaries/index.html +++ b/summaries/index.html @@ -26,6 +26,6 @@ -