diff --git a/gen/patternuri_complexe_4.py b/gen/patternuri_complexe_4.py new file mode 100644 index 0000000..6472a66 --- /dev/null +++ b/gen/patternuri_complexe_4.py @@ -0,0 +1,650 @@ +"""Diagramele pentru summaries/06_MODUL_5/03_patternuri_complexe_partea_a_patra.md. + +Toate graficele se construiesc cu svg_candles (o singură scară px/unitate pe +desen), fiecare cifră afirmată în text e verificată prin assert, apoi se +substituie marcatorii din fișierul .md. + +Liniile de trend (laturile wedge-ului, canalul flag-ului) nu există ca +primitivă în svg_candles, așa că le injectez după randare, folosind exact +_cx/_y ale graficului randat — deci aceeași scară ca restul desenului. + +Rulează: .venv/bin/python gen/patternuri_complexe_4.py +""" +import os +import re +import sys + +sys.path.insert(0, "/workspace/atm-curs-dl") +from svg_candles import Chart, Level, Mark, MA, Zone, Arrow, from_closes # noqa: E402 + +MD = ("/workspace/atm-curs-dl/summaries/06_MODUL_5/" + "03_patternuri_complexe_partea_a_patra.md") + +SVG = {} + + +# ----------------------------------------------------------------- unelte mici +def ramp(a, b, n): + """n close-uri de la a (exclusiv) la b (inclusiv), în pași egali.""" + return [round(a + (b - a) * k / n, 2) for k in range(1, n + 1)] + + +def vols(n, base=44, span=10, fade=None, **over): + """Volume deterministe; `fade=(i0,i1)` le subțiază liniar în consolidare.""" + v = [float(base + ((i * 7) % span) - span // 2) for i in range(n)] + if fade: + i0, i1 = fade + for i in range(i0, i1 + 1): + k = (i - i0) / max(1, i1 - i0) + v[i] = round(v[i] * (1.0 - 0.45 * k)) + for k, x in over.items(): + v[int(k[1:])] = x + return v + + +def lo(cds, a, b): + return round(min(c.l for c in cds[a:b + 1]), 2) + + +def hi(cds, a, b): + return round(max(c.h for c in cds[a:b + 1]), 2) + + +def seg(i0, p0, i1, p1, color="#8b5cf6", dash="", w=1.6): + return dict(i0=i0, p0=p0, i1=i1, p1=p1, color=color, dash=dash, w=w) + + +def txt(i, p, s, color="#8b5cf6", anchor="middle", dx=0.0, dy=0.0, bold=True): + return dict(i=i, p=p, s=s, color=color, anchor=anchor, dx=dx, dy=dy, bold=bold) + + +def deco(ch, name, segs=(), texts=(), distante=()): + """Randează graficul, injectează liniile/textele, verifică, salvează.""" + saved = ch.top, ch.left, ch.width + try: + svg = ch._render() + extra = [] + for s in segs: + extra.append( + f'") + for t in texts: + style = "font-size:11px" + (";font-weight:bold" if t["bold"] else "") + extra.append( + f'{t["s"]}') + finally: + ch.top, ch.left, ch.width = saved + if extra: + svg = svg.replace("\n", "\n " + "\n ".join(extra) + "\n") + + assert "\n\n" not in svg, f"{name}: linie goală în svg" + assert len(ch.caption) <= 110, f"{name}: caption de {len(ch.caption)} caractere" + desenate = ({f"{lv.price:.2f}" for lv in ch.levels} + | {f"{d:.2f}" for d in distante}) + for t in re.findall(r"]*>(.*?)", svg, re.S): + for m in re.finditer(r"\d+\.\d\d", re.sub(r"<[^>]+>", "", t)): + assert m.group(0) in desenate, \ + f"{name}: eticheta numește {m.group(0)}, care nu e un nivel desenat" + sus = min(ch._y(c.h) for c in ch.candles) + jos = max(ch._y(c.l) for c in ch.candles) + for lv in ch.levels: + assert ch._y(lv.price) > sus - 0.06 * (jos - sus), \ + f"{name}: nivelul {lv.price} e lipit de marginea de sus" + SVG[name] = svg + print(f" {name}: {len(ch.candles)} bare, {len(ch.levels)} niveluri") + + +CAP = ("Exemplu construit (fără ticker), la scară: lecția nu rostește nicio " + "cifră. Regula de măsurare e a cursului.") + +# ============================================================ 1. wedge descendent +U0, L0 = 52.00, 48.00 # laturile la deschiderea triunghiului +BAZA_D = round(U0 - L0, 2) # 4.00 + + +def up_d(i): + return round(U0 - 0.30 * (i - 10), 2) + + +def lo_d(i): + return round(L0 - 0.15 * (i - 10), 2) + + +cl = (ramp(42.6, 51.30, 10) # 0-9 trend ascendent anterior + + [51.80] # 10 swing high, latura de sus + + ramp(51.80, 47.75, 3) # 11-13 picior 1 + + ramp(47.75, 50.00, 3) # 14-16 swing high 2 + + ramp(50.00, 46.85, 3) # 17-19 picior 2 + + ramp(46.85, 48.20, 3) # 20-22 swing high 3 + + ramp(48.20, 46.80, 2) # 23-24 spre capul triunghiului + + [46.60] # 25 hammer în capul wedge-ului + + [47.00] # 26 încă în triunghi + + [48.10] # 27 candela de breakout + + [48.60, 49.30, 48.90, 50.10, 51.00, 52.20, 51.80]) # 28-34 spre TP1 +wk = ([(0.18, 0.18)] * 10 + [(0.20, 0.15)] + + [(0.05, 0.15), (0.05, 0.15), (0.05, 0.20)] + + [(0.15, 0.05), (0.15, 0.05), (0.20, 0.05)] + + [(0.05, 0.15), (0.05, 0.15), (0.05, 0.20)] + + [(0.15, 0.05), (0.15, 0.05), (0.20, 0.05)] + + [(0.05, 0.15), (0.05, 0.15)] + + [(0.05, 0.85)] + [(0.12, 0.12)] + [(0.10, 0.15)] + + [(0.15, 0.15), (0.20, 0.12), (0.12, 0.20), (0.18, 0.15), + (0.15, 0.15), (0.15, 0.15), (0.12, 0.22)]) +cds = from_closes(cl, wicks=wk, start=42.60, + vols=vols(35, 46, 10, fade=(11, 25), b27=98, b28=84, b33=76)) + +assert hi(cds, 10, 10) == U0 and lo(cds, 13, 13) == lo_d(13) +assert hi(cds, 16, 16) == up_d(16) and lo(cds, 19, 19) == lo_d(19) +assert hi(cds, 22, 22) == up_d(22) and lo(cds, 25, 25) == lo_d(25) +assert lo(cds, 19, 19) < lo(cds, 13, 13), "picioarele trebuie să coboare" +assert hi(cds, 22, 22) < hi(cds, 16, 16) < hi(cds, 10, 10), "vârfurile coboară mai repede" +# convergența: deschiderea triunghiului se strânge spre cap +assert (up_d(25) - lo_d(25)) < BAZA_D / 2 + +E_D = cds[27].c # 48.10 — close-ul candelei de breakout +SL_D = 46.70 # sub low-ul candelei de breakout (46.85) +TP_D = round(E_D + BAZA_D, 2) # 52.10 +R_D = round((TP_D - E_D) / (E_D - SL_D), 1) +assert cds[27].c > up_d(27) and cds[26].c < up_d(26), "breakout exact pe bara 27" +assert SL_D < lo(cds, 27, 27) < E_D +assert hi(cds, 28, 34) >= TP_D, "seria trebuie să atingă TP1" +assert abs(TP_D - (E_D + BAZA_D)) < 1e-9 +print(f"wedge desc: baza {BAZA_D} intrare {E_D} SL {SL_D} TP1 {TP_D} = {R_D}R") + +deco(Chart( + candles=cds, + levels=[Level(SL_D, f"SL {SL_D:.2f}", "#c00", label_at="left"), + Level(E_D, f"intrare {E_D:.2f}", "#188a3e"), + Level(TP_D, f"TP1 {TP_D:.2f} = {R_D}R", "#1a5fb4")], + marks=[Mark(2, "trend ascendent anterior", "#188a3e", "below", dy=8), + Mark(13, "picior 1", "#c00", "below"), + Mark(19, "picior 2 (mai jos)", "#c00", "below"), + Mark(25, "hammer in capul triunghiului", "#b06000", "below"), + Mark(27, "breakout cu volum", "#188a3e")], + zones=[Zone(10, 26, "wedge descendent = consolidare contra-trend (17 bare)", + "#8b5cf6")], + arrows=[Arrow(29, "stopul sta sub low-ul candelei de breakout:\n" + "daca pretul se intoarce in triunghi, ideea a murit", + price=SL_D, where="below", color="#c00", dy=18)], + mas=[MA(20, "#b06000", dash="4 3", text="SMA-20")], + scale=24, gap=16, body_w=9, left=46, width=730, top=62, vol_h=70, + title="Wedge descendent — bull", + caption=CAP), + "wedge_desc", + segs=[seg(10, U0, 28, up_d(28)), + seg(10, L0, 13, lo_d(13), "#8b5cf6", "4 3", 1.2), + seg(13, lo_d(13), 27, lo_d(27)), + seg(10.0, L0, 10.0, U0, "#8b5cf6", "", 2.2), + seg(30.6, E_D, 30.6, TP_D, "#1a5fb4", "", 2.2)], + texts=[txt(10.1, (U0 + L0) / 2, f"baza = {BAZA_D:.2f}", anchor="start", dx=4), + txt(30.4, (E_D + TP_D) / 2, f"aceeasi {BAZA_D:.2f}", "#1a5fb4", + anchor="end", dx=-4)], + distante=(BAZA_D,)) + +# ================================================ 2. wedge vs flag (forma) +cl = (ramp(29.6, 34.00, 6) # 0-5 urcare + + [33.40, 32.10, 33.10, 32.60, 31.60, 32.30, 31.90, 31.70] # 6-13 convergent + + ramp(31.70, 37.00, 5) # 14-18 urcare + + [36.40, 35.00, 36.30, 34.90, 36.20, 34.80, 36.10, 34.70] # 19-26 paralel + + ramp(34.70, 39.00, 5)) # 27-31 urcare +wk = [(0.15, 0.15)] * 32 +cds = from_closes(cl, wicks=wk, start=29.40, vols=vols(32, 44, 10)) +deco(Chart( + candles=cds, + zones=[Zone(6, 13, "laturile converg = WEDGE (triunghi)", "#999"), + Zone(19, 26, "laturile sunt paralele = FLAG (dreptunghi)", "#999")], + scale=26, gap=17, body_w=9, left=46, width=660, top=58, + title="Wedge sau flag?", + caption="Exemplu construit (fără ticker). Dacă prelungite laturile se " + "întretaie, e wedge; dacă rămân paralele, e flag."), + "wedge_vs_flag", + segs=[seg(6, 34.00, 14, 32.20), seg(6, 31.90, 14, 32.00), + seg(14, 32.26, 15.6, 32.11, "#8b5cf6", "3 3", 1.0), + seg(19, 36.55, 27, 36.25, "#1a5fb4"), seg(19, 34.85, 27, 34.55, "#1a5fb4"), + seg(27, 36.25, 29, 36.18, "#1a5fb4", "3 3", 1.0), + seg(27, 34.55, 29, 34.48, "#1a5fb4", "3 3", 1.0)], + texts=[txt(15.8, 32.11, "se intretaie", anchor="start", dx=2, dy=4), + txt(29.2, 35.35, "nu se intretaie", "#1a5fb4", anchor="start", dx=2)]) + +# ========================================== 3. wedge ascendent — schimbare de trend +U1, L1 = 48.00, 45.00 +BAZA_A = round(U1 - L1, 2) # 3.00 + + +def up_a(i): + return round(U1 + 0.15 * (i - 10), 2) + + +def lo_a(i): + return round(L1 + 0.30 * (i - 10), 2) + + +cl = (ramp(41.0, 47.60, 10) # 0-9 trend ascendent anterior + + [47.80] # 10 swing high pe latura de sus + + ramp(47.80, 46.10, 3) # 11-13 swing low pe latura de jos + + ramp(46.10, 48.70, 3) # 14-16 swing high 2 + + ramp(48.70, 47.90, 3) # 17-19 swing low 2 (mai sus) + + ramp(47.90, 49.60, 3) # 20-22 swing high 3 + + [49.20, 49.40] # 23-24 ultima bara in triunghi + + [48.30] # 25 marubozu de breakdown + + [48.70] # 26 retest la jumatatea lui + + [48.20, 47.60, 47.90, 47.10, 46.70, 45.20, 45.60]) # 27-33 spre TP1 +wk = ([(0.18, 0.18)] * 10 + [(0.20, 0.10)] + + [(0.05, 0.10), (0.05, 0.10), (0.05, 0.20)] + + [(0.10, 0.05), (0.10, 0.05), (0.20, 0.05)] + + [(0.05, 0.10), (0.05, 0.10), (0.05, 0.20)] + + [(0.10, 0.05), (0.10, 0.05), (0.20, 0.05)] + + [(0.10, 0.10), (0.10, 0.10)] + + [(0.04, 0.06)] + [(0.15, 0.10)] + + [(0.10, 0.15), (0.10, 0.15), (0.15, 0.10), (0.10, 0.15), + (0.10, 0.15), (0.10, 0.20), (0.15, 0.10)]) +cds = from_closes(cl, wicks=wk, start=40.80, + vols=vols(34, 46, 10, fade=(11, 24), b25=96, b26=52, b31=78)) + +assert hi(cds, 10, 10) == U1 and lo(cds, 13, 13) == lo_a(13) +assert hi(cds, 16, 16) == up_a(16) and lo(cds, 19, 19) == lo_a(19) +assert hi(cds, 22, 22) == up_a(22) +assert lo(cds, 19, 19) > lo(cds, 13, 13), "minimele urcă mai repede" +assert hi(cds, 22, 22) > hi(cds, 16, 16) > hi(cds, 10, 10), "maximele urcă mai încet" +assert (up_a(22) - lo_a(22)) < BAZA_A / 2 + +MB_O, MB_C = cds[25].o, cds[25].c # marubozul de breakdown: 49.40 -> 48.30 +JUM = round((MB_O + MB_C) / 2, 2) # 48.85 +E_A, SL_A = JUM, MB_O +TP_A = round(MB_C - BAZA_A, 2) # 45.30 +R_A = round((E_A - TP_A) / (SL_A - E_A), 1) +assert cds[25].c < lo_a(25) and cds[24].c > lo_a(24), "breakdown exact pe bara 25" +assert abs(MB_C - MB_O) > 1.0 and cds[25].h - MB_O <= 0.06, "marubozu: corp mare, fitil mic" +assert hi(cds, 26, 26) == JUM, f"retestul trebuie să atingă exact {JUM}" +assert lo(cds, 27, 33) <= TP_A, "seria trebuie să atingă TP1" +E_BRK = MB_C # varianta agresivă: short pe breakdown +R_BRK = round((E_BRK - TP_A) / (SL_A - E_BRK), 1) +print(f"wedge asc rev: baza {BAZA_A} marubozu {MB_O}->{MB_C} jum {JUM} " + f"SL {SL_A} TP1 {TP_A} = {R_A}R (pe breakdown: {R_BRK}R)") + +deco(Chart( + candles=cds, + levels=[Level(SL_A, f"SL {SL_A:.2f} = open-ul marubozului", "#c00"), + Level(E_A, f"intrare short {E_A:.2f}", "#188a3e", label_at="left"), + Level(TP_A, f"TP1 {TP_A:.2f} = {R_A}R", "#1a5fb4")], + marks=[Mark(2, "trend ascendent anterior", "#188a3e", "below", dy=8), + Mark(13, "minim 1", "#c00", "below", dy=22), + Mark(19, "minim 2 (mai sus)", "#c00", "below"), + Mark(25, "breakdown", "#c00", "below", dy=14), + ], + zones=[Zone(10, 24, "wedge ascendent in uptrend = SCHIMBARE de trend (15 bare)", + "#8b5cf6")], + mas=[MA(20, "#b06000", dash="4 3", text="SMA-20")], + scale=42, gap=16, body_w=9, left=46, width=730, top=62, vol_h=70, + title="Wedge ascendent — bear", + caption=CAP), + "wedge_asc_rev", + segs=[seg(10, U1, 26, up_a(26)), + seg(10, L1, 13, lo_a(13), "#8b5cf6", "4 3", 1.2), + seg(13, lo_a(13), 25, lo_a(25)), + seg(10.0, L1, 10.0, U1, "#8b5cf6", "", 2.2)], + texts=[txt(10.1, (U1 + L1) / 2, f"baza = {BAZA_A:.2f}", anchor="start", dx=4)], + distante=(BAZA_A,)) + +# ===================================== 4. wedge ascendent — continuare de trend +U2, L2 = 51.50, 49.00 +BAZA_C = round(U2 - L2, 2) # 2.50 + + +def up_c(i): + return round(U2 + 0.10 * (i - 10), 2) + + +def lo_c(i): + return round(L2 + 0.22 * (i - 10), 2) + + +cl = (ramp(57.0, 51.30, 10) # 0-9 trend DESCENDENT anterior + + [51.30] # 10 swing high pe latura de sus + + ramp(51.30, 49.76, 3) # 11-13 swing low + + ramp(49.76, 52.00, 3) # 14-16 swing high 2 + + ramp(52.00, 51.08, 3) # 17-19 swing low 2 (mai sus) + + ramp(51.08, 52.60, 3) # 20-22 swing high 3 + + [52.20] # 23 ultima bara in triunghi + + [51.70] # 24 breakdown + + [51.10, 50.60, 50.90, 50.10, 49.40, 48.90, 49.30]) # 25-31 spre TP1 +wk = ([(0.18, 0.18)] * 10 + [(0.20, 0.10)] + + [(0.05, 0.10), (0.05, 0.10), (0.05, 0.10)] + + [(0.10, 0.05), (0.10, 0.05), (0.10, 0.05)] + + [(0.05, 0.10), (0.05, 0.10), (0.05, 0.10)] + + [(0.10, 0.05), (0.10, 0.05), (0.10, 0.05)] + + [(0.10, 0.10), (0.06, 0.12)] + + [(0.10, 0.15), (0.10, 0.15), (0.15, 0.10), (0.10, 0.15), + (0.10, 0.15), (0.10, 0.18), (0.15, 0.10)]) +cds = from_closes(cl, wicks=wk, start=57.30, + vols=vols(32, 44, 10, fade=(11, 23), b24=88, b29=74)) + +assert hi(cds, 10, 10) == U2 and lo(cds, 13, 13) == lo_c(13) +assert hi(cds, 16, 16) == up_c(16) and lo(cds, 19, 19) == lo_c(19) +assert hi(cds, 22, 22) == up_c(22) +assert lo(cds, 19, 19) > lo(cds, 13, 13) and hi(cds, 22, 22) > hi(cds, 10, 10) +assert cds[0].c > cds[9].c, "înainte de pattern trebuie downtrend" +TP_C = round(cds[24].c - BAZA_C, 2) # 49.20 +assert cds[24].c < lo_c(24) and cds[23].c > lo_c(23), "breakdown exact pe bara 24" +assert lo(cds, 25, 31) <= TP_C +print(f"wedge asc cont: baza {BAZA_C} breakdown {cds[24].c} TP1 {TP_C}") + +deco(Chart( + candles=cds, + levels=[Level(TP_C, f"TP1 {TP_C:.2f}", "#1a5fb4")], + marks=[Mark(2, "trend DESCENDENT anterior", "#c00", dy=-4), + Mark(13, "minim 1", "#c00", "below"), + Mark(19, "minim 2 (mai sus)", "#c00", "below"), + Mark(24, "breakdown", "#c00", "below", dy=14)], + zones=[Zone(10, 23, "acelasi wedge ascendent, dar in downtrend = CONTINUARE", + "#8b5cf6")], + mas=[MA(20, "#b06000", dash="4 3", text="SMA-20")], + scale=26, gap=17, body_w=9, left=46, width=730, top=62, vol_h=70, + title="Wedge ascendent, continuare", + caption=CAP), + "wedge_asc_cont", + segs=[seg(10, U2, 25, up_c(25)), + seg(10, L2, 13, lo_c(13), "#8b5cf6", "4 3", 1.2), + seg(13, lo_c(13), 24, lo_c(24)), + seg(10.0, L2, 10.0, U2, "#8b5cf6", "", 2.2), + seg(28.6, TP_C, 28.6, cds[24].c, "#1a5fb4", "", 2.2)], + texts=[txt(10.1, (U2 + L2) / 2, f"baza = {BAZA_C:.2f}", anchor="start", dx=4), + txt(28.6, (TP_C + cds[24].c) / 2, f"aceeasi {BAZA_C:.2f}", "#1a5fb4", + anchor="start", dx=4)], + distante=(BAZA_C,)) + +# ======================================================== 5. bull flag / ABCD long +POLE_A, POLE_B = 30.00, 40.00 # bățul steagului +BAT = round(POLE_B - POLE_A, 2) # 10.00 +CANAL = 3.00 + + +def up_f(i): + return round(40.00 - 0.25 * (i - 11), 2) + + +def lo_f(i): + return round(37.00 - 0.25 * (i - 11), 2) + + +cl = ([30.60, 30.30, 30.80, 30.40] # 0-3 baza bățului + + ramp(30.40, 39.80, 7) # 4-10 bățul steagului + + [39.85] # 11 varful bățului (A->B) + + ramp(39.85, 36.45, 3) # 12-14 pe latura de jos + + ramp(36.45, 38.35, 3) # 15-17 pe latura de sus + + ramp(38.35, 34.95, 3) # 18-20 pe latura de jos (C) + + [35.60, 36.30] # 21-22 inca in canal + + [37.80] # 23 breakout + + [38.60, 39.50, 40.90, 40.40, 41.80, 43.00, + 42.40, 44.00, 45.50, 46.80, 48.00]) # 24-34 spre TP1 si TP2 +wk = ([(0.12, 0.12), (0.10, 0.30), (0.15, 0.10), (0.10, 0.25)] + + [(0.20, 0.15)] * 7 + [(0.15, 0.12)] + + [(0.05, 0.15), (0.05, 0.15), (0.05, 0.20)] + + [(0.10, 0.05), (0.10, 0.05), (0.15, 0.05)] + + [(0.05, 0.15), (0.05, 0.15), (0.05, 0.20)] + + [(0.12, 0.10), (0.12, 0.10)] + [(0.10, 0.15)] + + [(0.18, 0.15)] * 11) +cds = from_closes(cl, wicks=wk, start=30.40, + vols=vols(35, 46, 10, fade=(12, 22), b7=86, b9=90, b23=98, b29=80)) + +assert lo(cds, 0, 4) == POLE_A, f"baza bățului {lo(cds, 0, 4)}" +assert hi(cds, 11, 11) == POLE_B, f"vârful bățului {hi(cds, 11, 11)}" +assert lo(cds, 14, 14) == lo_f(14) and hi(cds, 17, 17) == up_f(17) +assert lo(cds, 20, 20) == lo_f(20) +# canal paralel: aceeași lățime la început și la sfârșit +assert abs((up_f(11) - lo_f(11)) - CANAL) < 1e-9 +assert abs((up_f(23) - lo_f(23)) - CANAL) < 1e-9 + +E_F = cds[23].c # 37.80 +SL_F = 36.00 # sub low-ul candelei de breakout (36.15) +TP1_F = round(E_F + CANAL, 2) # 40.80 +TP2_F = round(E_F + BAT, 2) # 47.80 +R1_F = round((TP1_F - E_F) / (E_F - SL_F), 1) +R2_F = round((TP2_F - E_F) / (E_F - SL_F), 1) +assert cds[23].c > up_f(23) and cds[22].c < up_f(22), "breakout exact pe bara 23" +assert SL_F < lo(cds, 23, 23) < E_F +assert hi(cds, 24, 34) >= TP2_F, "seria trebuie să atingă și TP2" +print(f"bull flag: canal {CANAL} bat {BAT} intrare {E_F} SL {SL_F} " + f"TP1 {TP1_F}={R1_F}R TP2 {TP2_F}={R2_F}R") + +deco(Chart( + candles=cds, + levels=[Level(SL_F, f"SL {SL_F:.2f}", "#c00", label_at="left"), + Level(E_F, f"intrare {E_F:.2f}", "#188a3e", label_at="left"), + Level(TP1_F, f"TP1 {TP1_F:.2f} = canalul = {R1_F}R", "#1a5fb4", + label_at="left"), + Level(TP2_F, f"TP2 {TP2_F:.2f} = batul steagului = {R2_F}R", "#1a5fb4")], + marks=[Mark(2, "A", "#555", "below"), Mark(11, "B", "#555", dy=-20), + Mark(20, "C = aici era by the dip", "#b06000", "below"), + Mark(23, "breakout cu volum", "#188a3e", dy=-16)], + zones=[Zone(11, 22, "flamura (12 bare)", "#999")], + mas=[MA(20, "#b06000", dash="4 3", text="SMA-20")], + scale=13, gap=16, body_w=9, left=46, width=730, top=62, vol_h=70, + title="Bull flag = ABCD long", + caption=CAP), + "bull_flag", + segs=[seg(11, 40.00, 24, up_f(24), "#1a5fb4"), + seg(11, 37.00, 14, lo_f(14), "#1a5fb4", "4 3", 1.2), + seg(14, lo_f(14), 23, lo_f(23), "#1a5fb4"), + seg(11.0, 37.00, 11.0, 40.00, "#1a5fb4", "", 2.2), + seg(3.3, POLE_A, 3.3, POLE_B, "#188a3e", "", 2.2)], + texts=[txt(11.1, 38.50, f"canal {CANAL:.2f}", "#1a5fb4", anchor="start", dx=4), + txt(3.2, 33.00, f"batul = {BAT:.2f}", "#188a3e", anchor="end", dx=-4)], + distante=(CANAL, BAT)) + +# ======================================================= 6. bear flag / ABCD short +POLE_A2, POLE_B2 = 60.00, 50.00 +BAT2 = round(POLE_A2 - POLE_B2, 2) # 10.00 +CANAL2 = 3.00 + + +def up_b(i): + return round(53.00 + 0.25 * (i - 11), 2) + + +def lo_b(i): + return round(50.00 + 0.25 * (i - 11), 2) + + +cl = ([59.40, 59.70, 59.20, 59.60] # 0-3 varful bățului + + ramp(59.60, 50.20, 7) # 4-10 bățul, în jos + + [50.15] # 11 minimul bățului (A->B) + + ramp(50.15, 53.55, 3) # 12-14 pe latura de sus + + ramp(53.55, 51.65, 3) # 15-17 pe latura de jos + + ramp(51.65, 55.05, 3) # 18-20 pe latura de sus (C) + + [54.40, 53.70] # 21-22 inca in canal + + [52.40] # 23 breakdown + + [51.60, 50.40, 51.00, 49.60, 48.20, 48.80, + 47.00, 45.60, 44.20, 43.00, 42.20]) # 24-34 spre TP1 si TP2 +wk = ([(0.12, 0.12), (0.30, 0.10), (0.10, 0.15), (0.25, 0.10)] + + [(0.15, 0.20)] * 7 + [(0.12, 0.15)] + + [(0.15, 0.05), (0.15, 0.05), (0.20, 0.05)] + + [(0.05, 0.10), (0.05, 0.10), (0.05, 0.15)] + + [(0.15, 0.05), (0.15, 0.05), (0.20, 0.05)] + + [(0.10, 0.12), (0.10, 0.12)] + [(0.15, 0.10)] + + [(0.15, 0.18)] * 11) +cds = from_closes(cl, wicks=wk, start=59.60, + vols=vols(35, 46, 10, fade=(12, 22), b7=88, b9=92, b23=96, b31=82)) + +assert hi(cds, 0, 4) == POLE_A2, f"vârful bățului {hi(cds, 0, 4)}" +assert lo(cds, 11, 11) == POLE_B2, f"minimul bățului {lo(cds, 11, 11)}" +assert hi(cds, 14, 14) == up_b(14) and lo(cds, 17, 17) == lo_b(17) +assert hi(cds, 20, 20) == up_b(20) +assert abs((up_b(11) - lo_b(11)) - CANAL2) < 1e-9 +assert abs((up_b(23) - lo_b(23)) - CANAL2) < 1e-9 + +E_B = cds[23].c # 52.40 +SL_B = 54.00 # peste high-ul candelei de breakdown (53.85) +TP1_B = round(E_B - CANAL2, 2) # 49.40 +TP2_B = round(E_B - BAT2, 2) # 42.40 +R1_B = round((E_B - TP1_B) / (SL_B - E_B), 1) +R2_B = round((E_B - TP2_B) / (SL_B - E_B), 1) +assert cds[23].c < lo_b(23) and cds[22].c > lo_b(22), "breakdown exact pe bara 23" +assert E_B < hi(cds, 23, 23) < SL_B +assert lo(cds, 24, 34) <= TP2_B +print(f"bear flag: canal {CANAL2} bat {BAT2} intrare {E_B} SL {SL_B} " + f"TP1 {TP1_B}={R1_B}R TP2 {TP2_B}={R2_B}R") + +deco(Chart( + candles=cds, + levels=[Level(SL_B, f"SL {SL_B:.2f}", "#c00"), + Level(E_B, f"intrare short {E_B:.2f}", "#188a3e"), + Level(TP1_B, f"TP1 {TP1_B:.2f} = canalul = {R1_B}R", "#1a5fb4", + label_at="left"), + Level(TP2_B, f"TP2 {TP2_B:.2f} = batul steagului = {R2_B}R", "#1a5fb4")], + marks=[Mark(2, "A", "#555", "below", dy=4), Mark(11, "B", "#555", "below", dy=14), + Mark(20, "C = aici era sell the rally", "#b06000", dy=-20), + Mark(23, "breakdown cu volum", "#c00", "below", dy=14)], + zones=[Zone(11, 22, "flamura (12 bare)", "#999")], + mas=[MA(20, "#b06000", dash="4 3", text="SMA-20")], + scale=13, gap=16, body_w=9, left=46, width=730, top=66, vol_h=70, + title="Bear flag = ABCD short", + caption=CAP), + "bear_flag", + segs=[seg(11, 53.00, 14, up_b(14), "#1a5fb4", "4 3", 1.2), + seg(14, up_b(14), 24, up_b(24), "#1a5fb4"), + seg(11, 50.00, 23, lo_b(23), "#1a5fb4"), + seg(11.0, 50.00, 11.0, 53.00, "#1a5fb4", "", 2.2), + seg(3.3, POLE_B2, 3.3, POLE_A2, "#c00", "", 2.2)], + texts=[txt(11.1, 51.50, f"canal {CANAL2:.2f}", "#1a5fb4", anchor="start", dx=4), + txt(3.2, 56.00, f"batul = {BAT2:.2f}", "#c00", anchor="end", dx=-4)], + distante=(CANAL2, BAT2)) + +# ============================================ 7. marubozu retestat — DA si NU +def marubozu_serie(retest_close, retest_wick_up, cont): + """Downtrend scurt, marubozu de breakdown, apoi retest + continuare.""" + cl = (ramp(74.0, 70.60, 8) + [70.00] # 0-8 coborare pana la breakdown + + [66.00] # 9 marubozu: 70.00 -> 66.00 + + [retest_close] # 10 bara de retest + + cont) + wk = ([(0.20, 0.20)] * 9 + + [(0.04, 0.06)] + [(retest_wick_up, 0.10)] + + [(0.15, 0.20)] * len(cont)) + return from_closes(cl, wicks=wk, start=74.40, + vols=vols(11 + len(cont), 46, 10, b9=98, b10=48)) + + +for name, rc, rw, cont, jos, titlu, cap, dist in [ + ("maru_da", 67.85, 0.15, + [67.10, 66.30, 65.40, 64.20, 63.00, 63.40, 62.10, 60.80, 61.20], + True, "DA: marubozul retestează jumătatea — intri cu limit order la 68.00", + "Short limit la jumătatea corpului, stop la open. Risc 2.00, nu 4.00. " + "Exemplu construit.", (2.00, 4.00)), + ("maru_nu", 67.20, 0.10, + [66.40, 65.10, 64.30, 65.00, 63.20, 62.00, 62.50, 60.90, 59.80], + False, "NU: retestul se oprește sub jumătate — limit order-ul nu se umple", + "Retestul urcă doar până la {t}: limit order-ul de la 68.00 rămâne " + "neumplut. Exemplu construit.", ()), +]: + cds = marubozu_serie(rc, rw, cont) + o9, c9 = cds[9].o, cds[9].c + assert (o9, c9) == (70.00, 66.00), (o9, c9) + jum = round((o9 + c9) / 2, 2) # 68.00 + assert jum == 68.00 + top_retest = hi(cds, 10, 10) + if jos: + assert top_retest == jum, f"{name}: retestul trebuie să atingă exact {jum}" + else: + assert c9 < top_retest < jum, f"{name}: retestul trebuie să stea sub {jum}" + lv = [Level(o9, f"SL {o9:.2f} = open-ul marubozului", "#c00"), + Level(jum, f"jumatatea corpului {jum:.2f}", "#b06000"), + Level(c9, f"close-ul marubozului {c9:.2f}", "#555")] + mk = [Mark(9, "marubozu de breakdown", "#c00", "below", dy=16)] + ar = [Arrow(10, ("retest exact la jumatatea corpului:\naici se umple short-ul" + if jos else + f"retestul se opreste la {top_retest:.2f}:\nlimit order-ul nu se umple"), + where="above", color="#b06000" if jos else "#c00", dx=150, dy=-66)] + deco(Chart( + candles=cds, levels=lv, marks=mk, arrows=ar, + zones=[Zone(9, 10, "marubozu + retest", "#8b5cf6")], + scale=20, gap=20, body_w=11, left=46, width=660, top=56, vol_h=60, + title=titlu + " — exemplu construit", + caption=cap.format(t=f"{top_retest:.2f}")), + name, distante=(top_retest,) + dist) + +# ============================================== 8. trigger in capul wedge-ului +def trigger_serie(declansator_close): + """Coborâre, doji în capul wedge-ului, apoi bara de declanșare.""" + cl = (ramp(53.0, 50.40, 7) + [49.70] # 0-7 coborare in triunghi + + [49.75] # 8 doji: corp mic + + [declansator_close] # 9 bara de declansare + + [51.10, 51.90, 51.40, 52.60, 53.40]) # 10-14 + wk = ([(0.18, 0.18)] * 8 + [(0.55, 0.50)] + [(0.15, 0.15)] + [(0.18, 0.18)] * 5) + return from_closes(cl, wicks=wk, start=53.30, + vols=vols(15, 44, 8, b9=84)) + + +for name, dc, da in [("trigger_da", 50.60, True), ("trigger_nu", 50.10, False)]: + cds = trigger_serie(dc) + doji = cds[8] + corp = abs(doji.c - doji.o) + assert corp / (doji.h - doji.l) < 0.10, f"{name}: corpul doji-ului {corp:.2f}" + dh = round(doji.h, 2) # high-ul doji-ului + if da: + assert cds[9].c > dh, f"{name}: {cds[9].c} trebuie peste {dh}" + else: + assert doji.c < cds[9].c < dh, f"{name}: {cds[9].c} trebuie sub {dh}" + deco(Chart( + candles=cds, + levels=[Level(dh, f"high-ul doji: {dh:.2f}", "#b06000", label_at="left"), + Level(round(cds[9].c, 2), f"close urmator: {cds[9].c:.2f}", + "#188a3e" if da else "#c00")], + marks=[Mark(8, "doji: corp foarte mic", "#b06000", "below", dy=14)], + arrows=[Arrow(9, ("a inchis PESTE high-ul doji-ului:\ntrigger valid" + if da else + "a urcat, dar a inchis SUB high-ul doji-ului:\nnu e trigger, e doar un buy hammer"), + where="above", color="#188a3e" if da else "#c00", dx=60, dy=-10)], + scale=90, gap=26, body_w=13, left=46, width=620, vol_h=52, + title=("Trigger DA: buy doji confirmat" if da + else "Trigger NU: doar buy hammer"), + caption="Exemplu construit (fără ticker). Regula de trigger e cea din " + "capitolul Buy Doji, nu din lecția asta."), + name) + +# ============================================ 9. unde apare fiecare pattern +cl = (ramp(60.0, 51.00, 7) # 0-6 downtrend + + [51.60, 50.80, 51.40, 50.60, 51.80] # 7-11 bottom (3 picioare) + + ramp(51.80, 57.00, 5) # 12-16 urcare + + [56.30, 55.60, 56.10, 55.40] # 17-20 bull flag / wedge desc + + ramp(55.40, 62.00, 5) # 21-25 urcare + + [62.60, 61.90, 63.20, 62.70, 63.60, 63.10] # 26-31 wedge ascendent (top) + + ramp(63.10, 57.50, 5) # 32-36 downtrend nou + + [58.10, 58.60, 57.90] # 37-39 bear flag + + ramp(57.90, 54.00, 4)) # 40-43 cadere +wk = [(0.20, 0.20)] * 44 +cds = from_closes(cl, wicks=wk, start=60.40, vols=vols(44, 44, 10)) +assert lo(cds, 7, 11) < lo(cds, 17, 20), "bottom-ul trebuie sub consolidarea din trend" +assert hi(cds, 26, 31) == hi(cds, 0, 43), "wedge-ul ascendent e la maximul seriei" +deco(Chart( + candles=cds, + marks=[Mark(9, "cauti SCHIMBARE de trend", "#188a3e", "below", dy=16), + Mark(18, "cauti CONTINUARE: bull flag, wedge descendent", "#188a3e", dy=-34), + Mark(29, "cauti SCHIMBARE: wedge ascendent, triple top", "#c00", dy=-26), + Mark(41, "cauti CONTINUARE in bear: bear flag", "#c00", "below", dy=12)], + zones=[Zone(7, 11, "bottom", "#188a3e"), Zone(17, 20, "trend bull", "#188a3e"), + Zone(26, 31, "top", "#c00"), Zone(37, 39, "trend bear", "#c00")], + mas=[MA(20, "#b06000", dash="4 3", text="SMA-20")], + scale=18, gap=14, body_w=8, left=46, width=820, top=74, + title="Ce pattern cauti, in functie de unde e piata", + caption="Exemplu construit (fără ticker). La bottom cauți reversal, în " + "trend cauți continuare."), + "context_ciclu") + +# ---------------------------------------------------------------- substituire +if os.path.exists(MD): + with open(MD, encoding="utf-8") as f: + md = f.read() + lipsa = [n for n in SVG if f"" not in md] + assert not lipsa, f"marcatori lipsă în .md: {lipsa}" + for n, svg in SVG.items(): + md = re.sub(rf"(\s*)?", + lambda _m: f"\n{svg}", md, count=1) + with open(MD, "w", encoding="utf-8") as f: + f.write(md) + print(f"\n{len(SVG)} diagrame substituite in {MD}") +else: + print(f"\n{len(SVG)} diagrame generate; {MD} nu exista inca") diff --git a/summaries/06_MODUL_5/03_patternuri_complexe_partea_a_patra.html b/summaries/06_MODUL_5/03_patternuri_complexe_partea_a_patra.html new file mode 100644 index 0000000..33a40c5 --- /dev/null +++ b/summaries/06_MODUL_5/03_patternuri_complexe_partea_a_patra.html @@ -0,0 +1,1592 @@ + + + + + +Modul 5 / #3 — Patternuri complexe (partea 4): wedge descendent, wedge ascendent, bull flag, bear flag + + + +

Modul 5 / #3 — Patternuri complexe (partea 4): wedge descendent, wedge ascendent, bull flag, bear flag

+

TLDR

+

Patru patternuri, toate de consolidare contra-trend: prețul se oprește, se +mișcă o vreme împotriva trendului mare, apoi rupe formațiunea și pleacă. +Regula de măsurare e aceeași la toate: iei grosimea formațiunii la +deschiderea ei și o adaugi la close-ul candelei care face breakout. Ce le +deosebește e forma — la wedge laturile converg (triunghi), la flag +rămân paralele (dreptunghi) — și direcția: wedge-ul descendent e bull, +wedge-ul ascendent e bear, bull flag-ul e bull, bear flag-ul e bear.

+

Lecția mai adaugă două lucruri care nu sunt despre forme: strategia +marubozului retestat la jumătate (intri cu limit order la jumătatea +corpului, stopul stă la open-ul candelei) și ideea că rolul unui pattern +depinde de trendul din care vine — același wedge ascendent e schimbare de +trend după un uptrend și continuare de trend după un downtrend.

+

Ce e nou față de părțile 2 și 3

+

Partea a 2-a a tratat +Head & Shoulders (normal și inversat) și mecanismul de bid/ask care explică de +ce funcționează un pattern. Partea a +3-a a tratat triple bottom, +rounding bottom, triple top și cup with handle, cu limita de 50% a mânerului. +Nimic din alea nu se repetă aici — mecanismul de bază e scris o dată, acolo, +și se aplică identic.

+

Ce aduce lecția asta, în plus:

+
    +
  • Primele patternuri cu două linii de trend înclinate. Până acum nivelul + care se rupea era orizontal (neckline, suport testat de trei ori, buza + ceștii). Aici se rupe o linie oblică, deci „unde e nivelul" depinde de + bara la care te uiți.
  • +
  • Un pattern a cărui formă nu-ți spune direcția. Un triple top e short și + un triple bottom e long, oricând. Un wedge ascendent e short dacă vine + dintr-un uptrend, dar e tot short și dacă vine dintr-un downtrend — numai + că în primul caz e schimbare de trend, în al doilea continuare. Rolul se + citește din context, nu din desen.
  • +
  • Un criteriu de clasificare explicit, cerut de cursanți: wedge sau flag? + Răspunsul autorului e geometric — laturile converg sau sunt paralele.
  • +
  • Două ținte pentru același pattern la flag: înălțimea canalului + (conservator) sau înălțimea bățului steagului (ambițios).
  • +
  • O strategie de execuție, nu doar de identificare: marubozul retestat la + jumătate, cu stopul la open-ul candelei. Autorul o numește „o strategie în + sine" și o repetă pe cinci simboluri diferite.
  • +
  • Patternurile ca set, nu ca listă. Lecția nu arată niciun pattern + singur: fiecare wedge sau flag apare lângă un head & shoulders, un double + bottom sau un triple bottom, iar autorul insistă că momentul din piață + decide care dintre ele e util.
  • +
+

Cursul deschide lecția, ca pe celelalte din serie, cu citatul lui Edwin +Lefèvre din Reminiscences of a Stock Operator — „nu există nimic nou pe +Wall Street" — și repetă că patternurile sunt litera M din acronimul +cursului: setup-ul, nu tot trade-ul.

+

Pe ce timeframe? Pe oricare, și autorul o demonstrează în aceeași lecție: +monthly (Boeing), weekly (AMAT, S&P futures), daily (XLF, Tesla, QQQ, XRT, +Apple), 4 ore (NVDA, Microsoft, SPY, NASDAQ futures, Dow futures), 60 de +minute (GBP/USD, aur, petrol), 15 minute (NASDAQ futures, aur) și 5 minute +(SPY, „pentru day traders și scalpers"). Spune explicit că merge pe acțiuni, +ETF-uri, futures, forex, crypto, commodities și opțiuni, inclusiv pe conturi +de prop.

+

Cum citești diagramele. Toate graficele din fișier sunt serii continue de +15-44 de bare, construite de mine la scară, cu panou de volum dedesubt și +media mobilă simplă pe 20 de bare (SMA-20) ca linie gri punctată. Lecția +arată patternurile pe grafice reale din TradeStation, dar nu rostește +nicio cifră de preț — nici una singură, pe tot materialul. Deci diagramele +nu poartă ticker: titlul lor spune „exemplu construit". Toate prețurile din +fișier sunt ale mele; ale cursului sunt doar regulile de măsurare și de +stop. Singurele cifre pe care le rostește autorul sunt numărători (cinci +săptămâni consecutive de scădere pe S&P, cinci bear flag-uri consecutive pe +Dow, linia inferioară testată de cinci ori pe un ETF), raportul Pareto 20/80 +și împărțirea poziției „unul pă doi" [sic] — adică în două tranșe.

+
+

1. Wedge descendent (falling wedge) — bull, continuare de trend

+

Ce e. Un triunghi cu vârful în jos, format din swing high-uri și swing +low-uri care coboară amândouă, dar maximele coboară mai repede decât +minimele — de aici convergența. Un swing high e un maxim local (o bară cu +maxime mai mici în stânga și în dreapta), un swing low e un minim local; +sunt definite cu diagramă în +partea 1.

+

De ce te interesează. Îți dă un loc unde poți cumpăra în trend, după ce +trendul a făcut deja o bucată bună de drum, fără să alergi după preț. Decizia +concretă pe care o iei: „nu vând, ăsta e un pullback, nu o întoarcere" — plus +„aici am voie să adaug", pentru că știi deja unde e stopul (sub triunghi) și +cât poți scoate (grosimea bazei).

+

Ce faci când îl vezi. Nu intri. Desenezi cele două linii, măsori baza, și +aștepți o candelă care închide peste linia superioară. Autorul mai adaugă +un pas: te uiți dacă în capul triunghiului apare un trigger din sistemul +cursului (buy doji, buy momentum, buy hammer, bull engulfing) și dacă zona e +și un suport, un pivot sau o medie mobilă importantă.

+ +

+ Wedge descendent — bull + + wedge descendent = consolidare contra-trend (17 bare) + + SL 46.70 + + intrare 48.10 + + TP1 52.10 = 2.9R + + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + trend ascendent anterior + picior 1 + picior 2 (mai jos) + hammer in capul triunghiului + breakout cu volum + + + stopul sta sub low-ul candelei de breakout: + daca pretul se intoarce in triunghi, ideea a murit + Exemplu construit (fără ticker), la scară: lecția nu rostește nicio cifră. Regula de măsurare e a cursului. + + + + + + baza = 4.00 + aceeasi 4.00 +

+

Măsurarea, cuvânt cu cuvânt din curs: „dacă măsori distanța de aici +aproximativ, acesta este și target-ul de profit". Distanța e deschiderea +triunghiului — segmentul vertical dintre cele două laturi, la prima bară a +formațiunii. În exemplul de sus: 52.00 − 48.00 = 4.00. Breakout-ul închide la +48.10, deci TP1 = 48.10 + 4.00 = 52.10.

+

Trade-ul complet, pe cifrele diagramei (toate ale mele):

+
    +
  • intrare 48.10 — close-ul candelei de breakout, prima care închide peste + linia superioară;
  • +
  • stop 46.70 — sub low-ul candelei de breakout (46.85). Motivul: dacă + prețul se întoarce în triunghi, breakout-ul a fost fals și ideea a murit. + Riscul e 1.40;
  • +
  • TP1 52.10 — 4.00 deasupra intrării, adică 2.9R.
  • +
+

Varianta mai largă de stop, la 45.50 (sub minimul din capul triunghiului, +45.75), dă un risc de 2.60 și același target — 1.5R. Completare proprie: lecția nu dă o +regulă de stop pentru wedge, doar pentru marubozu; aleg stopul sub candela de +breakout pentru că e singurul nivel care are o semnificație („am revenit în +consolidare"), iar la 2.9R rămâne spațiu de greșeală.

+

De ce se rupe, mecanic

+

Mecanismul de bid/ask e explicat o dată, în +partea a 2-a; aici +doar îl aplic pe forma asta.

+

Fiecare picior în jos al triunghiului e o încercare a vânzătorilor de a +coborî prețul. Convergența spune ceva măsurabil: al doilea picior (46.65) e +cu 0.90 mai jos decât primul (47.55), dar al doilea maxim (50.20) e cu 1.80 +sub primul (52.00). Vânzătorii obțin din ce în ce mai puțin pentru același +efort — ca să execute o vânzare acum, trebuie să accepte bid-ul, și bid-urile +nu se mai retrag. Când ultimul vânzător dispus să dea mai jos e executat, +singurul mod de a mai tranzacționa e la ask, iar ask-ul urcă.

+

Peste asta se adaugă ceva pur mecanic: stopurile celor care au vândut în +triunghi stau deasupra liniei superioare. Un stop de short e un ordin de +cumpărare. Cu cât consolidarea a durat mai mult, cu atât s-au adunat mai +multe acolo, iar distanța de preț pe care trebuie să o parcurgă prețul ca să +le declanșeze pe toate e mai mică — pentru că laturile s-au apropiat. De +aceea afirmația autorului „cu cât mai lungă este zona de consolidare, mai +ales wedge pattern-ul, cu atât mai violent va fi breakout-ul" nu e o vorbă +goală.

+

Trigger DA / trigger NU

+

Autorul insistă să te uiți ce trigger apare în capul triunghiului și +semnalează, pe un grafic de NASDAQ, un caz în care triggerul nu a apărut, +deși arăta aproape identic: „a avut o tentativă de buy doji aici, de fapt a +dat un buy doji, nici nu l-a dat buy doji, mare atenție pentru că această +candelă nu s-a închis sub haiu candelui de aici, a fost un buy hammer" [sic — +„haiu" = high-ul]. Adică bara de după doji a urcat, dar nu a închis dincolo +de high-ul doji-ului, deci triggerul de buy doji nu s-a validat; a rămas doar +un buy hammer, care „probabil că-ți făcea un pic de profit", nu trade-ul +întreg.

+

Regula exactă de validare nu e dată în lecția asta — e cea din capitolul +Buy Doji: închidere peste high-ul doji-ului +(în oglindă, sell doji = închidere sub low-ul lui). Așa arată diferența:

+ +

+ Trigger DA: buy doji confirmat + + high-ul doji: 50.30 + + close urmator: 50.60 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + doji: corp foarte mic + + + a inchis PESTE high-ul doji-ului: + trigger valid + Exemplu construit (fără ticker). Regula de trigger e cea din capitolul Buy Doji, nu din lecția asta. +

+ +

+ Trigger NU: doar buy hammer + + high-ul doji: 50.30 + + close urmator: 50.10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + doji: corp foarte mic + + + a urcat, dar a inchis SUB high-ul doji-ului: + nu e trigger, e doar un buy hammer + Exemplu construit (fără ticker). Regula de trigger e cea din capitolul Buy Doji, nu din lecția asta. +

+

Un doji e o candelă cu corp aproape inexistent (aici 0.05 din 1.10 de +înălțime, sub 10%): cumpărătorii și vânzătorii au ajuns la egalitate. Un +hammer are corpul mic sus și fitilul lung în jos — prețul a căzut în +timpul barei și a fost împins înapoi. Ambele spun „jos e cerere"; numai +primul, confirmat de închiderea de deasupra, e un trigger.

+

Treci mai departe doar dacă o candelă a închis peste linia superioară +și ai un trigger în capul triunghiului. O bară care doar depășește linia +intraday și închide înapoi sub ea nu e breakout.

+
+

2. Wedge ascendent (rising wedge) — bear

+

Aceeași geometrie, întoarsă: un triunghi cu vârful în sus, în care +minimele urcă mai repede decât maximele. Autorul îl prezintă ca varianta +bear a lecției și punctează diferența de rol față de wedge-ul descendent: +„de data asta pattern-ul acesta îmi semnifică o schimbare de trend și nu o +continuare de trend".

+

2a. După un uptrend: schimbare de trend

+ +

+ Wedge ascendent — bear + + wedge ascendent in uptrend = SCHIMBARE de trend (15 bare) + + SL 49.40 = open-ul marubozului + + intrare short 48.85 + + TP1 45.30 = 6.5R + + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + trend ascendent anterior + minim 1 + minim 2 (mai sus) + breakdown + Exemplu construit (fără ticker), la scară: lecția nu rostește nicio cifră. Regula de măsurare e a cursului. + + + + + baza = 3.00 +

+

Baza triunghiului e 48.00 − 45.00 = 3.00. Candela de breakdown închide la +48.30, deci TP1 = 48.30 − 3.00 = 45.30 — aceeași regulă, cu semn schimbat.

+

Diagrama folosește și execuția pe care autorul o repetă în toată lecția: +candela de breakdown e un marubozu (corp mare, fitile aproape +inexistente — „marabuzul" în transcriere), și intrarea se face la +jumătatea corpului, nu la close.

+
    +
  • marubozu 49.40 → 48.30, jumătatea corpului = 48.85;
  • +
  • intrare short 48.85, cu limit order, dacă prețul se întoarce până acolo;
  • +
  • stop 49.40 — open-ul marubozului. Cuvintele autorului: „stoplossul în + cazul ăsta este la open-ul candelii". Riscul e 0.55;
  • +
  • TP1 45.30 → 6.5R.
  • +
+

Dacă intri direct pe breakdown, la 48.30, cu același stop, riscul e 1.10 și +aceeași țintă dă 2.7R. Asta e exact argumentul autorului: „una este să intru +short jos aici cu stoplossul sus aici, alta este să aștept la jumătatea +candelii să fac short cu stoplossul sus aici. Adică stoplossul meu e mult mai +mic". Cu aceeași idee și aceeași țintă, răbdarea de câteva bare dublează de +două ori R-ul.

+

2b. După un downtrend: continuare de trend

+

Aici e capcana lecției. Autorul arată Dow Jones futures pe 4 ore și spune: +„de data asta venim din downtrend, atenție, deci poate să fie și am vrut să +vezi și un exemplu din downtrend, deci vin din downtrend și este pattern de +data asta de continuare trend". Desenul e identic cu cel de sus — ce diferă e +doar ce s-a întâmplat înainte.

+ +

+ Wedge ascendent, continuare + + acelasi wedge ascendent, dar in downtrend = CONTINUARE + + TP1 49.20 + + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + trend DESCENDENT anterior + minim 1 + minim 2 (mai sus) + breakdown + Exemplu construit (fără ticker), la scară: lecția nu rostește nicio cifră. Regula de măsurare e a cursului. + + + + + + baza = 2.50 + aceeasi 2.50 +

+

Baza e 51.50 − 49.00 = 2.50, breakdown-ul închide la 51.70, deci TP1 = +51.70 − 2.50 = 49.20. Direcția trade-ului e aceeași (short); se schimbă doar +ce te aștepți să urmeze: o reluare a downtrendului, nu începutul unuia.

+

Simetric, wedge-ul descendent nu e doar continuare: autorul îl arată și +pe Boeing monthly după un downtrend și un head & shoulders normal, și pe +sectorul financiar (XLF) ca „un wedge pattern descendent care este bull", +ieșit dintr-un double sau triple bottom. Formularea explicită „poate să fie +și continuare și schimbare" o dă doar pentru varianta ascendentă, dar +graficele arată ambele roluri la ambele forme.

+

Treci mai departe doar dacă știi din ce trend vine formațiunea. Fără +răspunsul ăla, știi direcția trade-ului, dar nu știi dacă să ținești pe trail +(continuare) sau să iei ținta și să ieși (schimbare de trend, unde a doua +mișcare e adesea o reconstrucție lentă).

+
+

3. Wedge sau flag? Criteriul e geometric

+

Întrebarea a venit de la cursanți și autorul îi dedică un bloc întreg. Textul +lui: „în general, bull flag-ul este o formațiune de tip dreptunghi. Wedge +pattern-ul este o formațiune de tip triunghi. Adică cele două laturi la wedge +pattern, cumva, undeva în viitor, se întretaie". Și, pentru flag: „un bull +flag este un canal drept... cele două linii sunt paralele, nu există un +triunghi aici".

+ +

+ Wedge sau flag? + + laturile converg = WEDGE (triunghi) + + laturile sunt paralele = FLAG (dreptunghi) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Exemplu construit (fără ticker). Dacă prelungite laturile se întretaie, e wedge; dacă rămân paralele, e flag. + + + + + + + + se intretaie + nu se intretaie +

+

Testul practic: prelungești ambele linii spre dreapta. Dacă se întâlnesc, e +wedge; dacă nu, e flag. Autorul recunoaște că le tratează adesea împreună +(„de asta uneori o să mă auziți vorbind bull flag wedge pattern, le mai pun +la pachet"), dar le separă aici pentru că ținta se calculează diferit: la +wedge ai o singură grosime de referință, baza triunghiului; la flag ai două, +canalul și bățul.

+
+

4. Bull flag = ABCD în long — continuare de trend

+

Ce e. Un băț (flagpole) — o mișcare rapidă, într-o singură direcție — +urmat de o flamură: un canal îngust, cu laturi paralele, înclinat ușor +împotriva mișcării. Autorul spune explicit că bull flag-ul și ABCD pattern-ul +în long „reprezintă unul și același pattern", și că flamura e, structural, +„partea din dreapta unui head and shoulders răsturnat".

+ +

+ Bull flag = ABCD long + + flamura (12 bare) + + SL 36.00 + + intrare 37.80 + + TP1 40.80 = canalul = 1.7R + + TP2 47.80 = batul steagului = 5.6R + + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + A + B + C = aici era by the dip + breakout cu volum + Exemplu construit (fără ticker), la scară: lecția nu rostește nicio cifră. Regula de măsurare e a cursului. + + + + + + canal 3.00 + batul = 10.00 +

+

Literele ABCD de pe desen sunt notația autorului: A e baza bățului, B +vârful lui, C capătul consolidării contra-trend, D ținta.

+

Cele două ținte. Asta e partea nouă:

+
    +
  1. TP1 = înălțimea canalului, adăugată la breakout. Pe diagramă: canalul + are 3.00, breakout-ul închide la 37.80, deci 40.80. Autorul recomandă + varianta asta pentru început — „în prima fază v-aș recomanda să aveți un + target de profit legat să fie egal cu înălțimea acestei consolidări".
  2. +
  3. TP2 = înălțimea bățului, adăugată la breakout. Băț = 40.00 − 30.00 = + 10.00, deci 47.80. Despre varianta asta spune: „o să vedeți în diverse + materiale că, la bull flag, se mai spune că targetul de profit poate să + fie egal și cu distanța de aici... bățul steagului" — dar o temperează cu + „stați cu picioarele pe pământ și să nu alergați după cai verzi pe pereți".
  4. +
+

Trade-ul complet, pe cifrele diagramei: intrare 37.80 (close-ul candelei +de breakout), stop 36.00 (sub low-ul acelei candele, 36.15), risc 1.80, TP1 +40.80 = 1.7R, TP2 47.80 = 5.6R. Diferența dintre 1.7R și 5.6R e exact ce +descrie autorul când spune că uneori prețul face targetul „de 3-4-5 ori" — +ceea ce înseamnă, practic, că aici îți lași o parte din poziție pe trail în +loc să ieși tot la TP1.

+

Unde e „by the dip". Autorul numește bull flag-ul, la finalul lecției, +exact așa: „bull flag-ul este by the dip" [sic — buy the dip]. Pe diagramă e +punctul C, minimul 34.75, a doua atingere a laturii inferioare. Autorul +arată pe un ETF un caz în care aceeași linie a fost testată de cinci ori, cu +un hammer la fiecare atingere, și spune că acolo „un resistance anterior +devine support". Completare proprie: o intrare pe bara de după C (close +35.60) cu stop la 34.50, sub minimul canalului, dă un risc de 1.10 pentru +aceeași țintă de 40.80 — 4.7R în loc de 1.7R, dar cu riscul real că prețul +rupe canalul în jos și breakout-ul nu mai vine. Lecția nu +dă o regulă pentru intrarea pe dip; o menționez ca alternativă, nu ca +procedură.

+

Volumul. În lecție, volumul apare o singură dată, ca întrebare lăsată +deschisă: autorul arată două consolidări aproape identice și spune că una era +bull și una bear, iar „ca să vă răspund la nivel de volum" — după care amână +răspunsul la o sesiune de Q&A. Completare proprie: pe diagrame am desenat +ce e standard pentru pattern — volum mare pe băț, volum care se subțiază în +flamură, spike pe candela de breakout. Un breakout cu volum mai mic decât +media consolidării e motivul clasic de fals breakout.

+

Treci mai departe doar dacă o candelă a închis peste latura superioară a +canalului și ai măsurat ambele distanțe (canal și băț) înainte de intrare — +nu după, când ești deja în poziție și negociezi cu tine.

+
+

5. Bear flag = ABCD în short — continuare de trend

+

Oglinda completă, nu „e invers". Băț în jos, flamură care urcă ușor — +autorul o descrie ca „un steag întors, adică ăsta este bățul steagului și +flamura este în partea de jos". Consolidarea e un rally: o urcare +contra-trend într-un downtrend.

+ +

+ Bear flag = ABCD short + + flamura (12 bare) + + SL 54.00 + + intrare short 52.40 + + TP1 49.40 = canalul = 1.9R + + TP2 42.40 = batul steagului = 6.2R + + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + A + B + C = aici era sell the rally + breakdown cu volum + Exemplu construit (fără ticker), la scară: lecția nu rostește nicio cifră. Regula de măsurare e a cursului. + + + + + + canal 3.00 + batul = 10.00 +

+

Aceleași două ținte, cu semn schimbat: canalul are 3.00, bățul 10.00, +breakdown-ul închide la 52.40 → TP1 = 49.40, TP2 = 42.40. Stopul la 54.00, +peste high-ul candelei de breakdown (53.85), dă un risc de 1.60, deci 1.9R la +TP1 și 6.2R la TP2.

+

Unde e „sell the rally". Punctul C, maximul 55.25, pe latura +superioară a canalului. Autorul pune numele pe el la finalul lecției: „dacă +sunt în bear caut wedge pattern-uri ca să fac short pe, cum numesc eu, sell +the rally".

+

Autorul arată bear flag-uri pe NASDAQ futures (15 minute), Dow futures (60 de +minute — „unu, două, trei, patru, cinci" consecutive), Apple (4 ore), SPY (5 +minute), aur și petrol (60 de minute), și punctează că în cădere apar în +serie: fiecare flamură e o pauză, nu o întoarcere.

+
+

6. Marubozul retestat la jumătate — strategia de execuție

+

Asta e singura procedură cu cifre proprii din lecție, și autorul o repetă pe +cinci simboluri. Un marubozu e o candelă cu corp mare și fitile aproape +inexistente: prețul a deschis la un capăt, a închis la celălalt, și nu s-a +întors pe drum. În lecție apare mereu ca candela care face breakout-ul sau +breakdown-ul dintr-un wedge sau flag.

+

Ideea: nu intri la close-ul ei, pentru că stopul ar trebui pus dincolo de tot +corpul. Pui un limit order la jumătatea corpului și, dacă prețul se +întoarce acolo, intri cu un stop mult mai mic — „la open-ul candelii".

+ +

+ DA: marubozul retestează jumătatea — intri cu limit order la 68.00 — exemplu construit + + marubozu + retest + + SL 70.00 = open-ul marubozului + + jumatatea corpului 68.00 + + close-ul marubozului 66.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + marubozu de breakdown + + + retest exact la jumatatea corpului: + aici se umple short-ul + Short limit la jumătatea corpului, stop la open. Risc 2.00, nu 4.00. Exemplu construit. +

+

Pe exemplul de sus: marubozu de la 70.00 la 66.00, jumătatea corpului 68.00. +Short la 68.00 cu stop la 70.00 = risc 2.00. Short la close, 66.00, cu +același stop = risc 4.00. Aceeași țintă, jumătate de risc, deci dublu R.

+

Și când nu retestează

+

Autorul e explicit că nu funcționează mereu: „nu de fiecare dată atenție +testează marabuzul la jumătate, de exemplu aici n-a testat, aici n-a testat".

+ +

+ NU: retestul se oprește sub jumătate — limit order-ul nu se umple — exemplu construit + + marubozu + retest + + SL 70.00 = open-ul marubozului + + jumatatea corpului 68.00 + + close-ul marubozului 66.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + marubozu de breakdown + + + retestul se opreste la 67.30: + limit order-ul nu se umple + Retestul urcă doar până la 67.30: limit order-ul de la 68.00 rămâne neumplut. Exemplu construit. +

+

Aici retestul se oprește la 67.30, sub jumătate: limit order-ul de la 68.00 +nu se umple niciodată și tranzacția nu există. Soluția autorului e împărțirea +poziției: „pe strategia de marabuzul ați putea să intrați cu unul pă doi sus +aici în break-out și unul pă doi aici jos" [sic] — jumătate de poziție pe +breakout, jumătate cu limit la jumătatea corpului. Dacă retestul vine, ai +ambele; dacă nu, ai măcar una.

+

A treia variantă, pe care autorul o semnalează de două ori: retestul trece +peste jumătate („retestată mai sus de jumătate", „puțin mai sus decât +jumătatea candelei") și tranzacția rămâne valabilă, pentru că stopul e la +open, nu la jumătate. Jumătatea e locul unde intri; open-ul e locul unde ideea +moare. Nu le confunda.

+

Treci mai departe doar dacă știi deja unde e open-ul candelei și cât e +distanța până la el. Ăla e tot riscul tău, și se calculează înainte de a pune +ordinul, nu după ce s-a umplut.

+
+

7. Ce pattern cauți depinde de unde e piața

+

Lecția începe și se termină cu aceeași idee, și e mai importantă decât oricare +dintre forme: patternurile nu apar oricând. Autorul: „dacă ești la bottom, +într-o zonă de bottom, pe tine te interesează să folosești strategii de pick +bottom și vei căuta pattern-uri de schimbare trend, nu de continuare trend".

+ +

+ Ce pattern cauti, in functie de unde e piata + + bottom + + trend bull + + top + + trend bear + + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cauti SCHIMBARE de trend + cauti CONTINUARE: bull flag, wedge descendent + cauti SCHIMBARE: wedge ascendent, triple top + cauti CONTINUARE in bear: bear flag + Exemplu construit (fără ticker). La bottom cauți reversal, în trend cauți continuare. +

+

Harta, așa cum o dă el:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Unde e piațaCe cauțiPatternurile
zonă de bottomschimbare de trendtriple bottom, head & shoulders inversat, rounding bottom
trend bull deja pornitcontinuare de trendbull flag (buy the dip), wedge descendent
zonă de topschimbare de trendwedge ascendent, triple top, head & shoulders
trend bearcontinuare de trendbear flag, wedge ascendent (sell the rally)
+

De aici și insistența pe market sentiment cu care deschide lecția: +instrumentul care îți spune în care rând din tabel ești. Fără el, știi forme +pe care le cauți în locul greșit — „de asta mulți nu reușesc să +transacționeze cu succes, fiindcă știu unul sau două sau trei patternuri și +au senzația că acele patternuri funcționează de fiecare dată".

+

Autorul mai anunță un material separat despre gap-uri („3 method gap"), +pe care le descrie ca „un magnet pentru preț", și spune că partea a cincea +urmează.

+
+

Mini-glosar

+
    +
  • wedge (descendent / ascendent) — consolidare între două linii de trend + care converg. Descendent (ambele coboară) = bull; ascendent (ambele + urcă) = bear. Vezi diagrama de la secțiunea 1 și 2a.
  • +
  • flag (bull / bear) — consolidare între două linii de trend + paralele, înclinată împotriva trendului. Vezi secțiunea 4 și 5.
  • +
  • băț / flagpole — mișcarea rapidă dinaintea flamurii. Pe diagrama de la + secțiunea 4: 10.00, de la 30.00 la 40.00.
  • +
  • flamură — canalul de consolidare de după băț.
  • +
  • baza (deschiderea) triunghiului — segmentul vertical dintre laturile + wedge-ului, la prima bară a formațiunii. E grosimea care devine TP1.
  • +
  • ABCD pattern — notația autorului pentru același lucru: A baza mișcării, + B capătul ei, C capătul consolidării, D ținta. ABCD în long = bull flag, + ABCD în short = bear flag.
  • +
  • marubozu — candelă cu corp mare și fitile aproape inexistente. Vezi + secțiunea 6.
  • +
  • buy the dip („by the dip" în transcriere) — cumperi pe retragerea + dintr-un trend ascendent, pe latura inferioară a flag-ului.
  • +
  • sell the rally — shortezi pe urcarea contra-trend dintr-un downtrend, + pe latura superioară a bear flag-ului.
  • +
  • fals breakout — o bară care depășește linia intraday dar închide + înapoi în formațiune. Nu e trigger; vezi perechea DA/NU de la secțiunea 1.
  • +
  • trail — stop care urcă (sau coboară) după preț, folosit în loc de + ieșire la TP1 când vrei să prinzi un TP2 de tipul bățului.
  • +
  • pattern de continuare / de schimbare de trend — primul prezice + reluarea trendului dinainte, al doilea întoarcerea lui. Vezi secțiunea 7.
  • +
+
+

Gotchas practice

+

Completare proprie, dar fiecare legat direct de ce arată lecția.

+
    +
  1. Nu desena linia după ce ai intrat. O linie oblică poate fi trasată prin + multe puncte, și tentația e să o înclini cât trebuie ca breakout-ul tău să + pară valid. Fixează-o pe primele două swing-uri și nu o mai atinge; dacă + al treilea swing nu o respectă, nu ai pattern.
  2. +
  3. Grosimea se măsoară la deschiderea formațiunii, nu la vârf. Spre capul + triunghiului distanța dintre laturi tinde la zero; dacă măsori acolo, + ținta ta e cu câțiva cenți deasupra intrării. Autorul măsoară de fiecare + dată latura de la început.
  4. +
  5. „A închis dincolo de linie" nu e același lucru cu „a atins linia". + Perechea DA/NU de la secțiunea 1 e exact asta: aceeași formă, și într-un + caz ai trade, în celălalt nu. Un marubozu care rupe linia și apoi se + întoarce complet în formațiune e un fals breakout, nu o intrare mai bună.
  6. +
  7. Nu muta stopul de la open-ul marubozului la jumătatea lui. Jumătatea e + prețul de intrare; dacă pui stopul tot acolo, ai un stop de zero. Cele două + niveluri ale strategiei au roluri diferite, iar confuzia asta îți scoate + poziția pe primul fitil.
  8. +
+
+

Ce e al cursului și ce e al meu

+

Al cursului: toate formele (wedge descendent și ascendent, bull flag, +bear flag, ABCD), regula de măsurare (grosimea formațiunii adăugată la +breakout), varianta de țintă egală cu bățul steagului plus recomandarea de a +lua mai întâi varianta conservatoare, criteriul geometric wedge vs flag, +strategia marubozului retestat la jumătate cu stopul la open, împărțirea +poziției în două tranșe, legătura dintre rolul patternului și trendul +anterior, harta „ce cauți în funcție de unde e piața", observația că o +consolidare mai lungă dă un breakout mai violent, și toate citatele.

+

Al meu: toate prețurile și toate valorile de R — lecția nu rostește +nicio cifră de preț, așa că fiecare serie de pe diagrame e construită de mine +la scară; regulile de stop pentru wedge și flag (lecția dă regula de stop doar +pentru marubozu); mecanismul de bid/ask aplicat pe wedge; profilul de volum de +pe diagrame; comparația numerică între intrarea pe breakout și cea la +jumătatea marubozului; alternativa de intrare pe dip de la punctul C; și +secțiunea de gotchas. Regula de validare a triggerului de buy doji vine din +capitolul de strategie, nu din lecția asta.

+
+

Referințe

+ + + diff --git a/summaries/06_MODUL_5/03_patternuri_complexe_partea_a_patra.md b/summaries/06_MODUL_5/03_patternuri_complexe_partea_a_patra.md new file mode 100644 index 0000000..c881225 --- /dev/null +++ b/summaries/06_MODUL_5/03_patternuri_complexe_partea_a_patra.md @@ -0,0 +1,1612 @@ +# Modul 5 / #3 — Patternuri complexe (partea 4): wedge descendent, wedge ascendent, bull flag, bear flag + +## TLDR +Patru patternuri, toate de **consolidare contra-trend**: prețul se oprește, se +mișcă o vreme împotriva trendului mare, apoi rupe formațiunea și pleacă. +Regula de măsurare e aceeași la toate: **iei grosimea formațiunii la +deschiderea ei și o adaugi la close-ul candelei care face breakout**. Ce le +deosebește e forma — la **wedge** laturile converg (triunghi), la **flag** +rămân paralele (dreptunghi) — și direcția: wedge-ul **descendent** e bull, +wedge-ul **ascendent** e bear, bull flag-ul e bull, bear flag-ul e bear. + +Lecția mai adaugă două lucruri care nu sunt despre forme: **strategia +marubozului retestat la jumătate** (intri cu limit order la jumătatea +corpului, stopul stă la open-ul candelei) și ideea că **rolul unui pattern +depinde de trendul din care vine** — același wedge ascendent e schimbare de +trend după un uptrend și continuare de trend după un downtrend. + +## Ce e nou față de părțile 2 și 3 +[Partea a 2-a](../05_MODUL_4/01_patternuri_complexe_partea_a_doua.md) a tratat +Head & Shoulders (normal și inversat) și mecanismul de bid/ask care explică de +ce funcționează un pattern. [Partea a +3-a](02_patternuri_complexe_partea_a_treia.md) a tratat triple bottom, +rounding bottom, triple top și cup with handle, cu limita de 50% a mânerului. +Nimic din alea nu se repetă aici — mecanismul de bază e scris o dată, acolo, +și se aplică identic. + +Ce aduce lecția asta, în plus: + +- **Primele patternuri cu două linii de trend înclinate.** Până acum nivelul + care se rupea era orizontal (neckline, suport testat de trei ori, buza + ceștii). Aici se rupe o **linie oblică**, deci „unde e nivelul" depinde de + bara la care te uiți. +- **Un pattern a cărui formă nu-ți spune direcția.** Un triple top e short și + un triple bottom e long, oricând. Un wedge ascendent e short dacă vine + dintr-un uptrend, dar e tot short și dacă vine dintr-un downtrend — numai + că în primul caz e schimbare de trend, în al doilea continuare. Rolul se + citește din context, nu din desen. +- **Un criteriu de clasificare explicit**, cerut de cursanți: wedge sau flag? + Răspunsul autorului e geometric — laturile converg sau sunt paralele. +- **Două ținte pentru același pattern** la flag: înălțimea canalului + (conservator) sau înălțimea bățului steagului (ambițios). +- **O strategie de execuție, nu doar de identificare:** marubozul retestat la + jumătate, cu stopul la open-ul candelei. Autorul o numește „o strategie în + sine" și o repetă pe cinci simboluri diferite. +- **Patternurile ca set, nu ca listă.** Lecția nu arată niciun pattern + singur: fiecare wedge sau flag apare lângă un head & shoulders, un double + bottom sau un triple bottom, iar autorul insistă că momentul din piață + decide care dintre ele e util. + +Cursul deschide lecția, ca pe celelalte din serie, cu citatul lui Edwin +Lefèvre din *Reminiscences of a Stock Operator* — „nu există nimic nou pe +Wall Street" — și repetă că patternurile sunt **litera M** din acronimul +cursului: setup-ul, nu tot trade-ul. + +**Pe ce timeframe?** Pe oricare, și autorul o demonstrează în aceeași lecție: +monthly (Boeing), weekly (AMAT, S&P futures), daily (XLF, Tesla, QQQ, XRT, +Apple), 4 ore (NVDA, Microsoft, SPY, NASDAQ futures, Dow futures), 60 de +minute (GBP/USD, aur, petrol), 15 minute (NASDAQ futures, aur) și 5 minute +(SPY, „pentru day traders și scalpers"). Spune explicit că merge pe acțiuni, +ETF-uri, futures, forex, crypto, commodities și opțiuni, inclusiv pe conturi +de prop. + +**Cum citești diagramele.** Toate graficele din fișier sunt serii continue de +15-44 de bare, construite de mine la scară, cu panou de volum dedesubt și +media mobilă simplă pe 20 de bare (**SMA-20**) ca linie gri punctată. Lecția +arată patternurile pe grafice reale din TradeStation, dar **nu rostește +nicio cifră de preț** — nici una singură, pe tot materialul. Deci diagramele +nu poartă ticker: titlul lor spune „exemplu construit". Toate prețurile din +fișier sunt ale mele; ale cursului sunt doar **regulile** de măsurare și de +stop. Singurele cifre pe care le rostește autorul sunt numărători (cinci +săptămâni consecutive de scădere pe S&P, cinci bear flag-uri consecutive pe +Dow, linia inferioară testată de cinci ori pe un ETF), raportul Pareto 20/80 +și împărțirea poziției „unul pă doi" [sic] — adică în două tranșe. + +--- + +## 1. Wedge descendent (falling wedge) — bull, continuare de trend + +**Ce e.** Un triunghi cu vârful în jos, format din swing high-uri și swing +low-uri care coboară amândouă, dar **maximele coboară mai repede decât +minimele** — de aici convergența. Un *swing high* e un maxim local (o bară cu +maxime mai mici în stânga și în dreapta), un *swing low* e un minim local; +sunt definite cu diagramă în +[partea 1](../04_MODUL_3/02_patternuri_complexe_partea_1.md). + +**De ce te interesează.** Îți dă un loc unde poți cumpăra *în* trend, după ce +trendul a făcut deja o bucată bună de drum, fără să alergi după preț. Decizia +concretă pe care o iei: „nu vând, ăsta e un pullback, nu o întoarcere" — plus +„aici am voie să adaug", pentru că știi deja unde e stopul (sub triunghi) și +cât poți scoate (grosimea bazei). + +**Ce faci când îl vezi.** Nu intri. Desenezi cele două linii, măsori baza, și +aștepți o candelă care **închide peste linia superioară**. Autorul mai adaugă +un pas: te uiți dacă în capul triunghiului apare un trigger din sistemul +cursului (buy doji, buy momentum, buy hammer, bull engulfing) și dacă zona e +și un suport, un pivot sau o medie mobilă importantă. + + + + Wedge descendent — bull + + wedge descendent = consolidare contra-trend (17 bare) + + SL 46.70 + + intrare 48.10 + + TP1 52.10 = 2.9R + + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + trend ascendent anterior + picior 1 + picior 2 (mai jos) + hammer in capul triunghiului + breakout cu volum + + + stopul sta sub low-ul candelei de breakout: + daca pretul se intoarce in triunghi, ideea a murit + Exemplu construit (fără ticker), la scară: lecția nu rostește nicio cifră. Regula de măsurare e a cursului. + + + + + + baza = 4.00 + aceeasi 4.00 + + +**Măsurarea, cuvânt cu cuvânt din curs:** „dacă măsori distanța de aici +aproximativ, acesta este și target-ul de profit". Distanța e **deschiderea +triunghiului** — segmentul vertical dintre cele două laturi, la prima bară a +formațiunii. În exemplul de sus: 52.00 − 48.00 = 4.00. Breakout-ul închide la +48.10, deci TP1 = 48.10 + 4.00 = 52.10. + +**Trade-ul complet, pe cifrele diagramei** (toate ale mele): + +- **intrare 48.10** — close-ul candelei de breakout, prima care închide peste + linia superioară; +- **stop 46.70** — sub low-ul candelei de breakout (46.85). Motivul: dacă + prețul se întoarce *în* triunghi, breakout-ul a fost fals și ideea a murit. + Riscul e 1.40; +- **TP1 52.10** — 4.00 deasupra intrării, adică 2.9R. + +Varianta mai largă de stop, la 45.50 (sub minimul din capul triunghiului, +45.75), dă un risc de 2.60 și același target — 1.5R. **Completare proprie:** lecția nu dă o +regulă de stop pentru wedge, doar pentru marubozu; aleg stopul sub candela de +breakout pentru că e singurul nivel care are o semnificație („am revenit în +consolidare"), iar la 2.9R rămâne spațiu de greșeală. + +### De ce se rupe, mecanic +Mecanismul de bid/ask e explicat o dată, în +[partea a 2-a](../05_MODUL_4/01_patternuri_complexe_partea_a_doua.md); aici +doar îl aplic pe forma asta. + +Fiecare picior în jos al triunghiului e o încercare a vânzătorilor de a +coborî prețul. Convergența spune ceva măsurabil: al doilea picior (46.65) e +cu 0.90 mai jos decât primul (47.55), dar al doilea maxim (50.20) e cu 1.80 +sub primul (52.00). Vânzătorii obțin din ce în ce mai puțin pentru același +efort — ca să execute o vânzare *acum*, trebuie să accepte bid-ul, și bid-urile +nu se mai retrag. Când ultimul vânzător dispus să dea mai jos e executat, +singurul mod de a mai tranzacționa e la ask, iar ask-ul urcă. + +Peste asta se adaugă ceva pur mecanic: stopurile celor care au vândut în +triunghi stau **deasupra liniei superioare**. Un stop de short e un ordin de +cumpărare. Cu cât consolidarea a durat mai mult, cu atât s-au adunat mai +multe acolo, iar distanța de preț pe care trebuie să o parcurgă prețul ca să +le declanșeze pe toate e mai mică — pentru că laturile s-au apropiat. De +aceea afirmația autorului „cu cât mai lungă este zona de consolidare, mai +ales wedge pattern-ul, cu atât mai violent va fi breakout-ul" nu e o vorbă +goală. + +### Trigger DA / trigger NU +Autorul insistă să te uiți ce trigger apare în capul triunghiului și +semnalează, pe un grafic de NASDAQ, un caz în care triggerul **nu** a apărut, +deși arăta aproape identic: „a avut o tentativă de buy doji aici, de fapt a +dat un buy doji, nici nu l-a dat buy doji, mare atenție pentru că această +candelă nu s-a închis sub haiu candelui de aici, a fost un buy hammer" [sic — +„haiu" = high-ul]. Adică bara de după doji a urcat, dar nu a închis dincolo +de high-ul doji-ului, deci triggerul de buy doji nu s-a validat; a rămas doar +un buy hammer, care „probabil că-ți făcea un pic de profit", nu trade-ul +întreg. + +Regula exactă de validare nu e dată în lecția asta — e cea din capitolul +[Buy Doji](../17_STRATEGII/01_buy_doji.md): închidere peste high-ul doji-ului +(în oglindă, sell doji = închidere sub low-ul lui). Așa arată diferența: + + + + Trigger DA: buy doji confirmat + + high-ul doji: 50.30 + + close urmator: 50.60 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + doji: corp foarte mic + + + a inchis PESTE high-ul doji-ului: + trigger valid + Exemplu construit (fără ticker). Regula de trigger e cea din capitolul Buy Doji, nu din lecția asta. + + + + + Trigger NU: doar buy hammer + + high-ul doji: 50.30 + + close urmator: 50.10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + doji: corp foarte mic + + + a urcat, dar a inchis SUB high-ul doji-ului: + nu e trigger, e doar un buy hammer + Exemplu construit (fără ticker). Regula de trigger e cea din capitolul Buy Doji, nu din lecția asta. + + +Un *doji* e o candelă cu corp aproape inexistent (aici 0.05 din 1.10 de +înălțime, sub 10%): cumpărătorii și vânzătorii au ajuns la egalitate. Un +*hammer* are corpul mic sus și fitilul lung în jos — prețul a căzut în +timpul barei și a fost împins înapoi. Ambele spun „jos e cerere"; numai +primul, confirmat de închiderea de deasupra, e un trigger. + +**Treci mai departe doar dacă** o candelă a închis peste linia superioară +*și* ai un trigger în capul triunghiului. O bară care doar depășește linia +intraday și închide înapoi sub ea nu e breakout. + +--- + +## 2. Wedge ascendent (rising wedge) — bear + +Aceeași geometrie, întoarsă: un triunghi cu vârful în sus, în care +**minimele urcă mai repede decât maximele**. Autorul îl prezintă ca varianta +bear a lecției și punctează diferența de rol față de wedge-ul descendent: +„de data asta pattern-ul acesta îmi semnifică o schimbare de trend și nu o +continuare de trend". + +### 2a. După un uptrend: schimbare de trend + + + Wedge ascendent — bear + + wedge ascendent in uptrend = SCHIMBARE de trend (15 bare) + + SL 49.40 = open-ul marubozului + + intrare short 48.85 + + TP1 45.30 = 6.5R + + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + trend ascendent anterior + minim 1 + minim 2 (mai sus) + breakdown + Exemplu construit (fără ticker), la scară: lecția nu rostește nicio cifră. Regula de măsurare e a cursului. + + + + + baza = 3.00 + + +Baza triunghiului e 48.00 − 45.00 = 3.00. Candela de breakdown închide la +48.30, deci TP1 = 48.30 − 3.00 = 45.30 — aceeași regulă, cu semn schimbat. + +Diagrama folosește și execuția pe care autorul o repetă în toată lecția: +candela de breakdown e un **marubozu** (corp mare, fitile aproape +inexistente — „marabuzul" în transcriere), și intrarea se face la +**jumătatea corpului**, nu la close. + +- **marubozu 49.40 → 48.30**, jumătatea corpului = 48.85; +- **intrare short 48.85**, cu limit order, dacă prețul se întoarce până acolo; +- **stop 49.40** — open-ul marubozului. Cuvintele autorului: „stoplossul în + cazul ăsta este la open-ul candelii". Riscul e 0.55; +- **TP1 45.30** → 6.5R. + +Dacă intri direct pe breakdown, la 48.30, cu același stop, riscul e 1.10 și +aceeași țintă dă 2.7R. Asta e exact argumentul autorului: „una este să intru +short jos aici cu stoplossul sus aici, alta este să aștept la jumătatea +candelii să fac short cu stoplossul sus aici. Adică stoplossul meu e mult mai +mic". Cu aceeași idee și aceeași țintă, răbdarea de câteva bare dublează de +două ori R-ul. + +### 2b. După un downtrend: continuare de trend +Aici e capcana lecției. Autorul arată Dow Jones futures pe 4 ore și spune: +„de data asta venim din downtrend, atenție, deci poate să fie și am vrut să +vezi și un exemplu din downtrend, deci vin din downtrend și este pattern de +data asta de continuare trend". Desenul e identic cu cel de sus — ce diferă e +doar ce s-a întâmplat **înainte**. + + + + Wedge ascendent, continuare + + acelasi wedge ascendent, dar in downtrend = CONTINUARE + + TP1 49.20 + + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + trend DESCENDENT anterior + minim 1 + minim 2 (mai sus) + breakdown + Exemplu construit (fără ticker), la scară: lecția nu rostește nicio cifră. Regula de măsurare e a cursului. + + + + + + baza = 2.50 + aceeasi 2.50 + + +Baza e 51.50 − 49.00 = 2.50, breakdown-ul închide la 51.70, deci TP1 = +51.70 − 2.50 = 49.20. Direcția trade-ului e aceeași (short); se schimbă doar +ce te aștepți să urmeze: o reluare a downtrendului, nu începutul unuia. + +Simetric, **wedge-ul descendent** nu e doar continuare: autorul îl arată și +pe Boeing monthly după un downtrend și un head & shoulders normal, și pe +sectorul financiar (XLF) ca „un wedge pattern descendent care este bull", +ieșit dintr-un double sau triple bottom. Formularea explicită „poate să fie +și continuare și schimbare" o dă doar pentru varianta ascendentă, dar +graficele arată ambele roluri la ambele forme. + +**Treci mai departe doar dacă** știi din ce trend vine formațiunea. Fără +răspunsul ăla, știi direcția trade-ului, dar nu știi dacă să ținești pe trail +(continuare) sau să iei ținta și să ieși (schimbare de trend, unde a doua +mișcare e adesea o reconstrucție lentă). + +--- + +## 3. Wedge sau flag? Criteriul e geometric + +Întrebarea a venit de la cursanți și autorul îi dedică un bloc întreg. Textul +lui: „în general, bull flag-ul este o formațiune de tip dreptunghi. Wedge +pattern-ul este o formațiune de tip triunghi. Adică cele două laturi la wedge +pattern, cumva, undeva în viitor, se întretaie". Și, pentru flag: „un bull +flag este un canal drept... cele două linii sunt paralele, nu există un +triunghi aici". + + + + Wedge sau flag? + + laturile converg = WEDGE (triunghi) + + laturile sunt paralele = FLAG (dreptunghi) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Exemplu construit (fără ticker). Dacă prelungite laturile se întretaie, e wedge; dacă rămân paralele, e flag. + + + + + + + + se intretaie + nu se intretaie + + +Testul practic: prelungești ambele linii spre dreapta. Dacă se întâlnesc, e +wedge; dacă nu, e flag. Autorul recunoaște că le tratează adesea împreună +(„de asta uneori o să mă auziți vorbind bull flag wedge pattern, le mai pun +la pachet"), dar le separă aici pentru că **ținta se calculează diferit**: la +wedge ai o singură grosime de referință, baza triunghiului; la flag ai două, +canalul și bățul. + +--- + +## 4. Bull flag = ABCD în long — continuare de trend + +**Ce e.** Un *băț* (flagpole) — o mișcare rapidă, într-o singură direcție — +urmat de o *flamură*: un canal îngust, cu laturi paralele, înclinat ușor +împotriva mișcării. Autorul spune explicit că bull flag-ul și ABCD pattern-ul +în long „reprezintă unul și același pattern", și că flamura e, structural, +„partea din dreapta unui head and shoulders răsturnat". + + + + Bull flag = ABCD long + + flamura (12 bare) + + SL 36.00 + + intrare 37.80 + + TP1 40.80 = canalul = 1.7R + + TP2 47.80 = batul steagului = 5.6R + + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + A + B + C = aici era by the dip + breakout cu volum + Exemplu construit (fără ticker), la scară: lecția nu rostește nicio cifră. Regula de măsurare e a cursului. + + + + + + canal 3.00 + batul = 10.00 + + +Literele ABCD de pe desen sunt notația autorului: **A** e baza bățului, **B** +vârful lui, **C** capătul consolidării contra-trend, **D** ținta. + +**Cele două ținte.** Asta e partea nouă: + +1. **TP1 = înălțimea canalului**, adăugată la breakout. Pe diagramă: canalul + are 3.00, breakout-ul închide la 37.80, deci 40.80. Autorul recomandă + varianta asta pentru început — „în prima fază v-aș recomanda să aveți un + target de profit legat să fie egal cu înălțimea acestei consolidări". +2. **TP2 = înălțimea bățului**, adăugată la breakout. Băț = 40.00 − 30.00 = + 10.00, deci 47.80. Despre varianta asta spune: „o să vedeți în diverse + materiale că, la bull flag, se mai spune că targetul de profit poate să + fie egal și cu distanța de aici... bățul steagului" — dar o temperează cu + „stați cu picioarele pe pământ și să nu alergați după cai verzi pe pereți". + +**Trade-ul complet, pe cifrele diagramei:** intrare 37.80 (close-ul candelei +de breakout), stop 36.00 (sub low-ul acelei candele, 36.15), risc 1.80, TP1 +40.80 = 1.7R, TP2 47.80 = 5.6R. Diferența dintre 1.7R și 5.6R e exact ce +descrie autorul când spune că uneori prețul face targetul „de 3-4-5 ori" — +ceea ce înseamnă, practic, că aici îți lași o parte din poziție pe trail în +loc să ieși tot la TP1. + +**Unde e „by the dip".** Autorul numește bull flag-ul, la finalul lecției, +exact așa: „bull flag-ul este by the dip" [sic — buy the dip]. Pe diagramă e +punctul **C**, minimul 34.75, a doua atingere a laturii inferioare. Autorul +arată pe un ETF un caz în care aceeași linie a fost testată de cinci ori, cu +un hammer la fiecare atingere, și spune că acolo „un resistance anterior +devine support". **Completare proprie:** o intrare pe bara de după C (close +35.60) cu stop la 34.50, sub minimul canalului, dă un risc de 1.10 pentru +aceeași țintă de 40.80 — 4.7R în loc de 1.7R, dar cu riscul real că prețul +rupe canalul în jos și breakout-ul nu mai vine. Lecția nu +dă o regulă pentru intrarea pe dip; o menționez ca alternativă, nu ca +procedură. + +**Volumul.** În lecție, volumul apare o singură dată, ca întrebare lăsată +deschisă: autorul arată două consolidări aproape identice și spune că una era +bull și una bear, iar „ca să vă răspund la nivel de volum" — după care amână +răspunsul la o sesiune de Q&A. **Completare proprie:** pe diagrame am desenat +ce e standard pentru pattern — volum mare pe băț, volum care se subțiază în +flamură, spike pe candela de breakout. Un breakout cu volum mai mic decât +media consolidării e motivul clasic de fals breakout. + +**Treci mai departe doar dacă** o candelă a închis peste latura superioară a +canalului și ai măsurat ambele distanțe (canal și băț) *înainte* de intrare — +nu după, când ești deja în poziție și negociezi cu tine. + +--- + +## 5. Bear flag = ABCD în short — continuare de trend + +Oglinda completă, nu „e invers". Băț în jos, flamură care urcă ușor — +autorul o descrie ca „un steag întors, adică ăsta este bățul steagului și +flamura este în partea de jos". Consolidarea e un *rally*: o urcare +contra-trend într-un downtrend. + + + + Bear flag = ABCD short + + flamura (12 bare) + + SL 54.00 + + intrare short 52.40 + + TP1 49.40 = canalul = 1.9R + + TP2 42.40 = batul steagului = 6.2R + + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + A + B + C = aici era sell the rally + breakdown cu volum + Exemplu construit (fără ticker), la scară: lecția nu rostește nicio cifră. Regula de măsurare e a cursului. + + + + + + canal 3.00 + batul = 10.00 + + +Aceleași două ținte, cu semn schimbat: canalul are 3.00, bățul 10.00, +breakdown-ul închide la 52.40 → TP1 = 49.40, TP2 = 42.40. Stopul la 54.00, +peste high-ul candelei de breakdown (53.85), dă un risc de 1.60, deci 1.9R la +TP1 și 6.2R la TP2. + +**Unde e „sell the rally".** Punctul **C**, maximul 55.25, pe latura +superioară a canalului. Autorul pune numele pe el la finalul lecției: „dacă +sunt în bear caut wedge pattern-uri ca să fac short pe, cum numesc eu, sell +the rally". + +Autorul arată bear flag-uri pe NASDAQ futures (15 minute), Dow futures (60 de +minute — „unu, două, trei, patru, cinci" consecutive), Apple (4 ore), SPY (5 +minute), aur și petrol (60 de minute), și punctează că în cădere apar în +serie: fiecare flamură e o pauză, nu o întoarcere. + +--- + +## 6. Marubozul retestat la jumătate — strategia de execuție + +Asta e singura procedură cu cifre proprii din lecție, și autorul o repetă pe +cinci simboluri. Un *marubozu* e o candelă cu corp mare și fitile aproape +inexistente: prețul a deschis la un capăt, a închis la celălalt, și nu s-a +întors pe drum. În lecție apare mereu ca **candela care face breakout-ul sau +breakdown-ul** dintr-un wedge sau flag. + +Ideea: nu intri la close-ul ei, pentru că stopul ar trebui pus dincolo de tot +corpul. Pui un limit order la **jumătatea corpului** și, dacă prețul se +întoarce acolo, intri cu un stop mult mai mic — „la open-ul candelii". + + + + DA: marubozul retestează jumătatea — intri cu limit order la 68.00 — exemplu construit + + marubozu + retest + + SL 70.00 = open-ul marubozului + + jumatatea corpului 68.00 + + close-ul marubozului 66.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + marubozu de breakdown + + + retest exact la jumatatea corpului: + aici se umple short-ul + Short limit la jumătatea corpului, stop la open. Risc 2.00, nu 4.00. Exemplu construit. + + +Pe exemplul de sus: marubozu de la 70.00 la 66.00, jumătatea corpului 68.00. +Short la 68.00 cu stop la 70.00 = risc 2.00. Short la close, 66.00, cu +același stop = risc 4.00. Aceeași țintă, jumătate de risc, deci dublu R. + +### Și când nu retestează +Autorul e explicit că nu funcționează mereu: „nu de fiecare dată atenție +testează marabuzul la jumătate, de exemplu aici n-a testat, aici n-a testat". + + + + NU: retestul se oprește sub jumătate — limit order-ul nu se umple — exemplu construit + + marubozu + retest + + SL 70.00 = open-ul marubozului + + jumatatea corpului 68.00 + + close-ul marubozului 66.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + marubozu de breakdown + + + retestul se opreste la 67.30: + limit order-ul nu se umple + Retestul urcă doar până la 67.30: limit order-ul de la 68.00 rămâne neumplut. Exemplu construit. + + +Aici retestul se oprește la 67.30, sub jumătate: limit order-ul de la 68.00 +nu se umple niciodată și tranzacția nu există. Soluția autorului e împărțirea +poziției: „pe strategia de marabuzul ați putea să intrați cu unul pă doi sus +aici în break-out și unul pă doi aici jos" [sic] — jumătate de poziție pe +breakout, jumătate cu limit la jumătatea corpului. Dacă retestul vine, ai +ambele; dacă nu, ai măcar una. + +A treia variantă, pe care autorul o semnalează de două ori: retestul trece +**peste** jumătate („retestată mai sus de jumătate", „puțin mai sus decât +jumătatea candelei") și tranzacția rămâne valabilă, pentru că stopul e la +open, nu la jumătate. Jumătatea e locul unde intri; open-ul e locul unde ideea +moare. Nu le confunda. + +**Treci mai departe doar dacă** știi deja unde e open-ul candelei și cât e +distanța până la el. Ăla e tot riscul tău, și se calculează înainte de a pune +ordinul, nu după ce s-a umplut. + +--- + +## 7. Ce pattern cauți depinde de unde e piața + +Lecția începe și se termină cu aceeași idee, și e mai importantă decât oricare +dintre forme: patternurile nu apar oricând. Autorul: „dacă ești la bottom, +într-o zonă de bottom, pe tine te interesează să folosești strategii de pick +bottom și vei căuta pattern-uri de schimbare trend, nu de continuare trend". + + + + Ce pattern cauti, in functie de unde e piata + + bottom + + trend bull + + top + + trend bear + + SMA-20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + cauti SCHIMBARE de trend + cauti CONTINUARE: bull flag, wedge descendent + cauti SCHIMBARE: wedge ascendent, triple top + cauti CONTINUARE in bear: bear flag + Exemplu construit (fără ticker). La bottom cauți reversal, în trend cauți continuare. + + +Harta, așa cum o dă el: + +| Unde e piața | Ce cauți | Patternurile | +|---|---|---| +| zonă de bottom | schimbare de trend | triple bottom, head & shoulders inversat, rounding bottom | +| trend bull deja pornit | continuare de trend | bull flag (buy the dip), wedge descendent | +| zonă de top | schimbare de trend | wedge ascendent, triple top, head & shoulders | +| trend bear | continuare de trend | bear flag, wedge ascendent (sell the rally) | + +De aici și insistența pe **market sentiment** cu care deschide lecția: +instrumentul care îți spune în care rând din tabel ești. Fără el, știi forme +pe care le cauți în locul greșit — „de asta mulți nu reușesc să +transacționeze cu succes, fiindcă știu unul sau două sau trei patternuri și +au senzația că acele patternuri funcționează de fiecare dată". + +Autorul mai anunță un material separat despre **gap-uri** („3 method gap"), +pe care le descrie ca „un magnet pentru preț", și spune că partea a cincea +urmează. + +--- + +## Mini-glosar + +- **wedge (descendent / ascendent)** — consolidare între două linii de trend + care **converg**. Descendent (ambele coboară) = bull; ascendent (ambele + urcă) = bear. Vezi diagrama de la secțiunea 1 și 2a. +- **flag (bull / bear)** — consolidare între două linii de trend + **paralele**, înclinată împotriva trendului. Vezi secțiunea 4 și 5. +- **băț / flagpole** — mișcarea rapidă dinaintea flamurii. Pe diagrama de la + secțiunea 4: 10.00, de la 30.00 la 40.00. +- **flamură** — canalul de consolidare de după băț. +- **baza (deschiderea) triunghiului** — segmentul vertical dintre laturile + wedge-ului, la prima bară a formațiunii. E grosimea care devine TP1. +- **ABCD pattern** — notația autorului pentru același lucru: A baza mișcării, + B capătul ei, C capătul consolidării, D ținta. ABCD în long = bull flag, + ABCD în short = bear flag. +- **marubozu** — candelă cu corp mare și fitile aproape inexistente. Vezi + secțiunea 6. +- **buy the dip** („by the dip" în transcriere) — cumperi pe retragerea + dintr-un trend ascendent, pe latura inferioară a flag-ului. +- **sell the rally** — shortezi pe urcarea contra-trend dintr-un downtrend, + pe latura superioară a bear flag-ului. +- **fals breakout** — o bară care depășește linia intraday dar închide + înapoi în formațiune. Nu e trigger; vezi perechea DA/NU de la secțiunea 1. +- **trail** — stop care urcă (sau coboară) după preț, folosit în loc de + ieșire la TP1 când vrei să prinzi un TP2 de tipul bățului. +- **pattern de continuare / de schimbare de trend** — primul prezice + reluarea trendului dinainte, al doilea întoarcerea lui. Vezi secțiunea 7. + +--- + +## Gotchas practice +Completare proprie, dar fiecare legat direct de ce arată lecția. + +1. **Nu desena linia după ce ai intrat.** O linie oblică poate fi trasată prin + multe puncte, și tentația e să o înclini cât trebuie ca breakout-ul tău să + pară valid. Fixează-o pe primele două swing-uri și nu o mai atinge; dacă + al treilea swing nu o respectă, nu ai pattern. +2. **Grosimea se măsoară la deschiderea formațiunii, nu la vârf.** Spre capul + triunghiului distanța dintre laturi tinde la zero; dacă măsori acolo, + ținta ta e cu câțiva cenți deasupra intrării. Autorul măsoară de fiecare + dată latura de la început. +3. **„A închis dincolo de linie" nu e același lucru cu „a atins linia".** + Perechea DA/NU de la secțiunea 1 e exact asta: aceeași formă, și într-un + caz ai trade, în celălalt nu. Un marubozu care rupe linia și apoi se + întoarce complet în formațiune e un fals breakout, nu o intrare mai bună. +4. **Nu muta stopul de la open-ul marubozului la jumătatea lui.** Jumătatea e + prețul de intrare; dacă pui stopul tot acolo, ai un stop de zero. Cele două + niveluri ale strategiei au roluri diferite, iar confuzia asta îți scoate + poziția pe primul fitil. + +--- + +## Ce e al cursului și ce e al meu + +**Al cursului:** toate formele (wedge descendent și ascendent, bull flag, +bear flag, ABCD), regula de măsurare (grosimea formațiunii adăugată la +breakout), varianta de țintă egală cu bățul steagului plus recomandarea de a +lua mai întâi varianta conservatoare, criteriul geometric wedge vs flag, +strategia marubozului retestat la jumătate cu stopul la open, împărțirea +poziției în două tranșe, legătura dintre rolul patternului și trendul +anterior, harta „ce cauți în funcție de unde e piața", observația că o +consolidare mai lungă dă un breakout mai violent, și toate citatele. + +**Al meu:** toate prețurile și toate valorile de R — lecția nu rostește +nicio cifră de preț, așa că fiecare serie de pe diagrame e construită de mine +la scară; regulile de stop pentru wedge și flag (lecția dă regula de stop doar +pentru marubozu); mecanismul de bid/ask aplicat pe wedge; profilul de volum de +pe diagrame; comparația numerică între intrarea pe breakout și cea la +jumătatea marubozului; alternativa de intrare pe dip de la punctul C; și +secțiunea de gotchas. Regula de validare a triggerului de buy doji vine din +[capitolul de strategie](../17_STRATEGII/01_buy_doji.md), nu din lecția asta. + +--- + +## Referințe + +- [Rising and Falling Wedge Chart Patterns: A Trader's Guide — IG](https://www.ig.com/en/trading-strategies/falling-and-rising-wedge-chart-patterns--a-trader-s-guide-200420) + — confirmă regula de măsurare a cursului: grosimea wedge-ului la partea cea + mai lată, proiectată de la breakout. +- [How to Trade Wedge Chart Patterns — BabyPips](https://www.babypips.com/learn/forex/wedges) + — explică de ce minimele care urcă mai repede decât maximele (sau invers) + înseamnă compresie. +- [How to Trade Bull and Bear Flag Patterns — IG](https://www.ig.com/en/trading-strategies/bull-flag-and-bear-flag-chart-patterns-explained-190816) + — ambele direcții, cu ținta măsurată pe băț. +- [Chart patterns: how to trade bull and bear flag patterns — OANDA](https://www.oanda.com/us-en/skills-and-insights/education/technical-analysis/price-charts-and-candlesticks/chart-patterns-how-to-trade-bulls-and-bear-flag-patterns/) + — adaugă criteriul de volum (mare pe băț, subțire în flamură) pe care lecția + îl lasă ca întrebare deschisă.