diff --git a/gen/az_pullback.py b/gen/az_pullback.py new file mode 100644 index 0000000..c732456 --- /dev/null +++ b/gen/az_pullback.py @@ -0,0 +1,303 @@ +"""Diagramele pentru summaries/08_ANALIZA_ZILNICA/03_locul_crimei_si_pullback.md. + +Toate prețurile sunt construite (fără ticker). Rulează: + .venv/bin/python gen/az_pullback.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, from_closes # noqa: E402 + +MD = Path("/workspace/atm-curs-dl/summaries/08_ANALIZA_ZILNICA/03_locul_crimei_si_pullback.md") +GRAY, RED, GREEN, BLUE, ORANGE = "#777", "#c00", "#188a3e", "#1a5fb4", "#b06000" +STYLE = dict(gap=15, body_w=9, left=44, width=700) +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)) + + +def wk(n, **over): + """fitile implicite (0.3, 0.3), cu excepții pe index: wk(30, b7=(0.4, 0.3))""" + return [over.get(f"b{i}", (0.3, 0.3)) for i in range(n)] + + +def eq(a, b): + return abs(a - b) < 0.005 + + +# ---------------------------------------------------------------- baza comună D1/D2: uptrend, platou, marubozu +BASE = [42.8, 43.9, 43.5, 44.7, 45.8, 45.3, 46.6, 47.7, 48.9, 49.4, # 0-9 uptrend, 9 = vârful + 48.6, 47.9, 48.5, 49.2, 48.4, 47.8, 48.3, 49.0, 48.6, 48.0, # 10-19 consolidare sub vârf + 52.0] # 20 marubozu de breakout +BASE_W = [(0.3, 0.3)] * 9 + [(0.6, 0.3)] + [(0.3, 0.3)] * 10 + [(0.1, 0.1)] +PEAK, MB = 9, 20 + + +def check_base(cds): + crime = cds[PEAK].h + assert eq(crime, 50.0), crime + assert all(c.h < crime for c in cds[PEAK + 1:MB]), "consolidarea trece peste fostul vârf" + o, c = cds[MB].o, cds[MB].c + assert eq(o, 48.0) and eq(c, 52.0), (o, c) + assert (c - o) >= 3 * max(abs(x.c - x.o) for x in cds[PEAK + 1:MB]), "bara 20 nu arată a marubozu" + half, third = (o + c) / 2, c - (c - o) / 3 + assert eq(half, crime), "1/2 din marubozu trebuie să cadă pe locul crimei" + return crime, o, half, third + + +# ---------------------------------------------------------------- 1. breakout: nu intri pe lumânare, intri la retest +closes = BASE + [52.8, 52.6, # 21-22 continuare, vârful de după breakout + 52.0, 51.2, 50.6, # 23-25 pullback; 25 atinge cu codița locul crimei + 51.5, # 26 trigger: close peste high-ul barei 25 + 52.3, 53.0, 52.7, 53.8, 54.6, 54.2, 55.3, 55.9] +wicks = BASE_W + [(0.4, 0.3), (0.2, 0.3), (0.2, 0.3), (0.2, 0.3), (0.1, 0.6), (0.2, 0.2)] + [(0.3, 0.3)] * 8 +cds = from_closes(closes, wicks=wicks, start=42.0) +crime, mb_open, half, third = check_base(cds) +RT, TR = 25, 26 +assert eq(cds[RT].l, crime) and all(c.l > crime for c in cds[MB + 1:RT]), "retestul nu atinge locul crimei" +assert cds[TR].c > cds[RT].h, "trigger-ul nu închide peste high-ul barei de retest" +entry = cds[TR].c +sl = round(crime - 0.8, 2) +risk = entry - sl +tp = round(entry + 2 * risk, 2) +hit = next(i for i in range(TR + 1, len(cds)) if cds[i].h >= tp) +cds = cds[:hit + 1] # seria se oprește la atingerea țintei +chase = cds[21].c # cine a cumpărat a doua zi după marubozu +assert min(c.l for c in cds[22:TR + 1]) < chase - 2, "cel care a alergat după preț nu ajunge pe minus vizibil" +print(f"D1 locul crimei {crime:.2f} marubozu {mb_open:.2f}->{cds[MB].c:.2f} 1/2 {half:.2f} 1/3 {third:.2f} " + f"entry {entry:.2f} SL {sl:.2f} risc {risk:.2f} TP {tp:.2f} hit {hit}") +BRK = dict(entry=entry, sl=sl, tp=tp) +ch = Chart(candles=cds, + levels=[Level(mb_open, f"open marubozu {mb_open:.2f}", GRAY, label_at="left"), + Level(crime, f"locul crimei = 1/2 marubozu {crime:.2f}", ORANGE), + Level(sl, f"SL {sl:.2f}", RED, label_at="left"), + Level(entry, f"intrare {entry:.2f}", GREEN), + Level(tp, f"TP {tp:.2f} = 2R", BLUE)], + marks=[Mark(PEAK, "fostul vârf", ORANGE, "above", dy=-4), + Mark(15, "consolidare", GRAY, "below", dy=4), + Mark(MB, "marubozu: NU aici", RED, "above", dy=-40), + Mark(RT, "retest", GREEN, "below", dy=26)], + scale=26, title="Exemplu construit (fără ticker) — daily", + caption="Nu cumperi lumânarea de breakout. Aștepți retestul, pe locul crimei.", **STYLE) +svg_ = ch.render() +assert abs(px_ratio(ch, sl, entry, tp) - 2.0) < 0.01 +svgs["breakout_retest"] = svg_ + +# ---------------------------------------------------------------- 2. pullback-ul care nu vine +closes = BASE + [53.0, 53.6, 53.3, 54.4, 55.2, 54.9, 56.0, 56.8, 56.5, 57.6, 58.3, 58.0, 59.1, 59.8] +wicks = BASE_W + [(0.3, 0.3)] * 14 +cds = from_closes(closes, wicks=wicks, start=42.0) +crime, mb_open, half, third = check_base(cds) +low_after = min(c.l for c in cds[MB + 1:]) +assert low_after > third + 1.0, "pullback-ul chiar nu trebuie să se apropie de 1/3" +print(f"D2 1/3 {third:.2f} 1/2 {half:.2f} cel mai jos low după marubozu {low_after:.2f} ultimul close {cds[-1].c:.2f}") +ch = Chart(candles=cds, + levels=[Level(round(third, 2), f"limit la 1/3: {third:.2f} — neatins", GRAY), + Level(half, f"1/2 = locul crimei {half:.2f} — neatins", ORANGE, label_at="left")], + marks=[Mark(PEAK, "fostul vârf", ORANGE, "above", dy=-24), + Mark(MB, "marubozu", RED, "below", dy=4), + Mark(31, "aici nu mai cumperi", GRAY, "below", dy=50)], + scale=24, title="Exemplu construit (fără ticker) — daily", + caption="Retestul nu vine. Ai ratat trade-ul, nu alergi după el.", **STYLE) +svgs["pullback_nu_vine"] = ch.render() + +# ---------------------------------------------------------------- 3. gap: 1/2 gap pe fostul vârf +pre = [36.8, 37.9, 38.7, 39.9, 40.6, # 0-4, 4 = swing high 41.00 + 39.8, 39.0, 38.3, 38.8, 38.0, 38.9, 39.4, 39.1, 39.6] # 5-13, high-ul barei 13 = 40.00 +pre_w = [(0.3, 0.3)] * 4 + [(0.4, 0.3)] + [(0.3, 0.3)] * 8 + [(0.4, 0.3)] +post = [43.6, 44.5, 45.2, 44.6, 43.5, # 14 gap up (open 42.40), 16 = vârful după gap + 42.2, 41.4, # 19-20 pullback; 20 atinge cu codița 1/2 gap + 42.5, # 21 trigger: close peste high-ul barei 20 + 43.4, 44.1, 43.8, 44.9, 45.7] +post_w = [(0.3, 0.4), (0.3, 0.3), (0.3, 0.3), (0.3, 0.3), (0.3, 0.3), (0.3, 0.3), (0.1, 0.4), (0.2, 0.2)] + [(0.3, 0.3)] * 5 +cds = from_closes(pre, wicks=pre_w, start=36.0) + from_closes(post, wicks=post_w, start=42.4) +G, RT, TR, TOP = 14, 20, 21, 16 +old_high = cds[4].h +gap_lo, gap_hi = cds[G - 1].h, cds[G].l +gap_half = (gap_lo + gap_hi) / 2 +assert eq(old_high, 41.0) and all(c.h < old_high for c in cds[5:G]), "bara 4 nu e fostul vârf" +assert eq(gap_lo, 40.0) and eq(gap_hi, 42.0), (gap_lo, gap_hi) +assert eq(gap_half, old_high), "1/2 gap trebuie să coincidă cu fostul vârf" +assert eq(cds[RT].l, gap_half) and all(c.l >= gap_hi - 0.005 for c in cds[G:RT - 1]), "retestul nu intră în gap la 1/2" +assert cds[TR].c > cds[RT].h +entry = cds[TR].c +sl = round(gap_half - 0.6, 2) +tp = round(cds[TOP].h, 2) +risk = entry - sl +R = (tp - entry) / risk +hit = next(i for i in range(TR + 1, len(cds)) if cds[i].h >= tp) +cds = cds[:hit + 1] +assert R > 1.35, R +print(f"D3 gap {gap_lo:.2f}-{gap_hi:.2f} 1/2 {gap_half:.2f} entry {entry:.2f} SL {sl:.2f} TP {tp:.2f} = {R:.2f}R hit {hit}") +GAP = dict(lo=gap_lo, hi=gap_hi, half=gap_half, entry=entry, sl=sl, tp=tp, R=R) +ch = Chart(candles=cds, + levels=[Level(gap_hi, f"sus gap {gap_hi:.2f}", GRAY, label_at="left"), + Level(gap_half, f"1/2 gap = fostul vârf {gap_half:.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(G, f"gap {gap_lo:.0f}-{gap_hi:.0f}", BLUE, "below", dy=4), + Mark(RT, "retest 1/2 gap", GREEN, "below", dy=30)], + scale=40, title="Exemplu construit (fără ticker) — daily", + caption="Gap-ul deschis de sub preț e riscul; umplerea lui pe jumătate e intrarea.", **STYLE) +svg_ = ch.render() +assert abs(px_ratio(ch, sl, entry, tp) - R) < 0.01 +svgs["gap_jumatate"] = svg_ + +# ---------------------------------------------------------------- 4. confluență de suporturi + ținta de 1/2 +closes = [47.9, 48.8, 48.4, 49.6, 50.5, 50.1, 51.2, 51.7, # 0-7 uptrend, 7 = fostul vârf 52.00 + 50.9, 50.2, 49.8, 50.4, # 8-11 pullback + 51.3, 52.4, 53.5, 54.6, 55.9, 57.1, # 12-17 breakout peste 52 + 56.4, 56.3, # 18-19 dip: swing low 56.00 + 57.2, 58.1, 58.9, 59.7, # 20-23 spre vârf 60.00 + 59.0, 58.1, 57.0, 56.5, # 24-27 cădere + 57.1, 56.2, # 28-29 bounce mic din 56, apoi spart + 55.1, 54.0, 53.1, 52.5, # 30-33 cădere în confluență + 53.4, # 34 trigger + 53.8, 54.5, 54.2, 55.3, 55.8] # 35-39 +wicks = wk(len(closes), b8=(0.1, 0.3), b20=(0.3, 0.2), b24=(0.1, 0.3), b33=(0.1, 0.5), b34=(0.2, 0.2)) +cds = from_closes(closes, wicks=wicks, start=47.2) +OLD, SWL, TOPI, RT, TR = 7, 19, 23, 33, 34 +crime = cds[OLD].h +peak = cds[TOPI].h +support1 = cds[SWL].l +S2 = 52.00 # nivel pus de mine: S2 monthly în aceeași zonă +assert eq(crime, 52.0) and all(c.h < crime for c in cds[8:12]), crime +assert eq(peak, 60.0) and peak == max(c.h for c in cds), peak +assert eq(support1, 56.0) and cds[SWL].l < cds[18].l and cds[SWL].l < cds[20].l, "bara 19 nu e swing low" +brk1 = next(i for i in range(TOPI + 1, len(cds)) if cds[i].c < support1) +assert brk1 == 30 and all(c.l > support1 for c in cds[TOPI:28]), brk1 +assert eq(cds[RT].l, crime) and all(c.l > crime for c in cds[TOPI:RT]), "retestul nu atinge confluența" +assert cds[TR].c > cds[RT].h +entry = cds[TR].c +sl = round(crime - 0.3, 2) +tp = round(crime + (peak - crime) / 2, 2) +risk = entry - sl +R = (tp - entry) / risk +assert eq(tp, support1), "ținta de 1/2 cade chiar pe suportul spart" +hit = next(i for i in range(TR + 1, len(cds)) if cds[i].h >= tp) +cds = cds[:hit + 1] +assert R >= 1.5, R +print(f"D4 vârf {peak:.2f} suport singur {support1:.2f} spart la {brk1} confluență {crime:.2f} entry {entry:.2f} " + f"SL {sl:.2f} TP {tp:.2f} = {R:.2f}R hit {hit}") +CONF = dict(peak=peak, s1=support1, crime=crime, entry=entry, sl=sl, tp=tp, R=R) +ch = Chart(candles=cds, + levels=[Level(peak, f"vârf {peak:.2f}", GRAY), + Level(tp, f"TP {tp:.2f} = 1/2 distanță = fost suport ({R:.1f}R)", BLUE, label_at="left"), + Level(entry, f"intrare {entry:.2f}", GREEN), + Level(sl, f"SL {sl:.2f}", RED)], + marks=[Mark(OLD, f"fostul vârf {crime:.2f}", ORANGE, "above", dy=-4), + Mark(SWL, "suport singur", GRAY, "below", dy=4), + Mark(RT, f"confluență {crime:.2f}: locul crimei + S2", GREEN, "below", dy=4)], + scale=22, title="Exemplu construit (fără ticker) — daily", + caption="Primul suport, singur, nu ține. Intri unde se suprapun două niveluri.", + **{**STYLE, "width": 760}) +svg_ = ch.render() +assert abs(px_ratio(ch, sl, entry, tp) - R) < 0.01 +svgs["confluenta_tinta"] = svg_ + +# ---------------------------------------------------------------- 5. bull flag în locul crimei, stop luat, reintrare +closes = [46.2, 47.0, 46.7, 47.8, 48.6, 48.3, 49.2, 49.6, # 0-7 uptrend, 7 = fostul vârf 50.00 + 48.9, 48.3, 48.7, 49.3, 48.8, # 8-12 consolidare + 50.6, 51.9, 53.0, 54.1, 54.6, # 13-17 breakout, 17 = vârful 55.00 + 53.9, 54.2, 53.2, 53.5, 52.4, 52.7, 51.5, # 18-24 bull flag: lower highs + 50.5, # 25 picior 1: codița atinge 50.00 + 51.8, # 26 trigger 1 → intrare 1 + 50.4, 49.7, # 27-28 picior 2 mai jos: ia SL 1 + 50.8, # 29 trigger 2: close peste high-ul barei 28 → intrare 2 + 51.2, 52.0, 51.7, 52.9, 53.8, 53.5, 54.7, 55.4] # 30-37 +wicks = wk(len(closes), b7=(0.4, 0.3), b17=(0.4, 0.3), b25=(0.1, 0.5), b26=(0.2, 0.2), b28=(0.1, 0.7)) +cds = from_closes(closes, wicks=wicks, start=45.6) +OLD, TOPI, L1, T1, L2, T2 = 7, 17, 25, 26, 28, 29 +crime, top = cds[OLD].h, cds[TOPI].h +assert eq(crime, 50.0) and all(c.h < crime for c in cds[8:13]), crime +assert eq(top, 55.0) and top == max(c.h for c in cds[:30]), top +flag_highs = [cds[i].h for i in (19, 21, 23)] +assert flag_highs == sorted(flag_highs, reverse=True) and flag_highs[0] < top, "flag-ul nu are lower highs" +assert eq(cds[L1].l, crime), "piciorul 1 nu atinge locul crimei" +assert cds[T1].c > cds[L1].h +entry1 = cds[T1].c +sl1 = round(crime - 0.6, 2) +leg2 = cds[L2].l +assert leg2 < sl1 < cds[L1].l, "piciorul 2 trebuie să fie mai jos și să ia stop-ul 1" +assert cds[L2].c < crime and cds[T2].c > cds[L2].h and cds[T2].c > crime, "trigger 2 nu recuperează locul crimei" +entry2 = cds[T2].c +sl2 = round(leg2 - 0.3, 2) +tp = round(top, 2) +risk1, risk2 = entry1 - sl1, entry2 - sl2 +R2 = (tp - entry2) / risk2 +hit = next(i for i in range(T2 + 1, len(cds)) if cds[i].h >= tp) +cds = cds[:hit + 1] +assert R2 >= 1.95, R2 +print(f"D5 locul crimei {crime:.2f} vârf {top:.2f} intrare1 {entry1:.2f} SL1 {sl1:.2f} (risc {risk1:.2f}) " + f"picior2 {leg2:.2f} intrare2 {entry2:.2f} SL2 {sl2:.2f} (risc {risk2:.2f}) TP {tp:.2f} = {R2:.2f}R hit {hit}") +FLAG = dict(crime=crime, top=top, e1=entry1, sl1=sl1, leg2=leg2, e2=entry2, sl2=sl2, tp=tp, R2=R2, r1=risk1, r2=risk2) +ch = Chart(candles=cds, + levels=[Level(tp, f"TP {tp:.2f} = vârful = {R2:.1f}R", BLUE), + Level(entry2, f"intrare 2: {entry2:.2f}", GREEN), + Level(crime, f"locul crimei {crime:.2f}", ORANGE, label_at="left"), + Level(sl1, f"SL 1 {sl1:.2f} (lovit)", GRAY), + Level(sl2, f"SL 2 {sl2:.2f}", RED)], + marks=[Mark(OLD, "fostul vârf", ORANGE, "above", dy=-24), + Mark(20, "bull flag", GRAY, "below", dy=14), + Mark(T1, "intrare 1", GREEN, "above", dy=-30), + Mark(L2, "picior 2", RED, "below", dy=4)], + scale=34, title="Exemplu construit (fără ticker) — daily", + caption="Stop-ul 1 e luat de al doilea picior. Reintri la trigger, cu același risc în bani.", **STYLE) +svg_ = ch.render() +assert abs(px_ratio(ch, sl2, entry2, tp) - R2) < 0.01 +svgs["bull_flag_reintrare"] = svg_ + +# ---------------------------------------------------------------- 6. inversul: fostul suport devine rezistență (short) +closes = [57.6, 56.9, 57.3, 56.4, 55.6, 55.9, 54.8, 54.3, # 0-7 downtrend, 7 = fostul swing low 54.00 + 55.0, 55.6, 55.2, 54.8, 55.3, # 8-12 consolidare deasupra + 51.6, # 13 marubozu de breakdown + 51.0, 51.3, 52.2, 53.0, # 14-17 pullback în sus + 53.5, # 18 retest: codița atinge 54.00 de dedesubt + 52.5, # 19 sell trigger: close sub low-ul barei 18 + 51.8, 52.2, 51.1, 50.4, 50.8, 49.6, 49.0, 49.4, 48.3, 47.9, 48.2, 47.3] +wicks = wk(len(closes), b8=(0.3, 0.1), b13=(0.1, 0.1), b18=(0.5, 0.2), b19=(0.2, 0.2)) +cds = from_closes(closes, wicks=wicks, start=58.2) +SWL, MBD, RT, TR = 7, 13, 18, 19 +old_low = cds[SWL].l +assert eq(old_low, 54.0) and all(c.l > old_low for c in cds[8:13]), old_low +assert cds[MBD].c < old_low and (cds[MBD].o - cds[MBD].c) > 3, "bara 13 nu e breakdown" +assert eq(cds[RT].h, old_low) and all(c.h < old_low for c in cds[MBD + 1:RT]), "retestul nu atinge fostul suport" +assert cds[TR].c < cds[RT].l, "sell trigger nu închide sub low-ul barei de retest" +entry = cds[TR].c +sl = round(old_low + 1.0, 2) +risk = sl - entry +tp = round(entry - 2 * risk, 2) +hit = next(i for i in range(TR + 1, len(cds)) if cds[i].l <= tp) +cds = cds[:hit + 1] +print(f"D6 fost suport {old_low:.2f} retest high {cds[RT].h:.2f} entry {entry:.2f} SL {sl:.2f} risc {risk:.2f} TP {tp:.2f} hit {hit}") +SHORT = dict(lvl=old_low, entry=entry, sl=sl, tp=tp) +ch = Chart(candles=cds, + levels=[Level(sl, f"SL {sl:.2f}", RED), + Level(old_low, f"fost suport = rezistență {old_low:.2f}", ORANGE), + Level(entry, f"intrare short {entry:.2f}", GREEN, label_at="left"), + Level(tp, f"TP {tp:.2f} = 2R", BLUE)], + marks=[Mark(MBD, "breakdown", RED, "below", dy=16), + Mark(RT, "retest de jos", ORANGE, "above", dy=-26)], + scale=28, title="Exemplu construit (fără ticker) — daily", + caption=f"Fostul suport {old_low:.2f}, spart, respinge prețul la retest.", **STYLE) +svg_ = ch.render() +assert abs(px_ratio(ch, sl, entry, tp) - 2.0) < 0.01 +svgs["invers_short"] = svg_ + +# ---------------------------------------------------------------- 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/03_locul_crimei_si_pullback.html b/summaries/08_ANALIZA_ZILNICA/03_locul_crimei_si_pullback.html new file mode 100644 index 0000000..0e85a18 --- /dev/null +++ b/summaries/08_ANALIZA_ZILNICA/03_locul_crimei_si_pullback.html @@ -0,0 +1,995 @@ + + +
+ + +E cea mai repetată regulă din analiza zilnică: apare în aproape fiecare +sesiune recoltată, la acțiuni, la indici și chiar la VIX.
+Mai jos folosesc ideea că un nivel spart își schimbă rolul de mai multe +ori. O explic o singură dată, aici, înainte de a o aplica.
+Cât timp prețul stă sub fostul vârf, acolo sunt vânzătorii: cei care au +cumpărat la vârf și vor să iasă „pe zero", plus short-urile. Lumânarea care +sparge vârful le consumă ordinele de vânzare și execută stop-urile +short-urilor, care sunt ordine de cumpărare. Deasupra rămân alte două +grupuri:
+Când prețul coboară înapoi la fostul vârf, nu mai găsește vânzătorii care +erau acolo (au ieșit), ci ordinele de cumpărare puse între timp. De aceea +nivelul ține. Dacă nu ține, înseamnă că breakout-ul nu a avut cumpărători +reali — și ideea s-a terminat.
+Ce decizie te ajută să iei:
+| Termen | +Ce înseamnă aici | +
|---|---|
| locul crimei | +fostul swing high spart, redevenit suport la retest. Retestul e valid când codița unei lumânări ulterioare atinge vârful fostului swing high („fundulețul candelei dat cu capul de cucuiul candelei", 04.09) | +
| locul crimei invers | +fostul suport spart, redevenit rezistență | +
| retest | +prețul revine la nivelul spart, îl atinge și pleacă din nou în direcția breakout-ului | +
| marubozu | +lumânare mare, aproape fără fitile, care sparge o consolidare | +
| 1/3 și 1/2 din marubozu | +niveluri măsurate pe corpul marubozu-ului, de sus în jos: o treime, respectiv jumătate din corp | +
| gap | +golul de preț dintre high-ul unei bare și low-ul barei următoare (la gap up) | +
| 1/2 gap | +mijlocul acelui gol; „gap închis" = prețul a coborât până la marginea de jos | +
| lichiditate | +ordinele (stop-uri, limite) adunate sub un low sau peste un high; retestul „ia lichiditatea" când le execută | +
| confluență | +mai multe niveluri de suport în același loc (S2, suport monthly, locul crimei, gap închis) | +
| bull flag | +canal ușor descendent (lower highs) după o urcare puternică; e pauză, nu întoarcere | +
| break-even | +stop-ul mutat la prețul de intrare: dacă prețul se întoarce, ieși pe zero | +
Trigger-ele (buy doji, buy hammer, MBT-10) sunt explicate în +#1 — Buy doji și strategia MICI.
+++ + + + +„Foarte probabil să retesteze o treime, sau jumătate din marabuz o să +prea lichiditate de păcandele de-aici." (10.09)
+
Nivelurile de retest, de la cel mai puțin adânc la cel mai adânc:
+| Nivel | +Ce spune | +Când îl folosești | +
|---|---|---|
| 1/3 din marubozu (aici 50.67) | +cumpărătorii sunt grăbiți | +prețul „ia viteză"; după buy hammer la MICI (04.09) | +
| 1/2 din marubozu (aici 50.00) | +retestul clasic | +cel mai des citat; ideal când coincide cu locul crimei | +
| open-ul lumânării de breakout (aici 48.00) | +tot marubozu-ul a fost retestat | +ultima zonă; sub ea, breakout-ul e anulat | +
Pe acțiunile scumpe, unde nu știi pe care din ele se oprește, intri în +tranșe (vezi #1, secțiunea 6).
+Aceeași consolidare, același marubozu. De data asta cumpărătorii nu mai +lasă prețul să coboare.
+ + + + +Ce faci:
+++„Poate să nu mai facă, poate nu mai face niciodată." (10.09)
+„Ideal aș fi să intrați aici și deja vă faceați 1 la 1 targetul de +profit. Aștepta un pullback." (10.09)
+
Cum arată în sesiuni: un simbol deja „dus" +4% în ziua respectivă nu se +cumpără, se pune pe listă pentru retest. Unele din ele nu revin. E prețul +disciplinei: ratezi câteva mișcări ca să nu intri de fiecare dată în vârful +lumânării.
+| Retest DA | +Retest NU (nu intri) | +
|---|---|
| codița atinge 1/3, 1/2 din marubozu sau locul crimei | +prețul e departe de orice nivel | +
| trigger după atingere (close peste high-ul barei de retest, buy hammer, MBT-10) | +atingere fără trigger, prețul încă cade | +
| volum mai mic pe pullback decât pe breakout | +volum care trece în distribuție pe retest | +
Trei reguli din sesiuni diferite, care se leagă:
+++ + + + +„a închis gap-ul la jumătatea gap-ului și nu doar că e jumătatea +gap-ului, este și privisul in-high-ul de aici" (03.09)
+
Gap întreg vs. jumătate de gap. Jumătatea e intrarea pe care o vrei când +coincide cu un alt nivel. Gap-ul închis complet e retestul mai adânc; e +încă o zonă de cumpărare doar dacă marginea lui de jos e în suport. La un +island top (21.08), exact asta e regula: nu cumperi insula, cumperi după ce +gap-ul de dedesubt s-a închis în suport (pivot quarterly), cu pattern de +bottom sau MBT-10. Cu volum în distribuție, aștepți pattern-ul, nu intri +direct la închiderea gap-ului.
+++„riscul este să intrăm în GEP-ul ăsta să-l închidem. Asta este riscul, +dar dacă intrăm în EBT 10 long, crește probabilitatea ca prețul să +înceapă să urce." (02.09)
+
Regula din 21.08: la o corecție, nu cumperi primul suport. Alegi nivelul +unde se suprapun două-trei suporturi (S2, suport monthly, locul crimei, +gap închis). Pentru ținta bounce-ului, măsori distanța până la vârful +anterior și contezi realist pe jumătate.
+++ + + + +„un nivel mai plauzibil ar fi aici, în zona asta, pentru că sunt mai +multe care coincid." / „ar putea măcar jumătate din distanța asta să o +acopere." (21.08)
+
Pe indici, zona de bounce vine cu confirmări proprii (21.08): ATR% în spike +peste 100 și McClellan oversold, în timp ce prețul atinge locul crimei, +închide gap-ul sau atinge SMA 20.
+| Confluență DA | +Confluență NU | +
|---|---|
| 2-3 niveluri în aceeași zonă | +un singur nivel → poate mai cădea | +
| pattern de bottom sau trigger acolo | +cădere în desfășurare, fără pattern | +
| țintă la 1/2 distanță, cu loc până la ea | +prețul e deja lipit de o rezistență | +
După breakout, prețul se întoarce în locul crimei printr-un bull flag, +de multe ori cu stochastic overbought și volum slab. În sesiunea din 03.09, +asta e citit ca pullback-ul așteptat, nu ca motiv de ieșire. Intri doar când +se formează acolo un pattern de bottom — ideal double bottom cu al doilea +picior mai jos — și eventual MBT-10 la închidere.
+++„el a forțat breakout-ul peste vârful la interioare, s-a întors aici cu +un bull flag" (03.09)
+
Al doilea picior mai jos e cel care îi scoate pe cei grăbiți:
+++ + + + +„i-a scalpat pe ăștia cu stoploss-le aici, dar uitați-vă acționea +volumului, ce bine s-a dus" (21.08)
+
Reintrarea, cu același risc în bani. Pe 10.09, live: două stop-uri la +rând de câte 25$, a treia intrare cu același risc, țintă 4R. Patru stop-uri +la rând înseamnă −100$, iar un singur trade reușit le recuperează. Pe 02.09, +după ce swing low-ul a fost violat: reintri mai jos, doar pe pattern de +bottom, cu același risc fix. În exemplu, SL 2 e mai aproape (2.10 față de +2.40), deci poziția 2 poate fi puțin mai mare pentru aceeași sumă riscată.
+++„Deci m-a scos până acum de 2 ori consecutiv […] Și n-am nicio greață" +(10.09)
+
| Reintrare DA | +Reintrare NU | +
|---|---|
| al doilea picior ia lichiditatea și bara următoare recuperează nivelul | +prețul rămâne sub locul crimei | +
| trigger nou (close peste high-ul barei de low, MBT-10) | +volum în distribuție / breakdown → lași să mai facă un swing low (02.09) | +
| stop nou sub noul low, risc în bani neschimbat | +mărești poziția ca să „recuperezi" | +
Varianta pe weekly, după ce primul target a fost atins, e în +#1, secțiunea 5.
+++ + + + +„postul suport devine resistance" (04.09)
+
Pe 04.09, același grafic a arătat ambele fețe: jos, retestul locului crimei +ca suport; sus, o zonă de fost suport lovită a treia oară, ca +rezistență. De câte ori prețul revine sub o zonă care a făcut breakdown, +acolo nu cumperi.
+++„Poate nu doboar swing low-ul ăsta, deci pentru că s-ar strica +structura trend-ului"
+
Din analiza zilnică (recoltele din harvest/):
Din curs: Zone de cerere/ofertă, support/resistance.
+Referințe externe: +IG — Support and resistance, +Investopedia — Support and resistance basics, +IG — Bull flag and bear flag, +OANDA — Breakout trading strategies.
+Ce e completare a mea: toate prețurile și diagramele sunt construite (în +transcrieri cifrele sunt nesigure, iar exemplele din sesiuni au tickere +reale fără niveluri de încredere). Mecanismul cu ordinele care se schimbă +la fostul vârf, stop-urile (sub locul crimei, sub 1/2 gap, sub noul low), +țintele de 2R și calculul R sunt aplicarea mea. Tabelul cu cele trei +niveluri de retest (1/3, 1/2, open) e ordonarea mea a regulilor spuse +separat. Legătura dintre „pullback-ul care nu vine" și break-even e tot a +mea: în sesiuni, break-even-ul apare la tranzacțiile care au mers, iar +„poate nu mai face niciodată" la intrarea ratată. Nivelul S2 din diagrama 4 +e pus de mine. Regulile și citatele vin din sesiuni.
+ + diff --git a/summaries/08_ANALIZA_ZILNICA/03_locul_crimei_si_pullback.md b/summaries/08_ANALIZA_ZILNICA/03_locul_crimei_si_pullback.md new file mode 100644 index 0000000..403de07 --- /dev/null +++ b/summaries/08_ANALIZA_ZILNICA/03_locul_crimei_si_pullback.md @@ -0,0 +1,880 @@ +# Analiză zilnică / #3 — Locul crimei și disciplina pullback-ului + +## TLDR + +- **Locul crimei** = fostul vârf de la care a pornit mișcarea. După ce + prețul îl sparge, la retest devine suport. Invers: fostul suport spart + devine rezistență. +- **Nu intri pe lumânarea de breakout.** Aștepți retestul: 1/3 sau 1/2 din + marubozu, open-ul lumânării de breakout, jumătatea gap-ului. Cel mai bun + loc e cel unde mai multe niveluri cad în același punct. +- **Pullback-ul poate să nu mai vină.** Atunci ai ratat trade-ul și nu + alergi după preț. +- **Ținta realistă** a unui bounce din suport: jumătate din distanța până + la vârful anterior, nu tot vârful. +- Un **bull flag** înapoi în locul crimei e pullback-ul pe care îl aștepți, + nu semnal de ieșire. Dacă al doilea picior îți ia stop-ul, reintri la + următorul trigger, cu același risc în bani. + +--- + +## De ce urmărești locul crimei + +E cea mai repetată regulă din analiza zilnică: apare în aproape fiecare +sesiune recoltată, la acțiuni, la indici și chiar la VIX. + +Mai jos folosesc ideea că **un nivel spart își schimbă rolul** de mai multe +ori. O explic o singură dată, aici, înainte de a o aplica. + +Cât timp prețul stă sub fostul vârf, acolo sunt vânzătorii: cei care au +cumpărat la vârf și vor să iasă „pe zero", plus short-urile. Lumânarea care +sparge vârful le consumă ordinele de vânzare și execută stop-urile +short-urilor, care sunt ordine de cumpărare. Deasupra rămân alte două +grupuri: + +- cei care au ratat breakout-ul și își pun ordine limită de cumpărare + **la nivelul pe care l-au văzut spart**; +- cei care au cumpărat breakout-ul și își apără intrarea. + +Când prețul coboară înapoi la fostul vârf, nu mai găsește vânzătorii care +erau acolo (au ieșit), ci ordinele de cumpărare puse între timp. De aceea +nivelul ține. Dacă nu ține, înseamnă că breakout-ul nu a avut cumpărători +reali — și ideea s-a terminat. + +Ce decizie te ajută să iei: + +- **unde intri** — la retest, nu în mijlocul mișcării; +- **unde pui stop-ul** — sub locul crimei: dacă prețul trece înapoi sub el, + breakout-ul a eșuat; +- **dacă mai intri deloc** — dacă retestul nu vine, nu există intrare. + +--- + +## Termenii, o singură dată + +| Termen | Ce înseamnă aici | +|---|---| +| **locul crimei** | fostul swing high spart, redevenit suport la retest. Retestul e valid când codița unei lumânări ulterioare atinge vârful fostului swing high („fundulețul candelei dat cu capul de cucuiul candelei", 04.09) | +| **locul crimei invers** | fostul suport spart, redevenit rezistență | +| **retest** | prețul revine la nivelul spart, îl atinge și pleacă din nou în direcția breakout-ului | +| **marubozu** | lumânare mare, aproape fără fitile, care sparge o consolidare | +| **1/3 și 1/2 din marubozu** | niveluri măsurate pe corpul marubozu-ului, de sus în jos: o treime, respectiv jumătate din corp | +| **gap** | golul de preț dintre high-ul unei bare și low-ul barei următoare (la gap up) | +| **1/2 gap** | mijlocul acelui gol; „gap închis" = prețul a coborât până la marginea de jos | +| **lichiditate** | ordinele (stop-uri, limite) adunate sub un low sau peste un high; retestul „ia lichiditatea" când le execută | +| **confluență** | mai multe niveluri de suport în același loc (S2, suport monthly, locul crimei, gap închis) | +| **bull flag** | canal ușor descendent (lower highs) după o urcare puternică; e pauză, nu întoarcere | +| **break-even** | stop-ul mutat la prețul de intrare: dacă prețul se întoarce, ieși pe zero | + +Trigger-ele (buy doji, buy hammer, MBT-10) sunt explicate în +[#1 — Buy doji și strategia MICI](01_buy_doji_si_strategia_mici.html). + +--- + +## 1. Breakout: nu intri pe lumânare, intri la retest + +> „Foarte probabil să retesteze o treime, sau jumătate din marabuz o să +> prea lichiditate de păcandele de-aici." (10.09) + + + + + +- **Context.** Uptrend până la un vârf de **50.00**, apoi zece candele de + consolidare sub el. Acela e viitorul loc al crimei. +- **Breakout.** Un marubozu deschide la **48.00** și închide la **52.00**. + Jumătatea lui, **50.00**, cade exact pe fostul vârf. A doua zi prețul mai + urcă puțin, până la 53.20. +- **Cine cumpără pe breakout** (la 52.00-52.80) vede în patru zile prețul la + 50.00, cu aproape 3 puncte pe minus. Cu stop-ul sub consolidare, riscul + lui e mai mult decât dublu față de al celui care așteaptă. +- **Retest.** Codița barei de pullback atinge **50.00**: 1/2 din marubozu + + locul crimei, două niveluri în același punct. +- **Trigger.** Bara următoare închide la **51.50**, peste high-ul barei de + retest → **intrare 51.50**. +- **SL 49.20**, sub locul crimei, cu loc pentru o codiță. Sub el, fostul + vârf nu mai e suport. +- **TP 56.10 = 2R** (risc 2.30), peste vârful de după breakout. + +**Nivelurile de retest, de la cel mai puțin adânc la cel mai adânc:** + +| Nivel | Ce spune | Când îl folosești | +|---|---|---| +| 1/3 din marubozu (aici 50.67) | cumpărătorii sunt grăbiți | prețul „ia viteză"; după buy hammer la MICI (04.09) | +| 1/2 din marubozu (aici 50.00) | retestul clasic | cel mai des citat; ideal când coincide cu locul crimei | +| open-ul lumânării de breakout (aici 48.00) | tot marubozu-ul a fost retestat | ultima zonă; sub ea, breakout-ul e anulat | + +Pe acțiunile scumpe, unde nu știi pe care din ele se oprește, intri în +tranșe (vezi [#1, secțiunea 6](01_buy_doji_si_strategia_mici.html)). + +## 2. NU: pullback-ul care nu mai vine + +Aceeași consolidare, același marubozu. De data asta cumpărătorii nu mai +lasă prețul să coboare. + + + + + +- Ordinul limită stă la **50.67** (1/3), iar locul crimei la **50.00**. +- Cel mai jos low după marubozu e **51.70**. Niciun nivel nu e atins. +- Prețul urcă până la aproape 60. Tu nu ai poziție. + +Ce faci: + +1. **Nimic.** Nu muți ordinul limită mai sus, după preț. Un ordin mutat la + 55 nu mai e retest, e o intrare fără stop logic: sub 55 nu e niciun nivel + care să-ți invalideze ideea. +2. **Aștepți următoarea structură.** Dacă prețul face o nouă consolidare și + un nou vârf, ai un nou loc al crimei, mai sus. +3. **Dacă ai deja o poziție** din altă intrare și prețul pleacă, muți + stop-ul pe break-even (02.09, 10.09). Nu adaugi „la piață" ca să recuperezi + ce ai ratat. + +> „Poate să nu mai facă, poate nu mai face niciodată." (10.09) + +> „Ideal aș fi să intrați aici și deja vă faceați 1 la 1 targetul de +> profit. Aștepta un pullback." (10.09) + +Cum arată în sesiuni: un simbol deja „dus" +4% în ziua respectivă nu se +cumpără, se pune pe listă pentru retest. Unele din ele nu revin. E prețul +disciplinei: ratezi câteva mișcări ca să nu intri de fiecare dată în vârful +lumânării. + +| Retest DA | Retest NU (nu intri) | +|---|---| +| codița atinge 1/3, 1/2 din marubozu sau locul crimei | prețul e departe de orice nivel | +| trigger după atingere (close peste high-ul barei de retest, buy hammer, MBT-10) | atingere fără trigger, prețul încă cade | +| volum mai mic pe pullback decât pe breakout | volum care trece în distribuție pe retest | + +--- + +## 3. Gap-ul: risc sub preț, țintă deasupra, intrare la jumătate + +Trei reguli din sesiuni diferite, care se leagă: + +- **Gap deschis sub preț = risc** (02.09): după un breakout, prețul poate + coborî întâi să închidă gap-ul lăsat în urmă. +- **Gap deasupra = țintă** (02.09): la un buy hammer din suport, gap-ul + neînchis de deasupra e primul loc spre care merge prețul. +- **Intrarea ideală e la 1/2 gap, acolo unde coincide cu fostul vârf** + (03.09). După gap-up-ul de earnings, aștepți „interiorul gap-ului sau + jumătate de gap" (10.09), nu cumperi după ce „s-a dus". + +> „a închis gap-ul la jumătatea gap-ului și nu doar că e jumătatea +> gap-ului, este și privisul in-high-ul de aici" (03.09) + + + + + +- **Fostul vârf: 41.00.** Prețul cade, revine până la 40.00 și a doua zi + deschide cu **gap up**: golul e între **40.00** și **42.00**. +- **1/2 gap = 41.00 = fostul vârf.** Două niveluri într-unul. +- Cine cumpără la vârful de după gap (45.50) are sub el 3.50 puncte până la + gap-ul deschis. Acela e riscul: prețul coboară să-l umple. +- **Retest.** Pullback-ul intră în gap și codița se oprește la **41.00**. + Gap-ul e închis pe jumătate, nu întreg. +- **Trigger** la **42.50** (close peste high-ul barei de retest) → + intrare. +- **SL 40.40**, sub 1/2 gap și sub fostul vârf. Dacă prețul trece de ele, + merge să închidă tot gap-ul (40.00) și confluența a picat. +- **TP 45.50** = vârful de după gap = **1.4R** (risc 2.10). + +**Gap întreg vs. jumătate de gap.** Jumătatea e intrarea pe care o vrei când +coincide cu un alt nivel. Gap-ul închis complet e retestul mai adânc; e +încă o zonă de cumpărare doar dacă marginea lui de jos e în suport. La un +island top (21.08), exact asta e regula: nu cumperi insula, cumperi după ce +gap-ul de dedesubt s-a închis **în suport** (pivot quarterly), cu pattern de +bottom sau MBT-10. Cu volum în distribuție, aștepți pattern-ul, nu intri +direct la închiderea gap-ului. + +> „riscul este să intrăm în GEP-ul ăsta să-l închidem. Asta este riscul, +> dar dacă intrăm în EBT 10 long, crește probabilitatea ca prețul să +> înceapă să urce." (02.09) + +--- + +## 4. Unde intri la corecție: confluența, și ținta de 1/2 + +Regula din 21.08: la o corecție, nu cumperi primul suport. Alegi nivelul +unde se suprapun **două-trei suporturi** (S2, suport monthly, locul crimei, +gap închis). Pentru ținta bounce-ului, măsori distanța până la vârful +anterior și contezi realist pe **jumătate**. + +> „un nivel mai plauzibil ar fi aici, în zona asta, pentru că sunt mai +> multe care coincid." / „ar putea măcar jumătate din distanța asta să o +> acopere." (21.08) + + + + + +- **Structura.** Fostul vârf la **52.00**, spart. Pe drum în sus, un swing + low la **56.00**, apoi vârf la **60.00**. +- **Primul suport, singur: 56.00.** Prețul se oprește acolo două zile, face + un bounce mic și îl sparge. Cine a cumpărat la 56 a luat stop-ul. +- **Confluența: 52.00** = locul crimei + S2 monthly (nivelul S2 e pus de + mine în exemplu). Codița atinge exact 52.00. +- **Trigger** la **53.40** → intrare. **SL 51.70**, sub confluență. +- **Ținta: 52.00 + (60.00 − 52.00) / 2 = 56.00.** Jumătate din distanța + până la vârf. Cade chiar pe suportul spart, care acum e rezistență: încă + un motiv să iei profit acolo. +- **1.5R** (risc 1.70, câștig 2.60). Mic, dar realist. Ținta pe tot vârful + (60.00) ar fi arătat 3.9R pe hârtie și ar fi cerut ca bounce-ul să devină + trend nou. + +Pe indici, zona de bounce vine cu confirmări proprii (21.08): ATR% în spike +peste 100 și McClellan oversold, în timp ce prețul atinge locul crimei, +închide gap-ul sau atinge SMA 20. + +| Confluență DA | Confluență NU | +|---|---| +| 2-3 niveluri în aceeași zonă | un singur nivel → poate mai cădea | +| pattern de bottom sau trigger acolo | cădere în desfășurare, fără pattern | +| țintă la 1/2 distanță, cu loc până la ea | prețul e deja lipit de o rezistență | + +--- + +## 5. Bull flag înapoi în locul crimei, stop luat, reintrare + +După breakout, prețul se întoarce în locul crimei printr-un **bull flag**, +de multe ori cu stochastic overbought și volum slab. În sesiunea din 03.09, +asta e citit ca pullback-ul așteptat, nu ca motiv de ieșire. Intri doar când +se formează acolo un pattern de bottom — ideal double bottom cu al doilea +picior mai jos — și eventual MBT-10 la închidere. + +> „el a forțat breakout-ul peste vârful la interioare, s-a întors aici cu +> un bull flag" (03.09) + +Al doilea picior mai jos e cel care îi scoate pe cei grăbiți: + +> „i-a scalpat pe ăștia cu stoploss-le aici, dar uitați-vă acționea +> volumului, ce bine s-a dus" (21.08) + + + + + +- **Fostul vârf: 50.00.** Breakout până la **55.00**, apoi bull flag cu + lower highs. +- **Piciorul 1.** Codița atinge **50.00**. Trigger la **51.80** → intrare 1, + cu SL 1 la **49.40** (risc 2.40). +- **Piciorul 2.** Prețul coboară la **49.00**, sub stop. Intrarea 1 e + pierdută. Bara închide sub locul crimei. +- **Trigger 2.** Bara următoare închide la **50.80**, peste high-ul barei de + low și înapoi deasupra lui 50.00 → **intrare 2**. +- **SL 2 la 48.70**, sub piciorul 2 (risc 2.10). **TP 55.00**, vârful + flag-ului = **2.0R**. + +**Reintrarea, cu același risc în bani.** Pe 10.09, live: două stop-uri la +rând de câte 25$, a treia intrare cu același risc, țintă 4R. Patru stop-uri +la rând înseamnă −100$, iar un singur trade reușit le recuperează. Pe 02.09, +după ce swing low-ul a fost violat: reintri mai jos, doar pe pattern de +bottom, cu același risc fix. În exemplu, SL 2 e mai aproape (2.10 față de +2.40), deci poziția 2 poate fi puțin mai mare pentru aceeași sumă riscată. + +> „Deci m-a scos până acum de 2 ori consecutiv […] Și n-am nicio greață" +> (10.09) + +| Reintrare DA | Reintrare NU | +|---|---| +| al doilea picior ia lichiditatea și bara următoare recuperează nivelul | prețul rămâne sub locul crimei | +| trigger nou (close peste high-ul barei de low, MBT-10) | volum în distribuție / breakdown → lași să mai facă un swing low (02.09) | +| stop nou sub noul low, risc în bani neschimbat | mărești poziția ca să „recuperezi" | + +Varianta pe weekly, după ce primul target a fost atins, e în +[#1, secțiunea 5](01_buy_doji_si_strategia_mici.html). + +--- + +## 6. Inversul: fostul suport devine rezistență (short) + +> „postul suport devine resistance" (04.09) + + + + + +- **Fostul swing low: 54.00.** Un marubozu de cădere îl sparge și închide + la 51.60. +- **Pullback în sus.** Codița barei de retest atinge **54.00** de dedesubt: + cei care au cumpărat la suport ies acum „pe zero", deci vând. +- **Sell trigger.** Bara următoare închide la **52.50**, sub low-ul barei de + retest → **intrare short**. +- **SL 55.00**, deasupra fostului suport (risc 2.50). **TP 47.50 = 2R**. + +Pe 04.09, același grafic a arătat ambele fețe: jos, retestul locului crimei +ca suport; sus, o zonă de fost suport lovită **a treia oară**, ca +rezistență. De câte ori prețul revine sub o zonă care a făcut breakdown, +acolo nu cumperi. + +--- + +## Gotchas + +- **Nu cumpăra lumânarea de breakout.** Diagrama 1: cine a cumpărat la + 52.00-52.80 a văzut în patru zile prețul la 50.00. Aceeași intrare, + făcută la retest, avea stop-ul la 2.30 distanță. +- **Nu muta ordinul după preț.** Diagrama 2: dacă 1/3 (50.67) nu e atins, + nu există trade. „Poate nu mai face niciodată." +- **Un singur suport nu ajunge.** Diagrama 4: 56.00 a ținut două zile și a + cedat. Intrarea bună a fost mai jos, la confluență. +- **Nu lăsa pullback-ul să spargă swing low-ul în uptrend** (21.08). Sub el, + structura devine lower low și ideea de continuare cade. Excepția e + diagrama 5: al doilea picior care ia stop-urile, dar bara următoare + recuperează imediat nivelul. Fără recuperare, nu e excepție. + > „Poate nu doboar swing low-ul ăsta, deci pentru că s-ar strica + > structura trend-ului" + +--- + +## Ce n-a intrat aici + +- VIX citit invers (fost suport devenit rezistență pe VIX = favorabil + pieței, 21.08) — e altă aplicație, nu intrare pe pullback. +- Spike low sub consolidare (20.08, 21.08) — e pattern de bottom, nu retest. +- Detaliile MBT-10 și ale trigger-elor pe secunde (M2D 15/80) — sunt în alte + documente; aici apar doar ca „trigger după atingere". + +--- + +## Surse + +Din analiza zilnică (recoltele din `harvest/`): + +- **21.08.2026** — confluența de suporturi și ținta de 1/2 distanță; island + top și cumpărarea după închiderea gap-ului; ATR în spike la locul crimei; + double bottom cu al doilea picior care ia stop-urile; nu lăsa pullback-ul + să spargă swing low-ul. +- **24.08.2026** — double bottom în formare vs bear flag: locul crimei și + divergența de volum decid. +- **25.08.2026** — reintrarea după primul target, în locul crimei. +- **02.09.2026** — gap-ul ca risc sau ca țintă; după stop, reintri mai jos + cu același risc; stop pe break-even când merge. +- **03.09.2026** — bull flag înapoi în locul crimei; 1/2 gap suprapus cu + fostul vârf. +- **04.09.2026** — definiția vizuală a retestului; fostul suport devine + rezistență; retestul de 1/3 după buy hammer. +- **10.09.2026** — retest 1/3-1/2 din marubozu și open-ul lumânării de + breakout; pullback în gap după earnings; nu alergi după preț; risc fix și + stop-uri consecutive. + +Din curs: [Zone de cerere/ofertă, support/resistance](../03_MODUL_2/02_zone_cerere_oferta_support_resistance.html). + +Referințe externe: +[IG — Support and resistance](https://www.ig.com/en/trading-strategies/support-and-resistance-trading-strategy-explained-200630), +[Investopedia — Support and resistance basics](https://www.investopedia.com/trading/support-and-resistance-basics/), +[IG — Bull flag and bear flag](https://www.ig.com/en/trading-strategies/bull-flag-and-bear-flag-chart-patterns-explained-190816), +[OANDA — Breakout trading strategies](https://www.oanda.com/us-en/trade-tap-blog/analysis/technical/breakout-trading-strategies/). + +--- + +*Ce e completare a mea: toate prețurile și diagramele sunt construite (în +transcrieri cifrele sunt nesigure, iar exemplele din sesiuni au tickere +reale fără niveluri de încredere). Mecanismul cu ordinele care se schimbă +la fostul vârf, stop-urile (sub locul crimei, sub 1/2 gap, sub noul low), +țintele de 2R și calculul R sunt aplicarea mea. Tabelul cu cele trei +niveluri de retest (1/3, 1/2, open) e ordonarea mea a regulilor spuse +separat. Legătura dintre „pullback-ul care nu vine" și break-even e tot a +mea: în sesiuni, break-even-ul apare la tranzacțiile care au mers, iar +„poate nu mai face niciodată" la intrarea ratată. Nivelul S2 din diagrama 4 +e pus de mine. Regulile și citatele vin din sesiuni.*