diff --git a/gen/patternuri_complexe_3.py b/gen/patternuri_complexe_3.py new file mode 100644 index 0000000..29dea05 --- /dev/null +++ b/gen/patternuri_complexe_3.py @@ -0,0 +1,559 @@ +"""Diagramele pentru summaries/06_MODUL_5/02_patternuri_complexe_partea_a_treia.md. + +Construiește toate graficele cu svg_candles (o singură scară px/unitate pe +desen), verifică prin assert fiecare cifră pe care o afirmă textul, apoi +substituie marcatorii din fișierul .md. + +Rulează: .venv/bin/python gen/patternuri_complexe_3.py +""" +import re +import sys + +sys.path.insert(0, "/workspace/atm-curs-dl") +from svg_candles import Chart, Level, Mark, MA, Zone, from_closes # noqa: E402 + +MD = "/workspace/atm-curs-dl/summaries/06_MODUL_5/02_patternuri_complexe_partea_a_treia.md" + +SVG = {} + + +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 check(ch, name, distante=()): + """Nicio etichetă nu poate numi un preț care nu e un nivel desenat.""" + svg = ch.render() + assert "\n\n" not in svg, f"{name}: linie goală în svg" + assert len(ch.caption) <= 100, 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" + # liniile de nivel nu cad pe marginea de sus a cadrului + 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 + + +# ---------------------------------------------------------------- triple bottom +closes = ([51.2, 50.3, 49.6, 48.5, 47.9, 46.8, 45.9, 44.8] # 0-7 downtrend + + [43.6, 42.6, 42.9] # 8-10 picior 1 + + [43.8, 44.6, 44.95] # 11-13 revenire + + [44.0, 43.0, 42.5, 42.9] # 14-17 picior 2 + + [43.9, 44.7, 44.9] # 18-20 revenire + + [44.1, 43.1, 42.4, 43.0] # 21-24 picior 3 + + [44.0, 45.3, 45.6] # 25-27 breakout + + [44.6, 45.4] # 28-29 retest + intrare + + [46.2, 47.0, 47.6, 48.1, 47.8]) # 30-34 spre target +wicks = ([(0.25, 0.3)] * 8 + + [(0.05, 0.4), (0.3, 0.60), (0.4, 0.3)] + + [(0.3, 0.3), (0.3, 0.3), (0.05, 0.3)] + + [(0.0, 0.3), (0.3, 0.3), (0.3, 0.45), (0.3, 0.3)] + + [(0.3, 0.3), (0.2, 0.3), (0.10, 0.3)] + + [(0.0, 0.3), (0.3, 0.3), (0.3, 0.40), (0.3, 0.3)] + + [(0.2, 0.3), (0.2, 0.3), (0.3, 0.2)] + + [(0.2, 0.35), (0.2, 0.2)] + + [(0.2, 0.2), (0.2, 0.2), (0.2, 0.2), (0.3, 0.2), (0.2, 0.3)]) +vols = ([52, 49, 46, 44, 41, 39, 44, 48] + + [56, 64, 42] + [38, 36, 34] + + [40, 46, 55, 38] + [33, 31, 30] + + [36, 42, 48, 35] + [52, 96, 78] + [44, 58] + + [66, 60, 54, 62, 48]) +tb = from_closes(closes, wicks=wicks, vols=vols, start=52.0) + +REZ, PICIOR = 45.00, 42.00 +assert lo(tb, 8, 10) == PICIOR, lo(tb, 8, 10) +assert lo(tb, 14, 17) == 42.05, lo(tb, 14, 17) +assert lo(tb, 21, 24) == PICIOR, lo(tb, 21, 24) +assert hi(tb, 11, 13) == REZ and hi(tb, 18, 20) == REZ +assert hi(tb, 8, 24) == REZ, "rezistența nu e maximul bazei" +ADANCIME = REZ - PICIOR +TARGET = REZ + ADANCIME +RETEST_LOW = lo(tb, 28, 28) +INTRARE, SL = tb[29].c, 44.10 +assert abs(ADANCIME - 3.00) < 1e-9 and abs(TARGET - 48.00) < 1e-9 +assert RETEST_LOW == 44.25, RETEST_LOW +assert SL < RETEST_LOW < REZ < INTRARE, "ordinea SL / retest / rezistență / intrare" +assert SL > PICIOR, "stopul de retest trebuie să fie peste picioarele bazei" +assert tb[26].c > REZ >= tb[25].c, "breakout-ul nu e la bara 26" +assert hi(tb, 30, 34) >= TARGET, "target-ul nu e atins în serie" +VOL_BAZA = sum(vols[8:25]) / len(vols[8:25]) +assert vols[26] >= 2 * VOL_BAZA, f"volumul de breakout e doar "\ + f"{vols[26] / VOL_BAZA:.1f}x media bazei" +R_TB = (TARGET - INTRARE) / (INTRARE - SL) +R_TB_LARG = (TARGET - INTRARE) / (INTRARE - 41.90) +print(f"triple bottom: intrare {INTRARE:.2f} SL {SL:.2f} target {TARGET:.2f} " + f"-> {R_TB:.2f}R (stop sub bază: {R_TB_LARG:.2f}R)") +assert abs(R_TB - 2.00) < 0.01, R_TB +assert 0.7 < R_TB_LARG < 0.8, R_TB_LARG + +check(Chart( + candles=tb, + levels=[Level(TARGET, f"target {TARGET:.2f} = 45.00 + 3.00", "#1a5fb4"), + Level(INTRARE, f"intrare {INTRARE:.2f}", "#188a3e", label_at="left"), + Level(REZ, f"rezistență {REZ:.2f}", "#c00"), + Level(SL, f"SL {SL:.2f}", "#c00", label_at="left"), + Level(PICIOR, f"picioarele {PICIOR:.2f}", "#b06000")], + marks=[Mark(9, "picior 1", "#b06000", "below"), + Mark(16, "picior 2", "#b06000", "below"), + Mark(23, "picior 3", "#b06000", "below"), + Mark(26, "breakout cu volum dublu", "#188a3e", dy=-24), + Mark(28, "retest", "#b06000", "below"),], + zones=[Zone(8, 24, "baza triplă", "#1a5fb4")], + mas=[MA(20, "#777", dash="4 3")], + scale=42, gap=15, body_w=9, left=46, width=620, vol_h=70, top=100, + vol_label="volum", title="Triple bottom — exemplu construit (fără ticker), daily", + caption="Baza triplă ține 17 bare. Linia gri punctată e SMA-20, pe toate graficele."), + "tb", [ADANCIME]) + +# ------------------------------------------------ triple bottom: fals breakout +closes_n = ([49.8, 48.9, 47.8, 46.6, 45.6, 44.7] # 0-5 downtrend + + [43.5, 42.6, 43.0] # 6-8 picior 1 + + [43.9, 44.6, 44.9] # 9-11 revenire + + [44.1, 43.1, 42.5, 43.0] # 12-15 picior 2 + + [43.9, 44.7, 44.9] # 16-18 revenire + + [44.2, 43.2, 42.5, 43.1] # 19-22 picior 3 + + [44.1, 44.85] # 23-24 fals breakout + + [44.0, 43.2, 42.4, 41.6, 41.0]) # 25-29 cade prin bază +wicks_n = ([(0.25, 0.3)] * 6 + + [(0.3, 0.4), (0.3, 0.60), (0.3, 0.3)] + + [(0.3, 0.3), (0.3, 0.3), (0.10, 0.3)] + + [(0.0, 0.3), (0.3, 0.3), (0.3, 0.50), (0.3, 0.3)] + + [(0.3, 0.3), (0.3, 0.3), (0.10, 0.3)] + + [(0.0, 0.3), (0.3, 0.3), (0.3, 0.50), (0.3, 0.3)] + + [(0.2, 0.3), (0.23, 0.3)] + + [(0.2, 0.3), (0.2, 0.3), (0.2, 0.3), (0.2, 0.3), (0.2, 0.4)]) +vols_n = ([50, 47, 44, 42, 46, 50] + [55, 62, 40] + [36, 34, 32] + + [38, 44, 52, 36] + [31, 30, 29] + [36, 43, 50, 34] + + [33, 31] + [46, 54, 61, 70, 66]) +tbn = from_closes(closes_n, wicks=wicks_n, vols=vols_n, start=50.4) + +assert hi(tbn, 23, 24) == 45.08, hi(tbn, 23, 24) +assert tbn[24].c < REZ, "falsul breakout nu are voie să închidă peste linie" +assert lo(tbn, 6, 8) == PICIOR and lo(tbn, 19, 22) == PICIOR +assert hi(tbn, 6, 22) <= REZ, "nicio bară din bază nu trece peste rezistență" +assert lo(tbn, 25, 29) < PICIOR, "invalidarea cere un minim sub picioare" +assert max(vols_n[23:25]) < min(vols_n[6:8]), "falsul breakout vine cu volum mic" +INVALID = lo(tbn, 25, 29) +print(f"fals breakout: varf {hi(tbn, 23, 24):.2f} inchidere {tbn[24].c:.2f} " + f"invalidare {INVALID:.2f}") + +check(Chart( + candles=tbn, + levels=[Level(REZ, f"rezistență {REZ:.2f}", "#c00"), + Level(45.08, "vârf 45.08", "#b06000", label_at="left"), + Level(PICIOR, f"picioarele {PICIOR:.2f}", "#b06000"), + Level(INVALID, f"{INVALID:.2f} — invalidat", "#c00", label_at="left")], + marks=[Mark(7, "picior 1", "#b06000", "below"), + Mark(14, "picior 2", "#b06000", "below"), + Mark(21, "picior 3", "#b06000", "below"), + Mark(24, "închide sub linie, volum mic", "#c00"), + Mark(28, "sub picioare: nu mai e bază triplă", "#c00", "below")], + mas=[MA(20, "#777", dash="4 3")], + scale=42, gap=15, body_w=9, left=46, width=620, vol_h=70, top=100, + vol_label="volum", + title="NU — fals breakout pe aceeași bază triplă (construit), daily", + caption="Atinge 45.08, închide sub 45.00 cu volum mic, apoi cade sub picioare."), + "tbn", []) + +# -------------------------------------------------------------- rounding bottom +closes_r = ([29.8, 29.1, 28.3, 27.4] # 0-3 coboară de la rim + + [26.6, 26.9, 26.4, 26.8] # 4-7 picior 1 + + [26.5, 26.2, 26.7, 26.9] # 8-11 picior 2 + + [26.6, 26.4, 27.0, 27.4] # 12-15 picior 3 + + [27.1, 26.9, 27.6, 28.1] # 16-19 picior 4 + + [27.8, 27.6, 28.4, 29.0] # 20-23 picior 5 + + [29.5, 29.95, 30.4] # 24-26 breakout + + [29.7, 30.3] # 27-28 retest + intrare + + [31.0, 31.8, 32.5, 33.2, 33.9, 34.1]) # 29-34 spre target +wicks_r = ([(0.00, 0.2), (0.2, 0.2), (0.2, 0.2), (0.2, 0.2)] + + [(0.2, 0.2), (0.2, 0.2), (0.2, 0.30), (0.2, 0.2)] + + [(0.2, 0.2), (0.2, 0.20), (0.2, 0.2), (0.2, 0.2)] + + [(0.2, 0.2), (0.2, 0.25), (0.2, 0.2), (0.2, 0.2)] + + [(0.2, 0.2), (0.2, 0.30), (0.2, 0.2), (0.2, 0.2)] + + [(0.2, 0.2), (0.2, 0.30), (0.2, 0.2), (0.2, 0.2)] + + [(0.2, 0.2), (0.05, 0.2), (0.2, 0.2)] + + [(0.2, 0.15), (0.2, 0.2)] + + [(0.2, 0.2)] * 5 + [(0.2, 0.3)]) +vols_r = ([62, 54, 47, 43] + [40, 36, 38, 33] + [31, 34, 30, 28] + + [27, 29, 28, 30] + [31, 33, 35, 37] + [39, 41, 44, 48] + + [54, 60, 102] + [52, 68] + [74, 70, 66, 62, 70, 56]) +rb = from_closes(closes_r, wicks=wicks_r, vols=vols_r, start=30.0) + +RIM, FUND = 30.00, 26.00 +picioare_rb = [lo(rb, 4, 7), lo(rb, 8, 11), lo(rb, 12, 15), lo(rb, 16, 19), lo(rb, 20, 23)] +assert picioare_rb == [26.10, 26.00, 26.15, 26.60, 27.30], picioare_rb +assert len(picioare_rb) == 5 and min(picioare_rb) == FUND +assert hi(rb, 0, 0) == RIM and hi(rb, 25, 25) == RIM +assert hi(rb, 0, 25) == RIM, "rim-ul nu e maximul formațiunii" +assert picioare_rb[2:] == sorted(picioare_rb[2:]), \ + "picioarele castronului urcă după cel mai adânc" +AD_RB = RIM - FUND +TARGET_RB = RIM + AD_RB +RETEST_RB = lo(rb, 27, 27) +INTRARE_RB, SL_RB = rb[28].c, 29.40 +assert abs(AD_RB - 4.00) < 1e-9 and abs(TARGET_RB - 34.00) < 1e-9 +assert RETEST_RB == 29.55, RETEST_RB +assert SL_RB < RETEST_RB < RIM < INTRARE_RB +assert rb[26].c > RIM >= rb[25].c, "breakout-ul nu e la bara 26" +assert hi(rb, 29, 34) >= TARGET_RB +assert min(vols_r[10:16]) < min(vols_r[0:2]) and min(vols_r[10:16]) < vols_r[26], \ + "volumul trebuie să fie mic în mijlocul castronului și mare la capete" +assert len(rb[4:24]) == 20, "castronul are 20 de bare" +R_RB = (TARGET_RB - INTRARE_RB) / (INTRARE_RB - SL_RB) +print(f"rounding bottom: 5 picioare {picioare_rb}, intrare {INTRARE_RB:.2f} " + f"SL {SL_RB:.2f} target {TARGET_RB:.2f} -> {R_RB:.2f}R") +assert abs(R_RB - 4.11) < 0.01, R_RB + +check(Chart( + candles=rb, + levels=[Level(TARGET_RB, f"target {TARGET_RB:.2f} = 30.00 + 4.00", "#1a5fb4"), + Level(INTRARE_RB, f"intrare {INTRARE_RB:.2f}", "#188a3e", label_at="left"), + Level(RIM, f"rezistență {RIM:.2f}", "#c00"), + Level(SL_RB, f"SL {SL_RB:.2f}", "#c00", label_at="left"), + Level(FUND, f"fundul castronului {FUND:.2f}", "#b06000")], + marks=[Mark(6, "1", "#b06000", "below"), Mark(9, "2", "#b06000", "below"), + Mark(13, "3", "#b06000", "below"), Mark(17, "4", "#b06000", "below"), + Mark(21, "5", "#b06000", "below"), + Mark(26, "breakout", "#188a3e"), + Mark(27, "retest", "#b06000", "below")], + zones=[Zone(4, 23, "castronul", "#1a5fb4")], + mas=[MA(20, "#777", dash="4 3")], + scale=60, gap=15, body_w=9, left=46, width=620, vol_h=70, top=100, + vol_label="volum", title="Rounding bottom — exemplu construit (fără ticker), 60 min", + caption="Castronul ține 20 de bare și 5 swing low-uri. Volum mare la capete, mic la mijloc."), + "rb", [AD_RB] + picioare_rb) + +# ------------------------------------------------------------------- triple top +closes_t = ([60.8, 61.9, 62.7, 63.8, 64.6, 65.4, 66.3, 67.2] # 0-7 uptrend + + [67.9, 67.0, 66.0] # 8-10 vârf 1 + + [65.4, 66.2, 67.0, 67.85] # 11-14 vârf 2 + + [67.1, 66.2, 65.3, 66.0] # 15-18 + + [66.9, 67.8, 66.8, 65.6] # 19-22 vârf 3 + + [65.1, 64.6, 64.3] # 23-25 breakdown + + [65.0, 64.7] # 26-27 retest + intrare + + [64.0, 63.3, 62.6, 62.0, 61.7, 62.2]) # 28-33 spre target +wicks_t = ([(0.25, 0.25)] * 8 + + [(0.10, 0.25), (0.00, 0.25), (0.25, 0.25)] + + [(0.25, 0.40), (0.25, 0.25), (0.25, 0.25), (0.15, 0.25)] + + [(0.00, 0.25), (0.25, 0.25), (0.25, 0.30), (0.25, 0.25)] + + [(0.25, 0.25), (0.20, 0.25), (0.00, 0.25), (0.25, 0.25)] + + [(0.25, 0.25), (0.25, 0.25), (0.25, 0.25)] + + [(0.30, 0.25), (0.25, 0.25)] + + [(0.25, 0.25)] * 5 + [(0.25, 0.3)]) +vols_t = ([40, 42, 44, 46, 45, 43, 41, 44] + [62, 48, 44] + [40, 36, 34, 52] + + [42, 38, 44, 33] + [30, 46, 40, 44] + [58, 94, 76] + [48, 62] + + [68, 64, 60, 66, 58, 50]) +tt = from_closes(closes_t, wicks=wicks_t, vols=vols_t, start=60.0) + +VARF, SUPORT = 68.00, 65.00 +varfuri = [hi(tt, 8, 8), hi(tt, 14, 14), hi(tt, 20, 20)] +assert varfuri == [VARF, VARF, VARF], varfuri +assert hi(tt, 8, 22) == VARF, "vârfurile sunt maximul formațiunii" +assert lo(tt, 11, 11) == SUPORT and lo(tt, 15, 18) == SUPORT +assert lo(tt, 8, 22) == SUPORT, "suportul nu e minimul formațiunii" +INALTIME = VARF - SUPORT +TARGET_TT = SUPORT - INALTIME +RETEST_TT = hi(tt, 26, 26) +INTRARE_TT, SL_TT = tt[27].c, 65.40 +assert abs(INALTIME - 3.00) < 1e-9 and abs(TARGET_TT - 62.00) < 1e-9 +assert RETEST_TT == 65.30, RETEST_TT +assert INTRARE_TT < SUPORT < RETEST_TT < SL_TT, "ordinea intrare / suport / retest / SL" +assert SL_TT < VARF, "stopul de retest stă sub vârfuri" +assert tt[24].c < SUPORT <= tt[23].c, "breakdown-ul nu e la bara 24" +assert lo(tt, 28, 33) <= TARGET_TT +assert len(tt[8:23]) == 15, "vârful triplu are 15 bare" +R_TT = (INTRARE_TT - TARGET_TT) / (SL_TT - INTRARE_TT) +R_TT_LARG = (INTRARE_TT - TARGET_TT) / (VARF + 0.10 - INTRARE_TT) +print(f"triple top: intrare {INTRARE_TT:.2f} SL {SL_TT:.2f} target {TARGET_TT:.2f} " + f"-> {R_TT:.2f}R (stop peste vârfuri: {R_TT_LARG:.2f}R)") +assert abs(R_TT - 3.86) < 0.01, R_TT +assert 0.7 < R_TT_LARG < 0.8, R_TT_LARG + +check(Chart( + candles=tt, + levels=[Level(VARF, f"vârfurile {VARF:.2f}", "#b06000"), + Level(SL_TT, f"SL {SL_TT:.2f}", "#c00"), + Level(SUPORT, f"suport {SUPORT:.2f}", "#c00", label_at="left"), + Level(INTRARE_TT, f"intrare short {INTRARE_TT:.2f}", "#188a3e"), + Level(TARGET_TT, f"target {TARGET_TT:.2f} = 65.00 − 3.00", "#1a5fb4", + label_at="left")], + marks=[Mark(8, "vârf 1", "#b06000", dy=-20), + Mark(14, "vârf 2", "#b06000", dy=-20), + Mark(20, "vârf 3", "#b06000", dy=-20), + Mark(24, "breakdown", "#c00", "below"), + Mark(26, "retest de dedesubt", "#b06000", dy=-34)], + mas=[MA(20, "#777", dash="4 3")], + scale=42, gap=15, body_w=9, left=46, width=620, vol_h=70, top=100, + vol_label="volum", title="Triple top — exemplu construit (fără ticker), weekly", + caption="Vârful triplu ține 15 bare, de la vârful 1 la ultima bară de sub el."), + "tt", [INALTIME]) + +# ------------------------------------ triple top cu vârful din mijloc mai sus +closes_h = ([61.0, 62.2, 63.3, 64.4, 65.5, 66.4, 67.0] # 0-6 uptrend + + [67.4, 66.6, 65.6] # 7-9 vârf 1 + + [65.2, 66.4, 67.6] # 10-12 + + [68.6, 69.4, 68.0] # 13-15 vârf 2, mai sus + + [66.8, 65.6, 65.2] # 16-18 + + [66.3, 67.5, 66.4] # 19-21 vârf 3 + + [65.6, 65.1, 64.5] # 22-24 breakdown + + [64.0, 63.2, 62.4, 61.6, 60.9, 60.4, 60.8]) # 25-31 spre target +wicks_h = ([(0.25, 0.25)] * 7 + + [(0.10, 0.25), (0.00, 0.25), (0.25, 0.25)] + + [(0.25, 0.20), (0.25, 0.20), (0.25, 0.25)] + + [(0.25, 0.25), (0.10, 0.25), (0.00, 0.25)] + + [(0.25, 0.25), (0.25, 0.25), (0.25, 0.20)] + + [(0.25, 0.20), (0.10, 0.25), (0.00, 0.25)] + + [(0.25, 0.25)] * 3 + + [(0.25, 0.25)] * 6 + [(0.25, 0.3)]) +vols_h = ([40, 42, 44, 46, 48, 46, 44] + [60, 46, 42] + [38, 36, 44] + + [52, 86, 58] + [44, 40, 36] + [34, 48, 42] + [50, 62, 90] + + [74, 70, 66, 62, 58, 64, 52]) +th = from_closes(closes_h, wicks=wicks_h, vols=vols_h, start=60.0) + +V1, V2, V3 = hi(th, 7, 7), hi(th, 13, 14), hi(th, 19, 20) +assert (V1, V2, V3) == (67.50, 69.50, 67.60), (V1, V2, V3) +assert V2 > V1 and V2 > V3, "vârful din mijloc trebuie să fie cel mai sus" +assert hi(th, 7, 21) == V2, "capul trebuie să fie maximul formațiunii" +assert lo(th, 10, 10) == SUPORT and lo(th, 18, 18) == SUPORT +assert lo(th, 7, 21) == SUPORT, "suportul nu e minimul formațiunii" +AD_H = V2 - SUPORT +TARGET_H = SUPORT - AD_H +assert abs(AD_H - 4.50) < 1e-9 and abs(TARGET_H - 60.50) < 1e-9 +assert lo(th, 25, 31) <= TARGET_H, lo(th, 25, 31) +assert th[24].c < SUPORT <= th[23].c, "breakdown-ul nu e la bara 24" +print(f"triple top varianta H&S: varfuri {V1:.2f}/{V2:.2f}/{V3:.2f}, " + f"masurat din {V2:.2f} -> target {TARGET_H:.2f}") + +check(Chart( + candles=th, + levels=[Level(V2, f"vârful 2 (capul) {V2:.2f}", "#b06000"), + Level(V1, f"umerii ≈ {V1:.2f}", "#b06000", label_at="left"), + Level(SUPORT, f"suport (neckline) {SUPORT:.2f}", "#c00", label_at="left"), + Level(TARGET_H, f"target {TARGET_H:.2f} = 65.00 − 4.50", "#1a5fb4")], + marks=[Mark(7, "vârf 1", "#b06000"), Mark(14, "vârf 2 — cel mai sus", "#b06000", dy=-20), + Mark(20, "vârf 3", "#b06000"), + Mark(24, "breakdown", "#c00", "below")], + mas=[MA(20, "#777", dash="4 3")], + scale=42, gap=15, body_w=9, left=46, width=620, vol_h=70, top=100, + vol_label="volum", + title="Triple top cu vârful din mijloc mai sus — construit (fără ticker), weekly", + caption="Înălțimea se măsoară de la vârful 2, nu de la cele laterale."), + "th", [AD_H]) + +# --------------------------------------------------------------- cup with handle +closes_c = ([97.0, 101.0, 106.0, 111.0, 116.0, 119.5] # 0-5 uptrend + rim 1 + + [116.0, 110.0, 103.0, 96.0, 89.0, 83.0] # 6-11 coboară ceașca + + [80.5, 82.0, 81.0, 85.0] # 12-15 fundul ceștii + + [89.0, 94.0, 99.0, 104.0, 109.0, 113.0, 117.0, 119.6] # 16-23 urcă + rim 2 + + [116.0, 112.0, 108.5, 112.0] # 24-27 mânerul + + [118.0, 121.0] # 28-29 breakout, intrare + + [128.0, 136.0, 143.0, 150.0, 157.0, 160.5]) # 30-35 spre target +wicks_c = ([(1.0, 1.0)] * 5 + [(0.50, 1.0)] + + [(0.00, 1.0)] + [(1.0, 1.0)] * 5 + + [(1.0, 0.50), (1.0, 0.50), (1.0, 0.80), (1.0, 1.0)] + + [(1.0, 1.0)] * 7 + [(0.40, 1.0)] + + [(0.00, 1.0), (1.0, 1.0), (1.0, 0.50), (1.0, 0.50)] + + [(1.0, 1.0), (1.0, 1.0)] + + [(1.0, 1.0)] * 5 + [(1.0, 1.5)]) +vols_c = ([44, 48, 52, 50, 54, 58] + [62, 68, 74, 70, 64, 56] + + [50, 44, 42, 46] + [48, 52, 54, 50, 52, 56, 60, 64] + + [40, 34, 30, 36] + [58, 104] + + [92, 84, 78, 72, 70, 60]) +cu = from_closes(closes_c, wicks=wicks_c, vols=vols_c, start=95.0) + +RIM_C, FUND_C = 120.00, 80.00 +assert hi(cu, 5, 5) == RIM_C and hi(cu, 23, 23) == RIM_C, (hi(cu, 5, 5), hi(cu, 23, 23)) +assert hi(cu, 0, 23) == RIM_C, "cele două rim-uri sunt maximul ceștii" +assert lo(cu, 12, 15) == FUND_C, lo(cu, 12, 15) +AD_C = RIM_C - FUND_C +TARGET_C = RIM_C + AD_C +MANER = lo(cu, 24, 27) +PROC_MANER = (RIM_C - MANER) / AD_C +LIMITA50 = RIM_C - 0.5 * AD_C +INTRARE_C, SL_C = cu[29].c, 107.00 +assert abs(AD_C - 40.00) < 1e-9 and abs(TARGET_C - 160.00) < 1e-9 +assert MANER == 108.00, MANER +assert abs(LIMITA50 - 100.00) < 1e-9 +assert MANER > LIMITA50, "mânerul valid nu coboară sub jumătatea ceștii" +assert abs(PROC_MANER - 0.30) < 1e-9, PROC_MANER +assert SL_C < MANER < RIM_C < INTRARE_C +assert cu[29].c > RIM_C >= cu[28].c, "breakout-ul nu e la bara 29" +assert hi(cu, 30, 35) >= TARGET_C +assert len(cu[24:28]) == 4, "mânerul are 4 bare" +R_C = (TARGET_C - INTRARE_C) / (INTRARE_C - SL_C) +R_C_LIMITA = (TARGET_C - INTRARE_C) / (INTRARE_C - (LIMITA50 - 1.00)) +print(f"cup&handle: maner {MANER:.2f} ({PROC_MANER:.0%}), intrare {INTRARE_C:.2f} " + f"SL {SL_C:.2f} target {TARGET_C:.2f} -> {R_C:.2f}R " + f"(maner la limita de 50%: {R_C_LIMITA:.2f}R)") +assert abs(R_C - 2.79) < 0.01, R_C +assert abs(R_C_LIMITA - 1.77) < 0.01, R_C_LIMITA + +check(Chart( + candles=cu, + levels=[Level(TARGET_C, f"target {TARGET_C:.2f} = 120.00 + 40.00", "#1a5fb4"), + Level(INTRARE_C, f"intrare {INTRARE_C:.2f}", "#188a3e", label_at="left"), + Level(RIM_C, f"rezistență {RIM_C:.2f}", "#c00"), + Level(MANER, f"minimul mânerului {MANER:.2f}", "#b06000"), + Level(SL_C, f"SL {SL_C:.2f}", "#c00", label_at="left"), + Level(LIMITA50, f"limita de 50% {LIMITA50:.2f}", "#777"), + Level(FUND_C, f"fundul ceștii {FUND_C:.2f}", "#b06000", label_at="left")], + marks=[Mark(5, "top 1", "#c00"), Mark(23, "top 2", "#c00", dy=-18), + Mark(13, "fundul ceștii", "#b06000", "below"), + Mark(29, "breakout", "#188a3e", dy=-14)], + zones=[Zone(24, 27, "mânerul", "#b06000")], + mas=[MA(20, "#777", dash="4 3")], + scale=4.2, gap=15, body_w=9, left=46, width=620, vol_h=70, top=100, + vol_label="volum", title="Cup with handle — exemplu construit (fără ticker), monthly", + caption="Mânerul: 4 bare, −30% din adâncime. Cele două top-uri la 120.00 = double top."), + "cu", [AD_C, RIM_C - MANER]) + +# ----------------------------------------- cup with handle: mâner prea adânc +closes_cn = ([99.0, 105.0, 111.0, 116.0, 119.5] # 0-4 uptrend + rim 1 + + [115.0, 108.0, 100.0, 92.0, 84.0] # 5-9 coboară + + [80.6, 83.0, 86.0] # 10-12 fundul + + [91.0, 97.0, 103.0, 109.0, 114.0, 118.0, 119.6] # 13-19 urcă + rim 2 + + [114.0, 108.0, 102.0, 96.5, 99.0] # 20-24 mâner prea adânc + + [97.0, 94.0, 90.0, 93.0, 91.0]) # 25-29 recade în ceașcă +wicks_cn = ([(1.0, 1.0)] * 4 + [(0.50, 1.0)] + + [(0.00, 1.0)] + [(1.0, 1.0)] * 4 + + [(1.0, 0.60), (1.0, 0.60), (1.0, 1.0)] + + [(1.0, 1.0)] * 6 + [(0.40, 1.0)] + + [(0.00, 1.0), (1.0, 1.0), (1.0, 1.0), (1.0, 0.50), (1.0, 0.50)] + + [(1.0, 1.0)] * 4 + [(1.0, 1.5)]) +vols_cn = ([46, 50, 54, 52, 56] + [60, 66, 72, 68, 62] + + [52, 46, 48] + [50, 52, 54, 52, 54, 58, 62] + + [56, 62, 70, 76, 48] + [54, 62, 70, 58, 64]) +cn = from_closes(closes_cn, wicks=wicks_cn, vols=vols_cn, start=95.0) + +assert hi(cn, 4, 4) == RIM_C and hi(cn, 19, 19) == RIM_C +assert lo(cn, 10, 12) == FUND_C, lo(cn, 10, 12) +MANER_N = lo(cn, 20, 24) +PROC_N = (RIM_C - MANER_N) / AD_C +assert MANER_N == 96.00, MANER_N +assert abs(PROC_N - 0.60) < 1e-9, PROC_N +assert MANER_N < LIMITA50, "mânerul invalid trebuie să fie sub limita de 50%" +assert hi(cn, 20, 29) < RIM_C, "în varianta NU nu există breakout" +print(f"cup&handle NU: maner {MANER_N:.2f} = {PROC_N:.0%} din adancime") + +check(Chart( + candles=cn, + levels=[Level(RIM_C, f"rezistență {RIM_C:.2f}", "#c00"), + Level(LIMITA50, f"limita de 50% {LIMITA50:.2f}", "#777", label_at="left"), + Level(MANER_N, f"minimul mânerului {MANER_N:.2f}", "#c00"), + Level(FUND_C, f"fundul ceștii {FUND_C:.2f}", "#b06000", label_at="left")], + marks=[Mark(4, "top 1", "#c00", dy=-20), Mark(19, "top 2", "#c00", dy=-20), + Mark(11, "fundul ceștii", "#b06000", "below"), + Mark(23, "rupe 100.00: −60%", "#c00", "below"), + Mark(27, "fără breakout, prețul stă în ceașcă", "#c00", "below")], + mas=[MA(20, "#777", dash="4 3")], + scale=4.2, gap=15, body_w=9, left=46, width=620, vol_h=70, top=100, + vol_label="volum", + title="NU — mâner mai adânc de 50% (construit, fără ticker), monthly", + caption="Mânerul coboară la 96.00, sub limita de 50% desenată la 100.00."), + "cn", [AD_C, RIM_C - MANER_N]) + +# ------------------------------------- varianta bear: inverted cup with handle +closes_b = ([101.0, 98.0, 95.0, 92.0, 90.4] # 0-4 downtrend + rim 1 + + [94.0, 100.0, 106.0, 112.0, 117.0, 119.5] # 5-10 urcă cupola + + [119.8, 117.0, 113.0] # 11-13 vârful cupolei + + [108.0, 103.0, 98.0, 95.0, 93.0, 91.5, 90.6] # 14-20 coboară + rim 2 + + [93.0, 96.0, 97.6, 94.0] # 21-24 mâner inversat + + [92.0, 89.0] # 25-26 breakdown, intrare + + [83.0, 77.0, 72.0, 67.0, 63.0, 60.0, 61.0]) # 27-33 spre target +wicks_b = ([(0.8, 0.8)] * 4 + [(0.8, 0.40)] + + [(0.8, 0.00)] + [(0.8, 0.8)] * 4 + [(0.50, 0.8)] + + [(0.20, 0.8), (0.00, 0.8), (0.8, 0.8)] + + [(0.8, 0.8)] * 6 + [(0.8, 0.60)] + + [(0.8, 0.00), (0.8, 0.8), (0.40, 0.8), (0.40, 0.8)] + + [(0.8, 0.8), (0.8, 0.8)] + + [(0.8, 0.8)] * 6 + [(0.8, 0.8)]) +vols_b = ([48, 52, 56, 54, 58] + [52, 50, 48, 46, 44, 42] + + [56, 50, 48] + [52, 56, 60, 58, 54, 50, 56] + + [36, 32, 30, 38] + [62, 108] + + [96, 88, 82, 76, 72, 70, 58]) +cb = from_closes(closes_b, wicks=wicks_b, vols=vols_b, start=103.0) + +RIM_B, CUPOLA = 90.00, 120.00 +assert lo(cb, 4, 4) == RIM_B and lo(cb, 20, 20) == RIM_B, (lo(cb, 4, 4), lo(cb, 20, 20)) +assert lo(cb, 0, 20) == RIM_B, "cele două rim-uri sunt minimul cupolei" +assert hi(cb, 10, 13) == CUPOLA, hi(cb, 10, 13) +AD_B = CUPOLA - RIM_B +TARGET_B = RIM_B - AD_B +MANER_B = hi(cb, 21, 24) +PROC_B = (MANER_B - RIM_B) / AD_B +LIMITA50_B = RIM_B + 0.5 * AD_B +INTRARE_B, SL_B = cb[26].c, 99.00 +assert abs(AD_B - 30.00) < 1e-9 and abs(TARGET_B - 60.00) < 1e-9 +assert MANER_B == 98.00, MANER_B +assert abs(LIMITA50_B - 105.00) < 1e-9 +assert MANER_B < LIMITA50_B, "mânerul inversat valid nu urcă peste jumătatea cupolei" +assert INTRARE_B < RIM_B < MANER_B < SL_B +assert cb[26].c < RIM_B <= cb[25].c, "breakdown-ul nu e la bara 26" +assert lo(cb, 27, 33) <= TARGET_B +assert len(cb[21:25]) == 4, "mânerul inversat are 4 bare" +R_B = (INTRARE_B - TARGET_B) / (SL_B - INTRARE_B) +print(f"cup&handle bear: cupola {CUPOLA:.2f} rim {RIM_B:.2f} maner {MANER_B:.2f} " + f"({PROC_B:.0%}), intrare {INTRARE_B:.2f} SL {SL_B:.2f} target {TARGET_B:.2f} " + f"-> {R_B:.2f}R") +assert abs(R_B - 2.90) < 0.01, R_B +assert abs(PROC_B - 0.2667) < 0.001, PROC_B + +check(Chart( + candles=cb, + levels=[Level(CUPOLA, f"vârful cupolei {CUPOLA:.2f}", "#b06000"), + Level(SL_B, f"SL {SL_B:.2f}", "#c00"), + Level(LIMITA50_B, f"limita de 50% {LIMITA50_B:.2f}", "#777", label_at="left"), + Level(RIM_B, f"suport {RIM_B:.2f}", "#c00"), + Level(INTRARE_B, f"intrare short {INTRARE_B:.2f}", "#188a3e", label_at="left"), + Level(TARGET_B, f"target {TARGET_B:.2f} = 90.00 − 30.00", "#1a5fb4")], + marks=[Mark(4, "fund 1", "#c00", "below"), Mark(20, "fund 2", "#c00", "below"), + Mark(11, "vârful cupolei", "#b06000", dy=-20), + Mark(26, "breakdown", "#c00", "below")], + zones=[Zone(21, 24, "mânerul inversat", "#b06000")], + mas=[MA(20, "#777", dash="4 3")], + scale=4.2, gap=15, body_w=9, left=46, width=620, vol_h=70, top=100, + vol_label="volum", + title="Inverted cup with handle / rounding top — construit (fără ticker), monthly", + caption="Mânerul inversat: 4 bare, +27%. Cele două funduri la 90.00 = double bottom."), + "cb", [AD_B]) + +# --------------------------------------------- aceleași reguli între diagrame +# stopul stă dincolo de bara de retest (triple bottom / rounding bottom / triple +# top) sau dincolo de mâner (cup with handle, în ambele direcții) +assert SL < RETEST_LOW and SL_RB < RETEST_RB and SL_TT > RETEST_TT, \ + "regula de stop pe retest nu e aceeași în toate diagramele" +assert SL_C < MANER and SL_B > MANER_B, "regula de stop pe mâner nu e simetrică" +# target = adâncimea/înălțimea proiectată de la linia spartă, în toate diagramele +for linie, adanc, target, semn in ((REZ, ADANCIME, TARGET, 1), (RIM, AD_RB, TARGET_RB, 1), + (SUPORT, INALTIME, TARGET_TT, -1), + (SUPORT, AD_H, TARGET_H, -1), + (RIM_C, AD_C, TARGET_C, 1), + (RIM_B, AD_B, TARGET_B, -1)): + assert abs(target - (linie + semn * adanc)) < 1e-9, (linie, adanc, target) +# limita de 50% a mânerului, la fel pe long și pe short +assert abs((RIM_C - LIMITA50) / AD_C - 0.5) < 1e-9 +assert abs((LIMITA50_B - RIM_B) / AD_B - 0.5) < 1e-9 + +# ---------------------------------------------------------------- substituire +with open(MD, encoding="utf-8") as f: + md = f.read() +lipsa = [n for n in SVG if f"" not in md] # marcatori obligatorii +assert not lipsa, f"marcatori lipsă în .md: {lipsa}" +for n, svg in SVG.items(): + # marcatorul rămâne în fișier, ca să se poată rula generatorul din nou + 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}") diff --git a/summaries/06_MODUL_5/02_patternuri_complexe_partea_a_treia.html b/summaries/06_MODUL_5/02_patternuri_complexe_partea_a_treia.html new file mode 100644 index 0000000..938950e --- /dev/null +++ b/summaries/06_MODUL_5/02_patternuri_complexe_partea_a_treia.html @@ -0,0 +1,1473 @@ + + + + + +Modul 5 / #2 — Patternuri complexe (partea 3): triple bottom, rounding bottom, triple top, cup with handle + + + +Sumarizări/Modulul 5/#2 — Patternuri complexe (partea 3): triple bottom, rounding bottom, triple top, cup with handleModul 5 / #2 — Patternuri complexe (partea 3): triple bottom, rounding bottom, triple top, cup with handle +TLDR +Patru patternuri noi, toate măsurate după aceeași regulă: iei adâncimea (sau +înălțimea) formațiunii și o proiectezi de la linia care s-a rupt. Trei sunt +reversal — triple bottom și rounding bottom la final de downtrend, +triple top la final de uptrend. Al patrulea, cup with handle, nu e +reversal: e un pattern de continuare, apare în interiorul unui uptrend, și +singurul care are o condiție numerică proprie — mânerul nu coboară mai mult +de 50% din adâncimea ceștii. +Ce e nou față de partea a 2-a +Partea a 2-a a +tratat Head & Shoulders, normal și inversat: cum arată, de ce funcționează +mecanic (dezechilibrul cumpărători/vânzători, bid/ask), de ce nu intri +înainte de breakout. Mecanismul ăla nu se repetă aici — e scris o dată, +acolo, și se aplică identic. +Ce aduce lecția asta, în plus: + +Un al treilea test al aceluiași nivel, în loc de doi. Triple bottom și + triple top sunt varianta cu trei picioare/trei vârfuri a lui double + bottom / double top. +Forma rotunjită, care nu are picioare distincte: rounding bottom, cu + 3-5 sau chiar 7 swing low-uri într-o curbă. +Primul pattern de continuare din serie: cup with handle, cu singura + regulă numerică explicită a lecției (mânerul ≤ 50%) și cu un raport + risc/recompensă care iese direct din regula aia. +Legătura dintre patternuri. Cursul insistă: un triple top cu vârful din + mijloc mai sus este un head & shoulders normal, iar un triple bottom + seamănă uneori cu H&S inversat. Nu sunt forme separate pe care le ții minte + una lângă alta — sunt variații ale aceleiași structuri. + +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 cu precizarea că patternurile astea sunt litera M din +acronimul cursului, adică setup-ul, nu tot trade-ul. +Pe ce timeframe? Pe oricare. Autorul le arată pe 1 minut, 15 minute, 60 +de minute, daily, weekly și monthly în aceeași lecție, și spune explicit că +forma se păstrează pe toate — ce se schimbă e stilul de trader, nu pattern-ul. +Termeni presupuși știuți: un swing low e un minim local (un preț mai +jos decât barele vecine din stânga și din dreapta), un swing high e un +maxim local. Sunt definiți cu diagramă în +partea 1. Lecția asta +spune de ce contează: picioarele unui triple bottom și vârfurile unui triple +top sunt swing low-uri și swing high-uri — fără ele nu poți nici măcar +să numeri câte picioare are formațiunea. +Cum citești diagramele. Toate graficele din fișier sunt serii continue de +25-36 de bare, construite de mine la scară, cu panou de volum dedesubt și cu +media mobilă simplă pe 20 de bare (SMA-20) ca linia gri punctată. Cursul +arată patternurile pe grafice reale, dar nu rostește nicio cifră de preț, +așa că diagramele nu poartă ticker: titlul lor spune „exemplu construit (fără +ticker)". Singurele cifre din lecție sunt limita de 50% a mânerului, raportul +risc/recompensă aproximativ 1:2 și ținta de 100.000 pentru bitcoin despre +care autorul spune că o repetă piața, nu el. + +1. Triple bottom (bază triplă) — long +Cursul îl descrie ca „litera V cu litera W": prețul coboară, atinge un nivel, +revine, coboară iar la același nivel, revine, coboară a treia oară la același +nivel. Linia care unește maximele dintre picioare e rezistența. Pattern-ul +nu există până când prețul nu rupe rezistența în sus. + + + Triple bottom — exemplu construit (fără ticker), daily + + baza triplă + + target 48.00 = 45.00 + 3.00 + + intrare 45.40 + + rezistență 45.00 + + SL 44.10 + + picioarele 42.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + picior 1 + picior 2 + picior 3 + breakout cu volum dublu + retest + Baza triplă ține 17 bare. Linia gri punctată e SMA-20, pe toate graficele. + +Ce vezi pe desen, de la stânga la dreapta: un downtrend care aduce prețul în +zonă, trei picioare la 42.00 (al doilea e la 42.05 — „același nivel" nu +înseamnă la cent, înseamnă în aceeași zonă), rezistența la 45.00 testată de +două ori de dedesubt, breakout-ul cu volum dublu față de media bazei, un +retest al liniei spărte și apoi mișcarea spre target. +Cum se calculează target-ul +Exact ca la double bottom, din partea anterioară: adâncimea din interiorul +formațiunii, proiectată de la linia spartă. + +adâncime = rezistență − picioare = 45.00 − 42.00 = 3.00 +target 1 = rezistență + adâncime = 45.00 + 3.00 = 48.00 + +Pe desen, distanța de la 45.00 în jos la 42.00 și distanța de la 45.00 în sus +la 48.00 sunt egale în pixeli, nu doar în text — diagrama e generată din +prețuri, cu o singură scară px/unitate. +De ce al treilea test rupe nivelul, mecanic +Mecanismul de bază (de ce o dominanță de cumpărători mută prețul în sus) e +explicat în partea a 2-a și nu se repetă. Ce e specific aici e de ce al +treilea picior e ultimul, și asta are două cauze concrete: + +Vânzătorii de la 45.00 se consumă. Fiecare dintre cele două revenirii + la 45.00 a fost oprită de ordine de vânzare așezate la acel nivel. Alea + s-au executat. La a treia revenire, cei care voiau să vândă la 45.00 au + vândut deja de două ori — nu mai sunt destui ca să țină nivelul a treia + oară. +Deasupra nivelului s-au adunat ordine de cumpărare forțate. Oricine a + intrat short în timpul bazei își pune stop-loss-ul puțin peste 45.00, + pentru că acolo ideea lui de short e invalidată. Un stop-loss pe short e, + mecanic, un ordin de cumpărare. Când prețul atinge 45.00, platformele + execută automat cumpărările alea, toate în același moment — de-aia bara de + breakout are volum dublu față de bazele dinainte, și de-aia mișcarea e + bruscă, nu lentă. + +Asta e și motivul pentru care nu intri pe formă: până la breakout, ambele +mecanisme sunt doar potențiale. +Trigger DA / trigger NU +Aceeași traversare a liniei de 45.00 poate arăta identic în prima secundă. +Diferența se vede în ce face prețul imediat după. +DA — breakout confirmat, retest care ține. E cazul din diagrama de mai +sus: bara de breakout închide peste 45.00 (la 45.30), cu volum dublu față +de media bazei; prețul revine la 44.25, deci atinge zona liniei dar nu cade +prin ea, și repornește în sus. Nivelul și-a schimbat rolul: din rezistență a +devenit suport. Intri la 45.40, pe închiderea barei care confirmă retestul. +NU — fals breakout. Aceeași bază, altă traversare: + + + NU — fals breakout pe aceeași bază triplă (construit), daily + + rezistență 45.00 + + vârf 45.08 + + picioarele 42.00 + + 40.60 — invalidat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + picior 1 + picior 2 + picior 3 + închide sub linie, volum mic + sub picioare: nu mai e bază triplă + Atinge 45.08, închide sub 45.00 cu volum mic, apoi cade sub picioare. + +Diferențele numerice, una lângă alta: aici prețul atinge 45.08 (8 cenți peste +linie) dar închide la 44.85, sub linie, cu volum mai mic decât la oricare +dintre picioare — exact invers decât la breakout-ul valid. Apoi cade și rupe +picioarele la 40.60. Din clipa aia nu mai e o bază triplă: o bază se +definește prin picioare care țin, iar ăsta nu mai ține. +Regula de citit, în două rânduri: +- DA: închidere peste linie + volum peste media bazei. Dacă vine și un + retest care ține, ai și o intrare cu stop mic. +- NU: fitil peste linie cu închidere sub ea, volum mic, sau o coborâre + sub picioare. +Exemplu complet de trade — long + +Setup: trei picioare la 42.00, rezistență la 45.00, adâncime 3.00. +Trigger: bara de breakout închide la 45.30 cu volum dublu față de bază. +Intrare: 45.40, pe bara care confirmă retestul de la 44.25. +Stop-loss: 44.10, sub minimul barei de retest. Nivelul ăsta + invalidează intrarea, nu tot pattern-ul: dacă prețul recade sub bara de + retest, înseamnă că 45.00 nu ține ca suport, deci breakout-ul era fals. +Target 1: 48.00 (45.00 + 3.00). +Risc / recompensă: risc 1.30, recompensă 2.60 → 1:2 exact. + +De ce intrarea la retest, nu la breakout. Dacă intri la 45.40 dar pui +stopul sub picioarele bazei (41.90, varianta „conservatoare"), riști 3.50 ca +să câștigi 2.60 — 0.7R, un trade pe care îl pierzi pe termen lung chiar +dacă ai dreptate pe direcție. Adâncimea bazei e în același timp target-ul și +stopul conservator, deci raportul e structural prost. Retestul e singurul loc +de unde patternul ăsta dă un 1:2: îți oferă un nivel apropiat (minimul barei +de retest) care invalidează ideea. +Treci mai departe doar dacă ai o închidere peste rezistență cu volum +crescut. Fără asta, triple bottom-ul e desen, nu setup. +Ce arată cursul +Autorul trece prin aceleași trei picioare pe SPY la 1 minut, pe un grafic +daily, pe 15 minute (acolo cu breakout urmat de retest), pe Pfizer daily +(unde target-ul a fost atins înainte de retest) și pe Snowflake daily +(unde breakout-ul s-a făcut cu un gap up — o săritură de preț între +închiderea unei bare și deschiderea următoarei — și unde prețul a făcut +target 1, a consolidat, și apoi a făcut și target 2). Diagramele din fișierul +ăsta sunt serii continue, fără gap-uri; gap-urile sunt tratate în lecția +următoare, partea a 4-a. + +2. Rounding bottom (bază rotunjită) — long +Același scenariu de reversal, altă formă. Cursul îl descrie prin obiecte: +lighean, castron, strachină, farfurie adâncă de ciorbă. Diferența față de +triple bottom nu e regula de target — aia e identică — ci numărul și +așezarea picioarelor: la rounding bottom o să vezi de regulă mai mult de +trei, trei-patru-cinci, iar într-unul din exemplele lui, șapte, și nu sunt la +același nivel: formează o curbă, coboară până la fund și urcă treptat. + + + Rounding bottom — exemplu construit (fără ticker), 60 min + + castronul + + target 34.00 = 30.00 + 4.00 + + intrare 30.30 + + rezistență 30.00 + + SL 29.40 + + fundul castronului 26.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + 1 + 2 + 3 + 4 + 5 + breakout + retest + Castronul ține 20 de bare și 5 swing low-uri. Volum mare la capete, mic la mijloc. + +Cele cinci picioare din desen sunt 26.10, 26.00, 26.15, 26.60 și 27.30 — după +cel mai adânc, fiecare e mai sus decât cel dinainte. Asta e tot ce separă +vizual un castron de o bază triplă: la bază, picioarele cad pe aceeași linie; +la castron, urcă. +Unde apare. Cursul e explicit: rounding bottom apare la bottom, după +un trend descendent, și semnifică un bottom. Asta îl deosebește de cup with +handle, care arată aproape la fel dar vine după un uptrend — vezi secțiunea 4. +Semnătura de volum. Pe desen, volumul e mare la capete și mic în mijlocul +castronului. Mecanic: la intrarea în formațiune încă se vinde activ (lumea +ieșind din downtrend), în mijloc nu mai are nimeni grabă în nicio direcție — +vânzătorii s-au epuizat, cumpărătorii încă nu s-au hotărât — iar la ieșire +cumpărătorii revin în forță. Nu e o regulă de trigger, e un indiciu că forma +e reală și nu doar o zonă plată întâmplătoare. +Exemplu complet de trade — long + +Setup: rim (rezistență) la 30.00, fundul castronului la 26.00, + adâncime 4.00, cinci swing low-uri pe 20 de bare. +Trigger: bara de breakout închide la 30.40, peste 30.00, cu volumul cel + mai mare din toată formațiunea. +Intrare: 30.30, pe bara care confirmă retestul de la 29.55. +Stop-loss: 29.40, sub minimul barei de retest — aceeași regulă ca la + triple bottom, nu alta. +Target 1: 34.00 (30.00 + 4.00). +Risc / recompensă: risc 0.90, recompensă 3.70 → 1:4.1. + +Raportul e mai bun decât la baza triplă dintr-un motiv geometric, nu pentru +că pattern-ul e „mai bun": castronul e mai adânc față de cât de mult a revenit +prețul la retest. Când retestul e strâns, R-ul crește; când retestul coboară +mult sub linie, scade. Calculează-l de fiecare dată, nu-l presupune. +Treci mai departe doar dacă numeri cel puțin trei swing low-uri în curbă +și ai o închidere peste rim. +Ce arată cursul +QQQ (NASDAQ) pe 60 de minute — acolo cu un gap down în interiorul formațiunii, +apoi breakout, retest și decolare; SPY pe 1 minut, cu patru picioare; și +Russell pe 60 de minute, cu șapte swing low-uri, unde prețul a făcut +target-ul de două-trei ori și apoi a revenit să retesteze zona. Autorul +folosește exemplul cu șapte picioare ca să lege pattern-urile de swing +low-uri: „majoritatea pattern-urilor de care vorbim se bazează în realitate +pe swing high-uri sau swing low-uri". + +3. Triple top (vârf triplu) — short +Oglinda bazei triple, și cursul o descrie ca „o combinație între litera M și +litera V întoarse". Trei vârfuri la aproximativ același nivel, ca niște vârfuri +de munte; linia care unește swing low-urile dintre ele e suportul; +pattern-ul se confirmă la breakdown sub suport, iar tranzacția e short. + + + Triple top — exemplu construit (fără ticker), weekly + + vârfurile 68.00 + + SL 65.40 + + suport 65.00 + + intrare short 64.70 + + target 62.00 = 65.00 − 3.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + vârf 1 + vârf 2 + vârf 3 + breakdown + retest de dedesubt + Vârful triplu ține 15 bare, de la vârful 1 la ultima bară de sub el. + + +înălțime = vârfuri − suport = 68.00 − 65.00 = 3.00 +target 1 = suport − înălțime = 65.00 − 3.00 = 62.00 + +Mecanismul e oglindit, nu nou: cumpărătorii care voiau să cumpere la 65.00 au +cumpărat deja de două ori și s-au consumat; cei care au intrat long în timpul +formațiunii au stop-loss puțin sub 65.00, iar un stop-loss pe long e un ordin +de vânzare — când prețul atinge nivelul, vânzările alea se execută forțat și +toate odată. De-aia bara de breakdown are volumul cel mai mare din formațiune. +Exemplu complet de trade — short + +Setup: trei vârfuri la 68.00, suport la 65.00, înălțime 3.00. +Trigger: bara de breakdown închide la 64.60, sub 65.00, cu volum + maxim. +Intrare: 64.70 short, pe bara care confirmă retestul de dedesubt (prețul + urcă până la 65.30 și nu reușește să închidă peste linie). +Stop-loss: 65.40, peste maximul barei de retest — aceeași regulă ca la + long, oglindită. +Target 1: 62.00 (65.00 − 3.00). +Risc / recompensă: risc 0.70, recompensă 2.70 → 1:3.9. + +Și aici, varianta cu stopul larg (peste vârfuri, la 68.10) dă 0.8R — sub +1, din aceeași cauză structurală ca la triple bottom. Retestul e ce face +trade-ul. +Treci mai departe doar dacă ai o închidere sub suport. Un fitil sub linie +cu închidere peste ea e exact cazul „NU" din perechea de la secțiunea 1, +oglindit: același volum mic, aceeași revenire imediată în formațiune. +Varianta care seamănă cu Head & Shoulders +Întrebarea pe care cursul o anticipează: care e diferența dintre triple top +și head & shoulders normal? Răspunsul lui: „în unele dintre situații nu prea +e nicio diferență". În general triple top-ul are cele trei vârfuri la același +nivel. Dar există o variație în care vârful din mijloc e mai sus — și +atunci forma e literal un head & shoulders: mijlocul e capul, stânga și +dreapta sunt umerii. + + + Triple top cu vârful din mijloc mai sus — construit (fără ticker), weekly + + vârful 2 (capul) 69.50 + + umerii ≈ 67.50 + + suport (neckline) 65.00 + + target 60.50 = 65.00 − 4.50 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + vârf 1 + vârf 2 — cel mai sus + vârf 3 + breakdown + Înălțimea se măsoară de la vârful 2, nu de la cele laterale. + +Ce se schimbă practic nu e numele, e de unde măsori. Cu vârfurile la +același nivel, măsori de la ele. Cu vârful din mijloc mai sus, măsori de la +el — exact regula neckline → head din partea a 2-a: + +înălțime = vârful 2 − suport = 69.50 − 65.00 = 4.50 +target 1 = 65.00 − 4.50 = 60.50 + +Autorul face asta explicit pe exemplul lui de pe 60 de minute: „target 1 de +profit poate să fie înălțimea de la punctul 2 până aici". Dacă ai măsurat de +la umeri (67.50 − 65.00 = 2.50), ai fi ieșit la 62.50 și ai fi lăsat pe masă +două unități de preț. +Simetric, spune autorul, un triple bottom seamănă uneori cu un head & +shoulders inversat — aceeași logică, în jos. +Ce arată cursul +Netflix daily (breakdown, retest, apoi o cădere agresivă care a făcut +target-ul de două-trei ori), Amazon weekly (exemplul pe care îl folosește ca +să explice asemănarea cu H&S; după target a urmat retest, consolidare, cădere, +încă o consolidare, un double bottom, urcare, cădere), Alcoa weekly (breakdown +urmat de retest și o cădere agresivă) și Pepsi pe 60 de minute (cazul cu +măsurarea din vârful 2, cu target atins de mai multe ori și un retest înapoi). + +4. Cup with handle (ceașca cu mâner) — long, pattern de continuare +Primul pattern din serie care nu e reversal. Cursul insistă pe +diferența față de rounding bottom, pentru că formele sunt aproape identice: + +rounding bottom vine după un downtrend și marchează un bottom; +cup with handle vine după un uptrend, e o consolidare în interiorul + trendului, și semnalează continuarea lui. + +Cu alte cuvinte: dacă îl vezi la capătul unei scăderi, e un castron; dacă îl +vezi după o urcare, e o ceașcă. Aceeași curbă, două interpretări diferite, +pentru că trendul dinainte e diferit. + + + Cup with handle — exemplu construit (fără ticker), monthly + + mânerul + + target 160.00 = 120.00 + 40.00 + + intrare 121.00 + + rezistență 120.00 + + minimul mânerului 108.00 + + SL 107.00 + + limita de 50% 100.00 + + fundul ceștii 80.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + top 1 + top 2 + fundul ceștii + breakout + Mânerul: 4 bare, −30% din adâncime. Cele două top-uri la 120.00 = double top. + +Părțile formei, cu numele din curs: +- uptrend-ul anterior — primele bare, care aduc prețul la 120.00. +- rezistența, la 120.00, aici marcată de un double top: două maxime la + același nivel, unul la începutul ceștii și unul la sfârșitul ei. Cursul + notează că linia de rezistență e deseori „semnificată de un double top". +- ceașca — coborârea la 80.00 și revenirea la 120.00. Adâncimea ceștii + (120.00 − 80.00 = 40.00) e target-ul. +- mânerul (sau „codița") — pullback-ul scurt de la rezistență, aici 4 bare + până la 108.00. +- breakout-ul peste 120.00, care deschide trade-ul. +- target 1 = 120.00 + 40.00 = 160.00. +Singura regulă numerică a lecției: mânerul ≤ 50% +Ca pattern-ul să fie un cup with handle valid, spune cursul, mânerul nu ar +trebui să facă un pullback mai mare de 50% pe Fibonacci — adică retracement-ul +nu coboară sub jumătatea adâncimii ceștii. +Pe desen, jumătatea ceștii e la 100.00 (120.00 − 20.00). Mânerul coboară la +108.00, adică 30% din adâncime — valid, cu margine. +Un retracement (sau pullback) e o mișcare contrară trendului, care nu-l +anulează; „50% pe Fibonacci" e, în cazul ăsta, pur și simplu jumătatea +distanței pe care prețul a parcurs-o la revenirea din ceașcă. Cursul folosește +scala Fibonacci ca referință de nivel, nu ca indicator separat. +NU — mâner mai adânc de 50%: + + + NU — mâner mai adânc de 50% (construit, fără ticker), monthly + + rezistență 120.00 + + limita de 50% 100.00 + + minimul mânerului 96.00 + + fundul ceștii 80.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + top 1 + top 2 + fundul ceștii + rupe 100.00: −60% + fără breakout, prețul stă în ceașcă + Mânerul coboară la 96.00, sub limita de 50% desenată la 100.00. + +Aceeași ceașcă, alt mâner: coboară la 96.00, adică 60% din adâncimea de 40.00, +sub limita de 100.00. Diferența față de cazul „DA" e un singur număr — +108.00 față de 96.00 — dar consecința e structurală: prețul nu mai revine la +rezistență, deci nu există breakout și nu există trade. Un pullback care +înghite mai mult de jumătate din revenire nu e o pauză în trend, e începutul +unei mișcări contrare. +De ce regula de 50% îți dă direct raportul risc/recompensă +Aici cursul face un calcul care merită reținut, pentru că leagă o regulă de +formă de o regulă de bani. Raționamentul autorului: stop-loss-ul eficient stă +sub swing low-urile mânerului — nu jos, la fundul ceștii, „în niciun +caz". Iar mânerul are, prin regulă, cel mult jumătate din adâncimea ceștii. +Deci: + +riscul tău (de la breakout până sub mâner) ≤ jumătate din adâncime; +recompensa (de la breakout până la target) = toată adâncimea; +raport ≥ 1 la 2, exact cum spune autorul: „stop loss-ul tău ar fi 1 și + target de profit ar fi 2". + +Pe cifrele diagramei, cu mânerul la 30% în loc de 50%, iese chiar mai bine: + +Intrare: 121.00, pe închiderea barei de breakout peste 120.00. +Stop-loss: 107.00, sub minimul mânerului (108.00). Sub nivelul ăsta, + mânerul nu mai e un mâner. +Target 1: 160.00. +Risc / recompensă: risc 14.00, recompensă 39.00 → 1:2.8. +Dacă mânerul ar fi coborât până la limita de 100.00, stopul ar fi stat la + 99.00: risc 22.00, recompensă 39.00 → 1:1.8, adică exact „aproximativ + 1 la 2" din curs. Limita de 50% nu e o regulă de formă — e pragul sub care + trade-ul încetează să merite. + +Treci mai departe doar dacă (a) ai un uptrend înainte de ceașcă, (b) +mânerul nu a rupt jumătatea adâncimii, și (c) ai o închidere peste rezistență. +Ce arată cursul +Google monthly e exemplul principal: uptrend, pullback-uri, zona de +consolidare care închide ceașca, rezistența marcată de un double top. Autorul +spune că a recomandat Google și că, pe un grafic monthly, s-ar aștepta ca +adâncimea să fie acoperită „în câteva luni, un an, doi, trei" — și adaugă: +„asta înseamnă să fii investitor pe termen lung și foarte lung". Pe +AUDJPY weekly arată uptrend-ul, interiorul și adâncimea ceștii, mânerul, și +acolo enunță regula de 50% și calculul de risk-reward. Pe SPY monthly, +corecția de bear market începută în 2022 e însăși ceașca, iar retracement-ul +de 50% e ultima corecție înainte de decolare. Pe QQQ monthly, breakout cu +retestare și cam jumătate din obiectiv îndeplinit la momentul lecției. Pe +Nvidia monthly, un detaliu util: retestul s-a oprit deasupra liniei, nu a +coborât până la jumătate — un retest superficial e un semn de forță, nu o +condiție de validare; target-ul a fost făcut și depășit, apoi a urmat o +consolidare cu doji, hammer-uri și un spinning top și un nou breakout. Pe +bitcoin monthly, retracement-ul masiv de bear market e ceașca, cu un triple +top pe rezistență; autorul leagă ținta de 100.000 despre care vorbea piața de +acest pattern, cu precizarea onestă că „nu știu ce înseamnă perioada +următoare, poate să fie câteva luni sau câțiva ani". + +5. Varianta bear: inverted cup with handle / rounding top — short +Cursul confirmă că varianta bear există, că e „inversată" și că seamănă cu un +rounding top, un pattern pe care îl numește destul de rar întâlnit, „dar +apare". Îl arată pe Google, într-o corecție majoră: rotunjirea de sus, +adâncimea proiectată în jos (care a acoperit cam trei sferturi din obiectiv), +căderea sub linia de suport, apoi consolidare, breakout, urcare, iar +consolidare — și, în zona de la final, o ceașcă cu mâner normală, din nou. +Pentru că lecția nu desenează varianta short pas cu pas, iar userul e vizual, +aici e oglinda completă, nu o propoziție „e invers": + + + Inverted cup with handle / rounding top — construit (fără ticker), monthly + + mânerul inversat + + vârful cupolei 120.00 + + SL 99.00 + + limita de 50% 105.00 + + suport 90.00 + + intrare short 89.00 + + target 60.00 = 90.00 − 30.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + fund 1 + fund 2 + vârful cupolei + breakdown + Mânerul inversat: 4 bare, +27%. Cele două funduri la 90.00 = double bottom. + +Totul e simetric față de secțiunea 4: +- downtrend anterior aduce prețul la suportul de 90.00; +- cupola urcă la 120.00 și revine la 90.00, formând un double bottom + pe suport (oglinda double top-ului de pe rezistență); +- adâncimea cupolei = 120.00 − 90.00 = 30.00; +- mânerul inversat e o revenire scurtă în sus, aici până la 98.00, adică + 27% din cupolă — sub limita de 50%, care pe short se desenează la 105.00; +- breakdown sub 90.00 deschide short-ul. +Exemplu complet de trade: +- Intrare: 89.00 short, pe închiderea barei de breakdown sub 90.00. +- Stop-loss: 99.00, peste maximul mânerului inversat (98.00). +- Target 1: 60.00 (90.00 − 30.00). +- Risc / recompensă: risc 10.00, recompensă 29.00 → 1:2.9. +Regula de 50% funcționează identic: dacă mânerul inversat urcă peste 105.00, +stopul se duce peste nivelul ăla, riscul depășește jumătatea cupolei și +raportul cade sub 1:2. + +Mini-glosar + +Triple bottom / bază triplă — trei picioare (swing low-uri) la același + nivel, sub o rezistență comună. Pattern bull. Secțiunea 1. +Rounding bottom / bază rotunjită — 3-7 swing low-uri într-o curbă de + castron, după un downtrend. Pattern bull. Secțiunea 2. +Triple top / vârf triplu — trei vârfuri la același nivel, peste un + suport comun. Pattern bear. Secțiunea 3. +Cup with handle / ceașca cu mâner — ceașcă (coborâre + revenire la + rezistență) plus un mâner scurt de maximum 50% din adâncime, după un + uptrend. Pattern bull de continuare. Secțiunea 4. +Rounding top — oglinda cupei, formă rotunjită la vârf. Pattern bear, + rar. Secțiunea 5. +Mâner / codiță — pullback-ul scurt de la rezistență, chiar înainte de + breakout. Desenat ca zonă punctată în diagramele de la secțiunile 4 și 5. +Rim — marginea de sus a ceștii sau a castronului; practic, nivelul de + rezistență (la long) sau de suport (la short) al formațiunii. +Double top / double bottom — două maxime, respectiv două minime, la + același nivel. Aici apar ca modul în care se „semnifică" linia de rezistență + a ceștii (secțiunea 4) și linia de suport a cupolei (secțiunea 5). +Breakout / breakdown — prima închidere peste rezistență, respectiv + sub suport. Un fitil nu e un breakout: vezi perechea DA/NU din secțiunea 1. +Retest — după breakout, prețul revine să atingă nivelul spart, care + acum joacă rolul opus (rezistența devine suport). Dacă ține, e locul de + intrare cu stopul cel mai mic. +Fals breakout — traversare cu fitil, închidere de partea greșită a + liniei, volum mic. Diagrama „NU" din secțiunea 1. +Gap up / gap down — săritură de preț între închiderea unei bare și + deschiderea următoarei. Cursul le întâlnește în două exemple; sunt subiectul + lecției următoare. +R — unitatea de risc: 1R = distanța de la intrare la stop-loss. „1:2" + înseamnă că riști 1R ca să câștigi 2R. + +Gotchas practice + +Un nivel „la același nivel" nu e la cent. Picioarele din diagrama de la + secțiunea 1 sunt 42.00, 42.05 și 42.00. Dacă aștepți trei minime identice, + nu găsești niciun pattern. Zona contează, nu cifra exactă. +Nu măsura de la umeri când mijlocul e mai sus. E greșeala pe care + cursul o previne explicit la triple top: 2.50 în loc de 4.50 de înălțime, + deci o ieșire cu două unități de preț mai sus decât trebuia. Uită-te întâi + care dintre cele trei vârfuri (sau picioare) e extremul, și măsoară de la el. +Nu pune stop-loss-ul la fundul ceștii. Cursul spune direct: „nu ar + trebui să te duci cu stop loss-ul până aici jos, niciun caz". Pe cifrele de + la secțiunea 4, un stop sub fundul ceștii, la 79.00, în loc de 107.00 transformă un 1:2.8 într-un + trade de 1:0.9 — cu exact același setup și același target. +Adâncimea e în același timp target și capcană de stop. La triple bottom + și triple top, stopul „conservator" (dincolo de picioare/vârfuri) e aproape + egal cu target-ul, deci dă sub 1R: 0.7R și 0.8R pe diagramele de aici. + Pattern-urile astea cer intrare pe retest, nu „stop larg, că e mai sigur". +Target 1 e o proiecție, nu o promisiune. În exemplele cursului prețul l-a + depășit de două-trei ori (Netflix, Russell, Nvidia) și în altele era la + jumătate la momentul lecției (QQQ, SPY). Ia parțial profit dacă piața dă + semne de epuizare înainte; nu aștepta orbește cifra calculată. + +Ce urmează, și sfatul de final al lecției +Partea a 4-a tratează triunghiuri, bull flag-uri, wedge pattern-uri și +gap-uri. Sfatul cu care autorul închide lecția: ia pattern-urile astea și +obișnuiește-te să le recunoști cu ochii tăi, pe cât mai multe timeframe-uri, +pentru că „e nevoie de timp de expunere". Dă exemplul lui Thomas Edison, care +a răspuns la întrebarea cum a continuat după atâtea eșecuri: nu au fost 9.999 +de eșecuri, au fost 9.999 de încercări nereușite, iar a zece-miia a reușit. +Concluzia lui: după zece mii de grafice văzute, ești la nivel de maestru în +recunoașterea pattern-urilor. +Referințe + +IG — What is the triple bottom chart pattern and how do you trade with it — structura celor trei picioare și regula de target (adâncimea proiectată din punctul de breakout). +CMC Markets — Triple top and triple bottom patterns explained — ambele direcții într-o singură pagină, cu rolul volumului la breakout. +CMC Markets — Cup and handle pattern: what it is and how to trade it — ceașca, mânerul și adâncimea; confirmă regula de retracement al mânerului. +Fidelity — Cup with handle — definiția „clasică" a pattern-ului (originea la William O'Neil) și forma rotunjită, nu în V, a fundului ceștii. + + +Notă — ce vine din curs și ce e completarea mea. Din curs: cele cinci +pattern-uri și numele lor, regula de target (adâncimea/înălțimea proiectată de +la linia spartă, identică la toate), limita de 50% a mânerului, locul +stop-loss-ului sub swing low-urile mânerului, raționamentul de risc/recompensă +~1:2 la cup with handle, diferența rounding bottom / cup with handle (bottom +vs. continuare de trend), echivalența triple top cu vârful din mijloc mai sus += head & shoulders normal, măsurarea din vârful 2 în acel caz, instrumentele și +timeframe-urile enumerate, ținta de 100.000 pentru bitcoin ca afirmație a +pieței, și sfatul de final cu timpul de expunere. Completarea mea: toate +cifrele de preț și toate diagramele (cursul nu rostește nicio cotație), cele +două perechi DA/NU (fals breakout la triple bottom, mâner de 60% la cup with +handle), mecanismul prin care al treilea test al unui nivel îl rupe (consumarea +ordinelor de la nivel + stop-urile forțate de deasupra lui), observația că +stopul „conservator" dincolo de picioare dă sub 1R, semnătura de volum a +castronului, și diagrama completă a variantei bear de la secțiunea 5, pe care +lecția o menționează fără să o detalieze.← 01. #1 — RadarScreen: cum găsești tranzacțiile de 5 stele↑ index + + diff --git a/summaries/06_MODUL_5/02_patternuri_complexe_partea_a_treia.md b/summaries/06_MODUL_5/02_patternuri_complexe_partea_a_treia.md new file mode 100644 index 0000000..aa89158 --- /dev/null +++ b/summaries/06_MODUL_5/02_patternuri_complexe_partea_a_treia.md @@ -0,0 +1,1499 @@ +# Modul 5 / #2 — Patternuri complexe (partea 3): triple bottom, rounding bottom, triple top, cup with handle + +## TLDR +Patru patternuri noi, toate măsurate după aceeași regulă: iei adâncimea (sau +înălțimea) formațiunii și o proiectezi de la linia care s-a rupt. Trei sunt +reversal — **triple bottom** și **rounding bottom** la final de downtrend, +**triple top** la final de uptrend. Al patrulea, **cup with handle**, nu e +reversal: e un pattern de continuare, apare *în interiorul* unui uptrend, și +singurul care are o condiție numerică proprie — mânerul nu coboară mai mult +de 50% din adâncimea ceștii. + +## Ce e nou față de partea a 2-a +[Partea a 2-a](../05_MODUL_4/01_patternuri_complexe_partea_a_doua.md) a +tratat Head & Shoulders, normal și inversat: cum arată, de ce funcționează +mecanic (dezechilibrul cumpărători/vânzători, bid/ask), de ce nu intri +înainte de breakout. Mecanismul ăla nu se repetă aici — e scris o dată, +acolo, și se aplică identic. + +Ce aduce lecția asta, în plus: + +- **Un al treilea test al aceluiași nivel**, în loc de doi. Triple bottom și + triple top sunt varianta cu trei picioare/trei vârfuri a lui double + bottom / double top. +- **Forma rotunjită**, care nu are picioare distincte: rounding bottom, cu + 3-5 sau chiar 7 swing low-uri într-o curbă. +- **Primul pattern de continuare** din serie: cup with handle, cu singura + regulă numerică explicită a lecției (mânerul ≤ 50%) și cu un raport + risc/recompensă care iese direct din regula aia. +- **Legătura dintre patternuri.** Cursul insistă: un triple top cu vârful din + mijloc mai sus *este* un head & shoulders normal, iar un triple bottom + seamănă uneori cu H&S inversat. Nu sunt forme separate pe care le ții minte + una lângă alta — sunt variații ale aceleiași structuri. + +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 cu precizarea că patternurile astea sunt **litera M** din +acronimul cursului, adică setup-ul, nu tot trade-ul. + +**Pe ce timeframe?** Pe oricare. Autorul le arată pe 1 minut, 15 minute, 60 +de minute, daily, weekly și monthly în aceeași lecție, și spune explicit că +forma se păstrează pe toate — ce se schimbă e stilul de trader, nu pattern-ul. + +**Termeni presupuși știuți:** un **swing low** e un minim local (un preț mai +jos decât barele vecine din stânga și din dreapta), un **swing high** e un +maxim local. Sunt definiți cu diagramă în +[partea 1](../04_MODUL_3/02_patternuri_complexe_partea_1.md). Lecția asta +spune de ce contează: picioarele unui triple bottom și vârfurile unui triple +top **sunt** swing low-uri și swing high-uri — fără ele nu poți nici măcar +să numeri câte picioare are formațiunea. + +**Cum citești diagramele.** Toate graficele din fișier sunt serii continue de +25-36 de bare, construite de mine la scară, cu panou de volum dedesubt și cu +media mobilă simplă pe 20 de bare (**SMA-20**) ca linia gri punctată. Cursul +arată patternurile pe grafice reale, dar **nu rostește nicio cifră de preț**, +așa că diagramele nu poartă ticker: titlul lor spune „exemplu construit (fără +ticker)". Singurele cifre din lecție sunt limita de 50% a mânerului, raportul +risc/recompensă aproximativ 1:2 și ținta de 100.000 pentru bitcoin despre +care autorul spune că o repetă piața, nu el. + +--- + +## 1. Triple bottom (bază triplă) — long + +Cursul îl descrie ca „litera V cu litera W": prețul coboară, atinge un nivel, +revine, coboară iar la același nivel, revine, coboară a treia oară la același +nivel. Linia care unește maximele dintre picioare e **rezistența**. Pattern-ul +nu există până când prețul nu rupe rezistența în sus. + + + + Triple bottom — exemplu construit (fără ticker), daily + + baza triplă + + target 48.00 = 45.00 + 3.00 + + intrare 45.40 + + rezistență 45.00 + + SL 44.10 + + picioarele 42.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + picior 1 + picior 2 + picior 3 + breakout cu volum dublu + retest + Baza triplă ține 17 bare. Linia gri punctată e SMA-20, pe toate graficele. + + +Ce vezi pe desen, de la stânga la dreapta: un downtrend care aduce prețul în +zonă, trei picioare la 42.00 (al doilea e la 42.05 — „același nivel" nu +înseamnă la cent, înseamnă în aceeași zonă), rezistența la 45.00 testată de +două ori de dedesubt, breakout-ul cu volum dublu față de media bazei, un +retest al liniei spărte și apoi mișcarea spre target. + +### Cum se calculează target-ul +Exact ca la double bottom, din partea anterioară: **adâncimea din interiorul +formațiunii, proiectată de la linia spartă.** + +- adâncime = rezistență − picioare = 45.00 − 42.00 = **3.00** +- target 1 = rezistență + adâncime = 45.00 + 3.00 = **48.00** + +Pe desen, distanța de la 45.00 în jos la 42.00 și distanța de la 45.00 în sus +la 48.00 sunt egale în pixeli, nu doar în text — diagrama e generată din +prețuri, cu o singură scară px/unitate. + +### De ce al treilea test rupe nivelul, mecanic +Mecanismul de bază (de ce o dominanță de cumpărători mută prețul în sus) e +explicat în partea a 2-a și nu se repetă. Ce e specific aici e **de ce al +treilea picior e ultimul**, și asta are două cauze concrete: + +1. **Vânzătorii de la 45.00 se consumă.** Fiecare dintre cele două revenirii + la 45.00 a fost oprită de ordine de vânzare așezate la acel nivel. Alea + s-au executat. La a treia revenire, cei care voiau să vândă la 45.00 au + vândut deja de două ori — nu mai sunt destui ca să țină nivelul a treia + oară. +2. **Deasupra nivelului s-au adunat ordine de cumpărare forțate.** Oricine a + intrat short în timpul bazei își pune stop-loss-ul puțin peste 45.00, + pentru că acolo ideea lui de short e invalidată. Un stop-loss pe short e, + mecanic, un ordin de cumpărare. Când prețul atinge 45.00, platformele + execută automat cumpărările alea, toate în același moment — de-aia bara de + breakout are volum dublu față de bazele dinainte, și de-aia mișcarea e + bruscă, nu lentă. + +Asta e și motivul pentru care **nu intri pe formă**: până la breakout, ambele +mecanisme sunt doar potențiale. + +### Trigger DA / trigger NU +Aceeași traversare a liniei de 45.00 poate arăta identic în prima secundă. +Diferența se vede în ce face prețul imediat după. + +**DA — breakout confirmat, retest care ține.** E cazul din diagrama de mai +sus: bara de breakout **închide** peste 45.00 (la 45.30), cu volum dublu față +de media bazei; prețul revine la 44.25, deci atinge zona liniei dar nu cade +prin ea, și repornește în sus. Nivelul și-a schimbat rolul: din rezistență a +devenit suport. Intri la 45.40, pe închiderea barei care confirmă retestul. + +**NU — fals breakout.** Aceeași bază, altă traversare: + + + + NU — fals breakout pe aceeași bază triplă (construit), daily + + rezistență 45.00 + + vârf 45.08 + + picioarele 42.00 + + 40.60 — invalidat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + picior 1 + picior 2 + picior 3 + închide sub linie, volum mic + sub picioare: nu mai e bază triplă + Atinge 45.08, închide sub 45.00 cu volum mic, apoi cade sub picioare. + + +Diferențele numerice, una lângă alta: aici prețul atinge 45.08 (8 cenți peste +linie) dar **închide la 44.85, sub linie**, cu volum mai mic decât la oricare +dintre picioare — exact invers decât la breakout-ul valid. Apoi cade și rupe +picioarele la 40.60. Din clipa aia nu mai e o bază triplă: o bază se +definește prin picioare care țin, iar ăsta nu mai ține. + +Regula de citit, în două rânduri: +- **DA:** închidere peste linie + volum peste media bazei. Dacă vine și un + retest care ține, ai și o intrare cu stop mic. +- **NU:** fitil peste linie cu închidere sub ea, volum mic, sau o coborâre + sub picioare. + +### Exemplu complet de trade — long +- **Setup:** trei picioare la 42.00, rezistență la 45.00, adâncime 3.00. +- **Trigger:** bara de breakout închide la 45.30 cu volum dublu față de bază. +- **Intrare:** 45.40, pe bara care confirmă retestul de la 44.25. +- **Stop-loss:** 44.10, sub minimul barei de retest. Nivelul ăsta + invalidează intrarea, nu tot pattern-ul: dacă prețul recade sub bara de + retest, înseamnă că 45.00 nu ține ca suport, deci breakout-ul era fals. +- **Target 1:** 48.00 (45.00 + 3.00). +- **Risc / recompensă:** risc 1.30, recompensă 2.60 → **1:2 exact**. + +**De ce intrarea la retest, nu la breakout.** Dacă intri la 45.40 dar pui +stopul sub picioarele bazei (41.90, varianta „conservatoare"), riști 3.50 ca +să câștigi 2.60 — **0.7R**, un trade pe care îl pierzi pe termen lung chiar +dacă ai dreptate pe direcție. Adâncimea bazei e în același timp target-ul și +stopul conservator, deci raportul e structural prost. Retestul e singurul loc +de unde patternul ăsta dă un 1:2: îți oferă un nivel apropiat (minimul barei +de retest) care invalidează ideea. + +**Treci mai departe doar dacă** ai o închidere peste rezistență cu volum +crescut. Fără asta, triple bottom-ul e desen, nu setup. + +### Ce arată cursul +Autorul trece prin aceleași trei picioare pe SPY la 1 minut, pe un grafic +daily, pe 15 minute (acolo cu breakout urmat de retest), pe Pfizer daily +(unde target-ul a fost atins **înainte** de retest) și pe Snowflake daily +(unde breakout-ul s-a făcut cu un gap up — o săritură de preț între +închiderea unei bare și deschiderea următoarei — și unde prețul a făcut +target 1, a consolidat, și apoi a făcut și target 2). Diagramele din fișierul +ăsta sunt serii continue, fără gap-uri; gap-urile sunt tratate în lecția +următoare, partea a 4-a. + +--- + +## 2. Rounding bottom (bază rotunjită) — long + +Același scenariu de reversal, altă formă. Cursul îl descrie prin obiecte: +lighean, castron, strachină, farfurie adâncă de ciorbă. Diferența față de +triple bottom nu e regula de target — aia e identică — ci **numărul și +așezarea picioarelor**: la rounding bottom o să vezi de regulă mai mult de +trei, trei-patru-cinci, iar într-unul din exemplele lui, șapte, și nu sunt la +același nivel: formează o curbă, coboară până la fund și urcă treptat. + + + + Rounding bottom — exemplu construit (fără ticker), 60 min + + castronul + + target 34.00 = 30.00 + 4.00 + + intrare 30.30 + + rezistență 30.00 + + SL 29.40 + + fundul castronului 26.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + 1 + 2 + 3 + 4 + 5 + breakout + retest + Castronul ține 20 de bare și 5 swing low-uri. Volum mare la capete, mic la mijloc. + + +Cele cinci picioare din desen sunt 26.10, 26.00, 26.15, 26.60 și 27.30 — după +cel mai adânc, fiecare e mai sus decât cel dinainte. Asta e tot ce separă +vizual un castron de o bază triplă: la bază, picioarele cad pe aceeași linie; +la castron, urcă. + +**Unde apare.** Cursul e explicit: rounding bottom apare **la bottom**, după +un trend descendent, și semnifică un bottom. Asta îl deosebește de cup with +handle, care arată aproape la fel dar vine după un **uptrend** — vezi secțiunea 4. + +**Semnătura de volum.** Pe desen, volumul e mare la capete și mic în mijlocul +castronului. Mecanic: la intrarea în formațiune încă se vinde activ (lumea +ieșind din downtrend), în mijloc nu mai are nimeni grabă în nicio direcție — +vânzătorii s-au epuizat, cumpărătorii încă nu s-au hotărât — iar la ieșire +cumpărătorii revin în forță. Nu e o regulă de trigger, e un indiciu că forma +e reală și nu doar o zonă plată întâmplătoare. + +### Exemplu complet de trade — long +- **Setup:** rim (rezistență) la 30.00, fundul castronului la 26.00, + adâncime 4.00, cinci swing low-uri pe 20 de bare. +- **Trigger:** bara de breakout închide la 30.40, peste 30.00, cu volumul cel + mai mare din toată formațiunea. +- **Intrare:** 30.30, pe bara care confirmă retestul de la 29.55. +- **Stop-loss:** 29.40, sub minimul barei de retest — aceeași regulă ca la + triple bottom, nu alta. +- **Target 1:** 34.00 (30.00 + 4.00). +- **Risc / recompensă:** risc 0.90, recompensă 3.70 → **1:4.1**. + +Raportul e mai bun decât la baza triplă dintr-un motiv geometric, nu pentru +că pattern-ul e „mai bun": castronul e mai adânc față de cât de mult a revenit +prețul la retest. Când retestul e strâns, R-ul crește; când retestul coboară +mult sub linie, scade. Calculează-l de fiecare dată, nu-l presupune. + +**Treci mai departe doar dacă** numeri cel puțin trei swing low-uri în curbă +și ai o închidere peste rim. + +### Ce arată cursul +QQQ (NASDAQ) pe 60 de minute — acolo cu un gap down în interiorul formațiunii, +apoi breakout, retest și decolare; SPY pe 1 minut, cu patru picioare; și +Russell pe 60 de minute, cu **șapte** swing low-uri, unde prețul a făcut +target-ul de două-trei ori și apoi a revenit să retesteze zona. Autorul +folosește exemplul cu șapte picioare ca să lege pattern-urile de swing +low-uri: „majoritatea pattern-urilor de care vorbim se bazează în realitate +pe swing high-uri sau swing low-uri". + +--- + +## 3. Triple top (vârf triplu) — short + +Oglinda bazei triple, și cursul o descrie ca „o combinație între litera M și +litera V întoarse". Trei vârfuri la aproximativ același nivel, ca niște vârfuri +de munte; linia care unește swing low-urile dintre ele e **suportul**; +pattern-ul se confirmă la **breakdown** sub suport, iar tranzacția e short. + + + + Triple top — exemplu construit (fără ticker), weekly + + vârfurile 68.00 + + SL 65.40 + + suport 65.00 + + intrare short 64.70 + + target 62.00 = 65.00 − 3.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + vârf 1 + vârf 2 + vârf 3 + breakdown + retest de dedesubt + Vârful triplu ține 15 bare, de la vârful 1 la ultima bară de sub el. + + +- înălțime = vârfuri − suport = 68.00 − 65.00 = **3.00** +- target 1 = suport − înălțime = 65.00 − 3.00 = **62.00** + +Mecanismul e oglindit, nu nou: cumpărătorii care voiau să cumpere la 65.00 au +cumpărat deja de două ori și s-au consumat; cei care au intrat long în timpul +formațiunii au stop-loss puțin sub 65.00, iar un stop-loss pe long e un ordin +de vânzare — când prețul atinge nivelul, vânzările alea se execută forțat și +toate odată. De-aia bara de breakdown are volumul cel mai mare din formațiune. + +### Exemplu complet de trade — short +- **Setup:** trei vârfuri la 68.00, suport la 65.00, înălțime 3.00. +- **Trigger:** bara de breakdown închide la 64.60, sub 65.00, cu volum + maxim. +- **Intrare:** 64.70 short, pe bara care confirmă retestul de dedesubt (prețul + urcă până la 65.30 și nu reușește să închidă peste linie). +- **Stop-loss:** 65.40, peste maximul barei de retest — aceeași regulă ca la + long, oglindită. +- **Target 1:** 62.00 (65.00 − 3.00). +- **Risc / recompensă:** risc 0.70, recompensă 2.70 → **1:3.9**. + +Și aici, varianta cu stopul larg (peste vârfuri, la 68.10) dă **0.8R** — sub +1, din aceeași cauză structurală ca la triple bottom. Retestul e ce face +trade-ul. + +**Treci mai departe doar dacă** ai o închidere sub suport. Un fitil sub linie +cu închidere peste ea e exact cazul „NU" din perechea de la secțiunea 1, +oglindit: același volum mic, aceeași revenire imediată în formațiune. + +### Varianta care seamănă cu Head & Shoulders +Întrebarea pe care cursul o anticipează: *care e diferența dintre triple top +și head & shoulders normal?* Răspunsul lui: „în unele dintre situații nu prea +e nicio diferență". În general triple top-ul are cele trei vârfuri la același +nivel. Dar există o variație în care **vârful din mijloc e mai sus** — și +atunci forma e literal un head & shoulders: mijlocul e capul, stânga și +dreapta sunt umerii. + + + + Triple top cu vârful din mijloc mai sus — construit (fără ticker), weekly + + vârful 2 (capul) 69.50 + + umerii ≈ 67.50 + + suport (neckline) 65.00 + + target 60.50 = 65.00 − 4.50 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + vârf 1 + vârf 2 — cel mai sus + vârf 3 + breakdown + Înălțimea se măsoară de la vârful 2, nu de la cele laterale. + + +Ce se schimbă practic nu e numele, e **de unde măsori**. Cu vârfurile la +același nivel, măsori de la ele. Cu vârful din mijloc mai sus, măsori de la +el — exact regula neckline → head din partea a 2-a: + +- înălțime = vârful 2 − suport = 69.50 − 65.00 = **4.50** +- target 1 = 65.00 − 4.50 = **60.50** + +Autorul face asta explicit pe exemplul lui de pe 60 de minute: „target 1 de +profit poate să fie înălțimea de la punctul 2 până aici". Dacă ai măsurat de +la umeri (67.50 − 65.00 = 2.50), ai fi ieșit la 62.50 și ai fi lăsat pe masă +două unități de preț. + +Simetric, spune autorul, un triple bottom seamănă uneori cu un head & +shoulders inversat — aceeași logică, în jos. + +### Ce arată cursul +Netflix daily (breakdown, retest, apoi o cădere agresivă care a făcut +target-ul de două-trei ori), Amazon weekly (exemplul pe care îl folosește ca +să explice asemănarea cu H&S; după target a urmat retest, consolidare, cădere, +încă o consolidare, un double bottom, urcare, cădere), Alcoa weekly (breakdown +urmat de retest și o cădere agresivă) și Pepsi pe 60 de minute (cazul cu +măsurarea din vârful 2, cu target atins de mai multe ori și un retest înapoi). + +--- + +## 4. Cup with handle (ceașca cu mâner) — long, pattern de continuare + +Primul pattern din serie care **nu** e reversal. Cursul insistă pe +diferența față de rounding bottom, pentru că formele sunt aproape identice: + +- **rounding bottom** vine după un **downtrend** și marchează un bottom; +- **cup with handle** vine după un **uptrend**, e o consolidare în interiorul + trendului, și semnalează continuarea lui. + +Cu alte cuvinte: dacă îl vezi la capătul unei scăderi, e un castron; dacă îl +vezi după o urcare, e o ceașcă. Aceeași curbă, două interpretări diferite, +pentru că trendul dinainte e diferit. + + + + Cup with handle — exemplu construit (fără ticker), monthly + + mânerul + + target 160.00 = 120.00 + 40.00 + + intrare 121.00 + + rezistență 120.00 + + minimul mânerului 108.00 + + SL 107.00 + + limita de 50% 100.00 + + fundul ceștii 80.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + top 1 + top 2 + fundul ceștii + breakout + Mânerul: 4 bare, −30% din adâncime. Cele două top-uri la 120.00 = double top. + + +Părțile formei, cu numele din curs: +- **uptrend-ul anterior** — primele bare, care aduc prețul la 120.00. +- **rezistența**, la 120.00, aici marcată de un **double top**: două maxime la + același nivel, unul la începutul ceștii și unul la sfârșitul ei. Cursul + notează că linia de rezistență e deseori „semnificată de un double top". +- **ceașca** — coborârea la 80.00 și revenirea la 120.00. **Adâncimea ceștii** + (120.00 − 80.00 = 40.00) e target-ul. +- **mânerul** (sau „codița") — pullback-ul scurt de la rezistență, aici 4 bare + până la 108.00. +- **breakout-ul** peste 120.00, care deschide trade-ul. +- **target 1** = 120.00 + 40.00 = **160.00**. + +### Singura regulă numerică a lecției: mânerul ≤ 50% +Ca pattern-ul să fie un cup with handle valid, spune cursul, mânerul **nu ar +trebui să facă un pullback mai mare de 50% pe Fibonacci** — adică retracement-ul +nu coboară sub jumătatea adâncimii ceștii. + +Pe desen, jumătatea ceștii e la 100.00 (120.00 − 20.00). Mânerul coboară la +108.00, adică 30% din adâncime — valid, cu margine. + +Un **retracement** (sau pullback) e o mișcare contrară trendului, care nu-l +anulează; „50% pe Fibonacci" e, în cazul ăsta, pur și simplu jumătatea +distanței pe care prețul a parcurs-o la revenirea din ceașcă. Cursul folosește +scala Fibonacci ca referință de nivel, nu ca indicator separat. + +**NU — mâner mai adânc de 50%:** + + + + NU — mâner mai adânc de 50% (construit, fără ticker), monthly + + rezistență 120.00 + + limita de 50% 100.00 + + minimul mânerului 96.00 + + fundul ceștii 80.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + top 1 + top 2 + fundul ceștii + rupe 100.00: −60% + fără breakout, prețul stă în ceașcă + Mânerul coboară la 96.00, sub limita de 50% desenată la 100.00. + + +Aceeași ceașcă, alt mâner: coboară la 96.00, adică 60% din adâncimea de 40.00, +sub limita de 100.00. Diferența față de cazul „DA" e un singur număr — +108.00 față de 96.00 — dar consecința e structurală: prețul nu mai revine la +rezistență, deci nu există breakout și nu există trade. Un pullback care +înghite mai mult de jumătate din revenire nu e o pauză în trend, e începutul +unei mișcări contrare. + +### De ce regula de 50% îți dă direct raportul risc/recompensă +Aici cursul face un calcul care merită reținut, pentru că leagă o regulă de +formă de o regulă de bani. Raționamentul autorului: stop-loss-ul eficient stă +**sub swing low-urile mânerului** — nu jos, la fundul ceștii, „în niciun +caz". Iar mânerul are, prin regulă, cel mult jumătate din adâncimea ceștii. +Deci: + +- riscul tău (de la breakout până sub mâner) ≤ jumătate din adâncime; +- recompensa (de la breakout până la target) = toată adâncimea; +- raport ≥ **1 la 2**, exact cum spune autorul: „stop loss-ul tău ar fi 1 și + target de profit ar fi 2". + +Pe cifrele diagramei, cu mânerul la 30% în loc de 50%, iese chiar mai bine: + +- **Intrare:** 121.00, pe închiderea barei de breakout peste 120.00. +- **Stop-loss:** 107.00, sub minimul mânerului (108.00). Sub nivelul ăsta, + mânerul nu mai e un mâner. +- **Target 1:** 160.00. +- **Risc / recompensă:** risc 14.00, recompensă 39.00 → **1:2.8**. +- Dacă mânerul ar fi coborât până la limita de 100.00, stopul ar fi stat la + 99.00: risc 22.00, recompensă 39.00 → **1:1.8**, adică exact „aproximativ + 1 la 2" din curs. Limita de 50% nu e o regulă de formă — e pragul sub care + trade-ul încetează să merite. + +**Treci mai departe doar dacă** (a) ai un uptrend înainte de ceașcă, (b) +mânerul nu a rupt jumătatea adâncimii, și (c) ai o închidere peste rezistență. + +### Ce arată cursul +Google monthly e exemplul principal: uptrend, pullback-uri, zona de +consolidare care închide ceașca, rezistența marcată de un double top. Autorul +spune că a recomandat Google și că, pe un grafic monthly, s-ar aștepta ca +adâncimea să fie acoperită „în câteva luni, un an, doi, trei" — și adaugă: +„asta înseamnă să fii investitor pe termen lung și foarte lung". Pe +AUDJPY weekly arată uptrend-ul, interiorul și adâncimea ceștii, mânerul, și +acolo enunță regula de 50% și calculul de risk-reward. Pe SPY monthly, +corecția de bear market începută în 2022 e însăși ceașca, iar retracement-ul +de 50% e ultima corecție înainte de decolare. Pe QQQ monthly, breakout cu +retestare și cam jumătate din obiectiv îndeplinit la momentul lecției. Pe +Nvidia monthly, un detaliu util: **retestul s-a oprit deasupra liniei, nu a +coborât până la jumătate** — un retest superficial e un semn de forță, nu o +condiție de validare; target-ul a fost făcut și depășit, apoi a urmat o +consolidare cu doji, hammer-uri și un spinning top și un nou breakout. Pe +bitcoin monthly, retracement-ul masiv de bear market e ceașca, cu un triple +top pe rezistență; autorul leagă ținta de 100.000 despre care vorbea piața de +acest pattern, cu precizarea onestă că „nu știu ce înseamnă perioada +următoare, poate să fie câteva luni sau câțiva ani". + +--- + +## 5. Varianta bear: inverted cup with handle / rounding top — short + +Cursul confirmă că varianta bear există, că e „inversată" și că seamănă cu un +**rounding top**, un pattern pe care îl numește destul de rar întâlnit, „dar +apare". Îl arată pe Google, într-o corecție majoră: rotunjirea de sus, +adâncimea proiectată în jos (care a acoperit cam trei sferturi din obiectiv), +căderea sub linia de suport, apoi consolidare, breakout, urcare, iar +consolidare — și, în zona de la final, o ceașcă cu mâner normală, din nou. + +Pentru că lecția nu desenează varianta short pas cu pas, iar userul e vizual, +aici e oglinda completă, nu o propoziție „e invers": + + + + Inverted cup with handle / rounding top — construit (fără ticker), monthly + + mânerul inversat + + vârful cupolei 120.00 + + SL 99.00 + + limita de 50% 105.00 + + suport 90.00 + + intrare short 89.00 + + target 60.00 = 90.00 − 30.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + fund 1 + fund 2 + vârful cupolei + breakdown + Mânerul inversat: 4 bare, +27%. Cele două funduri la 90.00 = double bottom. + + +Totul e simetric față de secțiunea 4: +- **downtrend anterior** aduce prețul la suportul de 90.00; +- **cupola** urcă la 120.00 și revine la 90.00, formând un **double bottom** + pe suport (oglinda double top-ului de pe rezistență); +- **adâncimea cupolei** = 120.00 − 90.00 = 30.00; +- **mânerul inversat** e o revenire scurtă în sus, aici până la 98.00, adică + 27% din cupolă — sub limita de 50%, care pe short se desenează la 105.00; +- **breakdown** sub 90.00 deschide short-ul. + +Exemplu complet de trade: +- **Intrare:** 89.00 short, pe închiderea barei de breakdown sub 90.00. +- **Stop-loss:** 99.00, peste maximul mânerului inversat (98.00). +- **Target 1:** 60.00 (90.00 − 30.00). +- **Risc / recompensă:** risc 10.00, recompensă 29.00 → **1:2.9**. + +Regula de 50% funcționează identic: dacă mânerul inversat urcă peste 105.00, +stopul se duce peste nivelul ăla, riscul depășește jumătatea cupolei și +raportul cade sub 1:2. + +--- + +## Mini-glosar +- **Triple bottom / bază triplă** — trei picioare (swing low-uri) la același + nivel, sub o rezistență comună. Pattern bull. Secțiunea 1. +- **Rounding bottom / bază rotunjită** — 3-7 swing low-uri într-o curbă de + castron, după un downtrend. Pattern bull. Secțiunea 2. +- **Triple top / vârf triplu** — trei vârfuri la același nivel, peste un + suport comun. Pattern bear. Secțiunea 3. +- **Cup with handle / ceașca cu mâner** — ceașcă (coborâre + revenire la + rezistență) plus un mâner scurt de maximum 50% din adâncime, după un + uptrend. Pattern bull de **continuare**. Secțiunea 4. +- **Rounding top** — oglinda cupei, formă rotunjită la vârf. Pattern bear, + rar. Secțiunea 5. +- **Mâner / codiță** — pullback-ul scurt de la rezistență, chiar înainte de + breakout. Desenat ca zonă punctată în diagramele de la secțiunile 4 și 5. +- **Rim** — marginea de sus a ceștii sau a castronului; practic, nivelul de + rezistență (la long) sau de suport (la short) al formațiunii. +- **Double top / double bottom** — două maxime, respectiv două minime, la + același nivel. Aici apar ca modul în care se „semnifică" linia de rezistență + a ceștii (secțiunea 4) și linia de suport a cupolei (secțiunea 5). +- **Breakout / breakdown** — prima **închidere** peste rezistență, respectiv + sub suport. Un fitil nu e un breakout: vezi perechea DA/NU din secțiunea 1. +- **Retest** — după breakout, prețul revine să atingă nivelul spart, care + acum joacă rolul opus (rezistența devine suport). Dacă ține, e locul de + intrare cu stopul cel mai mic. +- **Fals breakout** — traversare cu fitil, închidere de partea greșită a + liniei, volum mic. Diagrama „NU" din secțiunea 1. +- **Gap up / gap down** — săritură de preț între închiderea unei bare și + deschiderea următoarei. Cursul le întâlnește în două exemple; sunt subiectul + lecției următoare. +- **R** — unitatea de risc: 1R = distanța de la intrare la stop-loss. „1:2" + înseamnă că riști 1R ca să câștigi 2R. + +## Gotchas practice +- **Un nivel „la același nivel" nu e la cent.** Picioarele din diagrama de la + secțiunea 1 sunt 42.00, 42.05 și 42.00. Dacă aștepți trei minime identice, + nu găsești niciun pattern. Zona contează, nu cifra exactă. +- **Nu măsura de la umeri când mijlocul e mai sus.** E greșeala pe care + cursul o previne explicit la triple top: 2.50 în loc de 4.50 de înălțime, + deci o ieșire cu două unități de preț mai sus decât trebuia. Uită-te întâi + care dintre cele trei vârfuri (sau picioare) e extremul, și măsoară de la el. +- **Nu pune stop-loss-ul la fundul ceștii.** Cursul spune direct: „nu ar + trebui să te duci cu stop loss-ul până aici jos, niciun caz". Pe cifrele de + la secțiunea 4, un stop sub fundul ceștii, la 79.00, în loc de 107.00 transformă un 1:2.8 într-un + trade de 1:0.9 — cu exact același setup și același target. +- **Adâncimea e în același timp target și capcană de stop.** La triple bottom + și triple top, stopul „conservator" (dincolo de picioare/vârfuri) e aproape + egal cu target-ul, deci dă sub 1R: 0.7R și 0.8R pe diagramele de aici. + Pattern-urile astea cer intrare pe retest, nu „stop larg, că e mai sigur". +- **Target 1 e o proiecție, nu o promisiune.** În exemplele cursului prețul l-a + depășit de două-trei ori (Netflix, Russell, Nvidia) și în altele era la + jumătate la momentul lecției (QQQ, SPY). Ia parțial profit dacă piața dă + semne de epuizare înainte; nu aștepta orbește cifra calculată. + +## Ce urmează, și sfatul de final al lecției +Partea a 4-a tratează triunghiuri, bull flag-uri, wedge pattern-uri și +gap-uri. Sfatul cu care autorul închide lecția: ia pattern-urile astea și +obișnuiește-te să le recunoști cu ochii tăi, pe cât mai multe timeframe-uri, +pentru că „e nevoie de timp de expunere". Dă exemplul lui Thomas Edison, care +a răspuns la întrebarea cum a continuat după atâtea eșecuri: nu au fost 9.999 +de eșecuri, au fost 9.999 de încercări nereușite, iar a zece-miia a reușit. +Concluzia lui: după zece mii de grafice văzute, ești la nivel de maestru în +recunoașterea pattern-urilor. + +## Referințe +- [IG — What is the triple bottom chart pattern and how do you trade with it](https://www.ig.com/en/trading-strategies/what-is-the-triple-bottom-chart-pattern-and-how-do-you-trade-wit-230406) — structura celor trei picioare și regula de target (adâncimea proiectată din punctul de breakout). +- [CMC Markets — Triple top and triple bottom patterns explained](https://www.cmcmarkets.com/en-gb/technical-analysis/triple-top-and-triple-bottom-patterns) — ambele direcții într-o singură pagină, cu rolul volumului la breakout. +- [CMC Markets — Cup and handle pattern: what it is and how to trade it](https://www.cmcmarkets.com/en-gb/trading-strategy/what-is-cup-and-handle-pattern) — ceașca, mânerul și adâncimea; confirmă regula de retracement al mânerului. +- [Fidelity — Cup with handle](https://www.fidelity.com/learning-center/trading-investing/technical-analysis/technical-indicator-guide/cup-with-handle) — definiția „clasică" a pattern-ului (originea la William O'Neil) și forma rotunjită, nu în V, a fundului ceștii. + +--- + +*Notă — ce vine din curs și ce e completarea mea.* **Din curs:** cele cinci +pattern-uri și numele lor, regula de target (adâncimea/înălțimea proiectată de +la linia spartă, identică la toate), limita de 50% a mânerului, locul +stop-loss-ului sub swing low-urile mânerului, raționamentul de risc/recompensă +~1:2 la cup with handle, diferența rounding bottom / cup with handle (bottom +vs. continuare de trend), echivalența triple top cu vârful din mijloc mai sus += head & shoulders normal, măsurarea din vârful 2 în acel caz, instrumentele și +timeframe-urile enumerate, ținta de 100.000 pentru bitcoin ca afirmație a +pieței, și sfatul de final cu timpul de expunere. **Completarea mea:** toate +cifrele de preț și toate diagramele (cursul nu rostește nicio cotație), cele +două perechi DA/NU (fals breakout la triple bottom, mâner de 60% la cup with +handle), mecanismul prin care al treilea test al unui nivel îl rupe (consumarea +ordinelor de la nivel + stop-urile forțate de deasupra lui), observația că +stopul „conservator" dincolo de picioare dă sub 1R, semnătura de volum a +castronului, și diagrama completă a variantei bear de la secțiunea 5, pe care +lecția o menționează fără să o detalieze.
Patru patternuri noi, toate măsurate după aceeași regulă: iei adâncimea (sau +înălțimea) formațiunii și o proiectezi de la linia care s-a rupt. Trei sunt +reversal — triple bottom și rounding bottom la final de downtrend, +triple top la final de uptrend. Al patrulea, cup with handle, nu e +reversal: e un pattern de continuare, apare în interiorul unui uptrend, și +singurul care are o condiție numerică proprie — mânerul nu coboară mai mult +de 50% din adâncimea ceștii.
Partea a 2-a a +tratat Head & Shoulders, normal și inversat: cum arată, de ce funcționează +mecanic (dezechilibrul cumpărători/vânzători, bid/ask), de ce nu intri +înainte de breakout. Mecanismul ăla nu se repetă aici — e scris o dată, +acolo, și se aplică identic.
Ce aduce lecția asta, în plus:
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 cu precizarea că patternurile astea sunt litera M din +acronimul cursului, adică setup-ul, nu tot trade-ul.
Pe ce timeframe? Pe oricare. Autorul le arată pe 1 minut, 15 minute, 60 +de minute, daily, weekly și monthly în aceeași lecție, și spune explicit că +forma se păstrează pe toate — ce se schimbă e stilul de trader, nu pattern-ul.
Termeni presupuși știuți: un swing low e un minim local (un preț mai +jos decât barele vecine din stânga și din dreapta), un swing high e un +maxim local. Sunt definiți cu diagramă în +partea 1. Lecția asta +spune de ce contează: picioarele unui triple bottom și vârfurile unui triple +top sunt swing low-uri și swing high-uri — fără ele nu poți nici măcar +să numeri câte picioare are formațiunea.
Cum citești diagramele. Toate graficele din fișier sunt serii continue de +25-36 de bare, construite de mine la scară, cu panou de volum dedesubt și cu +media mobilă simplă pe 20 de bare (SMA-20) ca linia gri punctată. Cursul +arată patternurile pe grafice reale, dar nu rostește nicio cifră de preț, +așa că diagramele nu poartă ticker: titlul lor spune „exemplu construit (fără +ticker)". Singurele cifre din lecție sunt limita de 50% a mânerului, raportul +risc/recompensă aproximativ 1:2 și ținta de 100.000 pentru bitcoin despre +care autorul spune că o repetă piața, nu el.
Cursul îl descrie ca „litera V cu litera W": prețul coboară, atinge un nivel, +revine, coboară iar la același nivel, revine, coboară a treia oară la același +nivel. Linia care unește maximele dintre picioare e rezistența. Pattern-ul +nu există până când prețul nu rupe rezistența în sus.
+ Triple bottom — exemplu construit (fără ticker), daily + + baza triplă + + target 48.00 = 45.00 + 3.00 + + intrare 45.40 + + rezistență 45.00 + + SL 44.10 + + picioarele 42.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + picior 1 + picior 2 + picior 3 + breakout cu volum dublu + retest + Baza triplă ține 17 bare. Linia gri punctată e SMA-20, pe toate graficele. +
Ce vezi pe desen, de la stânga la dreapta: un downtrend care aduce prețul în +zonă, trei picioare la 42.00 (al doilea e la 42.05 — „același nivel" nu +înseamnă la cent, înseamnă în aceeași zonă), rezistența la 45.00 testată de +două ori de dedesubt, breakout-ul cu volum dublu față de media bazei, un +retest al liniei spărte și apoi mișcarea spre target.
Exact ca la double bottom, din partea anterioară: adâncimea din interiorul +formațiunii, proiectată de la linia spartă.
Pe desen, distanța de la 45.00 în jos la 42.00 și distanța de la 45.00 în sus +la 48.00 sunt egale în pixeli, nu doar în text — diagrama e generată din +prețuri, cu o singură scară px/unitate.
Mecanismul de bază (de ce o dominanță de cumpărători mută prețul în sus) e +explicat în partea a 2-a și nu se repetă. Ce e specific aici e de ce al +treilea picior e ultimul, și asta are două cauze concrete:
Asta e și motivul pentru care nu intri pe formă: până la breakout, ambele +mecanisme sunt doar potențiale.
Aceeași traversare a liniei de 45.00 poate arăta identic în prima secundă. +Diferența se vede în ce face prețul imediat după.
DA — breakout confirmat, retest care ține. E cazul din diagrama de mai +sus: bara de breakout închide peste 45.00 (la 45.30), cu volum dublu față +de media bazei; prețul revine la 44.25, deci atinge zona liniei dar nu cade +prin ea, și repornește în sus. Nivelul și-a schimbat rolul: din rezistență a +devenit suport. Intri la 45.40, pe închiderea barei care confirmă retestul.
NU — fals breakout. Aceeași bază, altă traversare:
+ NU — fals breakout pe aceeași bază triplă (construit), daily + + rezistență 45.00 + + vârf 45.08 + + picioarele 42.00 + + 40.60 — invalidat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + picior 1 + picior 2 + picior 3 + închide sub linie, volum mic + sub picioare: nu mai e bază triplă + Atinge 45.08, închide sub 45.00 cu volum mic, apoi cade sub picioare. +
Diferențele numerice, una lângă alta: aici prețul atinge 45.08 (8 cenți peste +linie) dar închide la 44.85, sub linie, cu volum mai mic decât la oricare +dintre picioare — exact invers decât la breakout-ul valid. Apoi cade și rupe +picioarele la 40.60. Din clipa aia nu mai e o bază triplă: o bază se +definește prin picioare care țin, iar ăsta nu mai ține.
Regula de citit, în două rânduri: +- DA: închidere peste linie + volum peste media bazei. Dacă vine și un + retest care ține, ai și o intrare cu stop mic. +- NU: fitil peste linie cu închidere sub ea, volum mic, sau o coborâre + sub picioare.
De ce intrarea la retest, nu la breakout. Dacă intri la 45.40 dar pui +stopul sub picioarele bazei (41.90, varianta „conservatoare"), riști 3.50 ca +să câștigi 2.60 — 0.7R, un trade pe care îl pierzi pe termen lung chiar +dacă ai dreptate pe direcție. Adâncimea bazei e în același timp target-ul și +stopul conservator, deci raportul e structural prost. Retestul e singurul loc +de unde patternul ăsta dă un 1:2: îți oferă un nivel apropiat (minimul barei +de retest) care invalidează ideea.
Treci mai departe doar dacă ai o închidere peste rezistență cu volum +crescut. Fără asta, triple bottom-ul e desen, nu setup.
Autorul trece prin aceleași trei picioare pe SPY la 1 minut, pe un grafic +daily, pe 15 minute (acolo cu breakout urmat de retest), pe Pfizer daily +(unde target-ul a fost atins înainte de retest) și pe Snowflake daily +(unde breakout-ul s-a făcut cu un gap up — o săritură de preț între +închiderea unei bare și deschiderea următoarei — și unde prețul a făcut +target 1, a consolidat, și apoi a făcut și target 2). Diagramele din fișierul +ăsta sunt serii continue, fără gap-uri; gap-urile sunt tratate în lecția +următoare, partea a 4-a.
Același scenariu de reversal, altă formă. Cursul îl descrie prin obiecte: +lighean, castron, strachină, farfurie adâncă de ciorbă. Diferența față de +triple bottom nu e regula de target — aia e identică — ci numărul și +așezarea picioarelor: la rounding bottom o să vezi de regulă mai mult de +trei, trei-patru-cinci, iar într-unul din exemplele lui, șapte, și nu sunt la +același nivel: formează o curbă, coboară până la fund și urcă treptat.
+ Rounding bottom — exemplu construit (fără ticker), 60 min + + castronul + + target 34.00 = 30.00 + 4.00 + + intrare 30.30 + + rezistență 30.00 + + SL 29.40 + + fundul castronului 26.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + 1 + 2 + 3 + 4 + 5 + breakout + retest + Castronul ține 20 de bare și 5 swing low-uri. Volum mare la capete, mic la mijloc. +
Cele cinci picioare din desen sunt 26.10, 26.00, 26.15, 26.60 și 27.30 — după +cel mai adânc, fiecare e mai sus decât cel dinainte. Asta e tot ce separă +vizual un castron de o bază triplă: la bază, picioarele cad pe aceeași linie; +la castron, urcă.
Unde apare. Cursul e explicit: rounding bottom apare la bottom, după +un trend descendent, și semnifică un bottom. Asta îl deosebește de cup with +handle, care arată aproape la fel dar vine după un uptrend — vezi secțiunea 4.
Semnătura de volum. Pe desen, volumul e mare la capete și mic în mijlocul +castronului. Mecanic: la intrarea în formațiune încă se vinde activ (lumea +ieșind din downtrend), în mijloc nu mai are nimeni grabă în nicio direcție — +vânzătorii s-au epuizat, cumpărătorii încă nu s-au hotărât — iar la ieșire +cumpărătorii revin în forță. Nu e o regulă de trigger, e un indiciu că forma +e reală și nu doar o zonă plată întâmplătoare.
Raportul e mai bun decât la baza triplă dintr-un motiv geometric, nu pentru +că pattern-ul e „mai bun": castronul e mai adânc față de cât de mult a revenit +prețul la retest. Când retestul e strâns, R-ul crește; când retestul coboară +mult sub linie, scade. Calculează-l de fiecare dată, nu-l presupune.
Treci mai departe doar dacă numeri cel puțin trei swing low-uri în curbă +și ai o închidere peste rim.
QQQ (NASDAQ) pe 60 de minute — acolo cu un gap down în interiorul formațiunii, +apoi breakout, retest și decolare; SPY pe 1 minut, cu patru picioare; și +Russell pe 60 de minute, cu șapte swing low-uri, unde prețul a făcut +target-ul de două-trei ori și apoi a revenit să retesteze zona. Autorul +folosește exemplul cu șapte picioare ca să lege pattern-urile de swing +low-uri: „majoritatea pattern-urilor de care vorbim se bazează în realitate +pe swing high-uri sau swing low-uri".
Oglinda bazei triple, și cursul o descrie ca „o combinație între litera M și +litera V întoarse". Trei vârfuri la aproximativ același nivel, ca niște vârfuri +de munte; linia care unește swing low-urile dintre ele e suportul; +pattern-ul se confirmă la breakdown sub suport, iar tranzacția e short.
+ Triple top — exemplu construit (fără ticker), weekly + + vârfurile 68.00 + + SL 65.40 + + suport 65.00 + + intrare short 64.70 + + target 62.00 = 65.00 − 3.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + vârf 1 + vârf 2 + vârf 3 + breakdown + retest de dedesubt + Vârful triplu ține 15 bare, de la vârful 1 la ultima bară de sub el. +
Mecanismul e oglindit, nu nou: cumpărătorii care voiau să cumpere la 65.00 au +cumpărat deja de două ori și s-au consumat; cei care au intrat long în timpul +formațiunii au stop-loss puțin sub 65.00, iar un stop-loss pe long e un ordin +de vânzare — când prețul atinge nivelul, vânzările alea se execută forțat și +toate odată. De-aia bara de breakdown are volumul cel mai mare din formațiune.
Și aici, varianta cu stopul larg (peste vârfuri, la 68.10) dă 0.8R — sub +1, din aceeași cauză structurală ca la triple bottom. Retestul e ce face +trade-ul.
Treci mai departe doar dacă ai o închidere sub suport. Un fitil sub linie +cu închidere peste ea e exact cazul „NU" din perechea de la secțiunea 1, +oglindit: același volum mic, aceeași revenire imediată în formațiune.
Întrebarea pe care cursul o anticipează: care e diferența dintre triple top +și head & shoulders normal? Răspunsul lui: „în unele dintre situații nu prea +e nicio diferență". În general triple top-ul are cele trei vârfuri la același +nivel. Dar există o variație în care vârful din mijloc e mai sus — și +atunci forma e literal un head & shoulders: mijlocul e capul, stânga și +dreapta sunt umerii.
+ Triple top cu vârful din mijloc mai sus — construit (fără ticker), weekly + + vârful 2 (capul) 69.50 + + umerii ≈ 67.50 + + suport (neckline) 65.00 + + target 60.50 = 65.00 − 4.50 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + vârf 1 + vârf 2 — cel mai sus + vârf 3 + breakdown + Înălțimea se măsoară de la vârful 2, nu de la cele laterale. +
Ce se schimbă practic nu e numele, e de unde măsori. Cu vârfurile la +același nivel, măsori de la ele. Cu vârful din mijloc mai sus, măsori de la +el — exact regula neckline → head din partea a 2-a:
Autorul face asta explicit pe exemplul lui de pe 60 de minute: „target 1 de +profit poate să fie înălțimea de la punctul 2 până aici". Dacă ai măsurat de +la umeri (67.50 − 65.00 = 2.50), ai fi ieșit la 62.50 și ai fi lăsat pe masă +două unități de preț.
Simetric, spune autorul, un triple bottom seamănă uneori cu un head & +shoulders inversat — aceeași logică, în jos.
Netflix daily (breakdown, retest, apoi o cădere agresivă care a făcut +target-ul de două-trei ori), Amazon weekly (exemplul pe care îl folosește ca +să explice asemănarea cu H&S; după target a urmat retest, consolidare, cădere, +încă o consolidare, un double bottom, urcare, cădere), Alcoa weekly (breakdown +urmat de retest și o cădere agresivă) și Pepsi pe 60 de minute (cazul cu +măsurarea din vârful 2, cu target atins de mai multe ori și un retest înapoi).
Primul pattern din serie care nu e reversal. Cursul insistă pe +diferența față de rounding bottom, pentru că formele sunt aproape identice:
Cu alte cuvinte: dacă îl vezi la capătul unei scăderi, e un castron; dacă îl +vezi după o urcare, e o ceașcă. Aceeași curbă, două interpretări diferite, +pentru că trendul dinainte e diferit.
+ Cup with handle — exemplu construit (fără ticker), monthly + + mânerul + + target 160.00 = 120.00 + 40.00 + + intrare 121.00 + + rezistență 120.00 + + minimul mânerului 108.00 + + SL 107.00 + + limita de 50% 100.00 + + fundul ceștii 80.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + top 1 + top 2 + fundul ceștii + breakout + Mânerul: 4 bare, −30% din adâncime. Cele două top-uri la 120.00 = double top. +
Părțile formei, cu numele din curs: +- uptrend-ul anterior — primele bare, care aduc prețul la 120.00. +- rezistența, la 120.00, aici marcată de un double top: două maxime la + același nivel, unul la începutul ceștii și unul la sfârșitul ei. Cursul + notează că linia de rezistență e deseori „semnificată de un double top". +- ceașca — coborârea la 80.00 și revenirea la 120.00. Adâncimea ceștii + (120.00 − 80.00 = 40.00) e target-ul. +- mânerul (sau „codița") — pullback-ul scurt de la rezistență, aici 4 bare + până la 108.00. +- breakout-ul peste 120.00, care deschide trade-ul. +- target 1 = 120.00 + 40.00 = 160.00.
Ca pattern-ul să fie un cup with handle valid, spune cursul, mânerul nu ar +trebui să facă un pullback mai mare de 50% pe Fibonacci — adică retracement-ul +nu coboară sub jumătatea adâncimii ceștii.
Pe desen, jumătatea ceștii e la 100.00 (120.00 − 20.00). Mânerul coboară la +108.00, adică 30% din adâncime — valid, cu margine.
Un retracement (sau pullback) e o mișcare contrară trendului, care nu-l +anulează; „50% pe Fibonacci" e, în cazul ăsta, pur și simplu jumătatea +distanței pe care prețul a parcurs-o la revenirea din ceașcă. Cursul folosește +scala Fibonacci ca referință de nivel, nu ca indicator separat.
NU — mâner mai adânc de 50%:
+ NU — mâner mai adânc de 50% (construit, fără ticker), monthly + + rezistență 120.00 + + limita de 50% 100.00 + + minimul mânerului 96.00 + + fundul ceștii 80.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + top 1 + top 2 + fundul ceștii + rupe 100.00: −60% + fără breakout, prețul stă în ceașcă + Mânerul coboară la 96.00, sub limita de 50% desenată la 100.00. +
Aceeași ceașcă, alt mâner: coboară la 96.00, adică 60% din adâncimea de 40.00, +sub limita de 100.00. Diferența față de cazul „DA" e un singur număr — +108.00 față de 96.00 — dar consecința e structurală: prețul nu mai revine la +rezistență, deci nu există breakout și nu există trade. Un pullback care +înghite mai mult de jumătate din revenire nu e o pauză în trend, e începutul +unei mișcări contrare.
Aici cursul face un calcul care merită reținut, pentru că leagă o regulă de +formă de o regulă de bani. Raționamentul autorului: stop-loss-ul eficient stă +sub swing low-urile mânerului — nu jos, la fundul ceștii, „în niciun +caz". Iar mânerul are, prin regulă, cel mult jumătate din adâncimea ceștii. +Deci:
Pe cifrele diagramei, cu mânerul la 30% în loc de 50%, iese chiar mai bine:
Treci mai departe doar dacă (a) ai un uptrend înainte de ceașcă, (b) +mânerul nu a rupt jumătatea adâncimii, și (c) ai o închidere peste rezistență.
Google monthly e exemplul principal: uptrend, pullback-uri, zona de +consolidare care închide ceașca, rezistența marcată de un double top. Autorul +spune că a recomandat Google și că, pe un grafic monthly, s-ar aștepta ca +adâncimea să fie acoperită „în câteva luni, un an, doi, trei" — și adaugă: +„asta înseamnă să fii investitor pe termen lung și foarte lung". Pe +AUDJPY weekly arată uptrend-ul, interiorul și adâncimea ceștii, mânerul, și +acolo enunță regula de 50% și calculul de risk-reward. Pe SPY monthly, +corecția de bear market începută în 2022 e însăși ceașca, iar retracement-ul +de 50% e ultima corecție înainte de decolare. Pe QQQ monthly, breakout cu +retestare și cam jumătate din obiectiv îndeplinit la momentul lecției. Pe +Nvidia monthly, un detaliu util: retestul s-a oprit deasupra liniei, nu a +coborât până la jumătate — un retest superficial e un semn de forță, nu o +condiție de validare; target-ul a fost făcut și depășit, apoi a urmat o +consolidare cu doji, hammer-uri și un spinning top și un nou breakout. Pe +bitcoin monthly, retracement-ul masiv de bear market e ceașca, cu un triple +top pe rezistență; autorul leagă ținta de 100.000 despre care vorbea piața de +acest pattern, cu precizarea onestă că „nu știu ce înseamnă perioada +următoare, poate să fie câteva luni sau câțiva ani".
Cursul confirmă că varianta bear există, că e „inversată" și că seamănă cu un +rounding top, un pattern pe care îl numește destul de rar întâlnit, „dar +apare". Îl arată pe Google, într-o corecție majoră: rotunjirea de sus, +adâncimea proiectată în jos (care a acoperit cam trei sferturi din obiectiv), +căderea sub linia de suport, apoi consolidare, breakout, urcare, iar +consolidare — și, în zona de la final, o ceașcă cu mâner normală, din nou.
Pentru că lecția nu desenează varianta short pas cu pas, iar userul e vizual, +aici e oglinda completă, nu o propoziție „e invers":
+ Inverted cup with handle / rounding top — construit (fără ticker), monthly + + mânerul inversat + + vârful cupolei 120.00 + + SL 99.00 + + limita de 50% 105.00 + + suport 90.00 + + intrare short 89.00 + + target 60.00 = 90.00 − 30.00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + volum + fund 1 + fund 2 + vârful cupolei + breakdown + Mânerul inversat: 4 bare, +27%. Cele două funduri la 90.00 = double bottom. +
Totul e simetric față de secțiunea 4: +- downtrend anterior aduce prețul la suportul de 90.00; +- cupola urcă la 120.00 și revine la 90.00, formând un double bottom + pe suport (oglinda double top-ului de pe rezistență); +- adâncimea cupolei = 120.00 − 90.00 = 30.00; +- mânerul inversat e o revenire scurtă în sus, aici până la 98.00, adică + 27% din cupolă — sub limita de 50%, care pe short se desenează la 105.00; +- breakdown sub 90.00 deschide short-ul.
Exemplu complet de trade: +- Intrare: 89.00 short, pe închiderea barei de breakdown sub 90.00. +- Stop-loss: 99.00, peste maximul mânerului inversat (98.00). +- Target 1: 60.00 (90.00 − 30.00). +- Risc / recompensă: risc 10.00, recompensă 29.00 → 1:2.9.
Regula de 50% funcționează identic: dacă mânerul inversat urcă peste 105.00, +stopul se duce peste nivelul ăla, riscul depășește jumătatea cupolei și +raportul cade sub 1:2.
Partea a 4-a tratează triunghiuri, bull flag-uri, wedge pattern-uri și +gap-uri. Sfatul cu care autorul închide lecția: ia pattern-urile astea și +obișnuiește-te să le recunoști cu ochii tăi, pe cât mai multe timeframe-uri, +pentru că „e nevoie de timp de expunere". Dă exemplul lui Thomas Edison, care +a răspuns la întrebarea cum a continuat după atâtea eșecuri: nu au fost 9.999 +de eșecuri, au fost 9.999 de încercări nereușite, iar a zece-miia a reușit. +Concluzia lui: după zece mii de grafice văzute, ești la nivel de maestru în +recunoașterea pattern-urilor.
Notă — ce vine din curs și ce e completarea mea. Din curs: cele cinci +pattern-uri și numele lor, regula de target (adâncimea/înălțimea proiectată de +la linia spartă, identică la toate), limita de 50% a mânerului, locul +stop-loss-ului sub swing low-urile mânerului, raționamentul de risc/recompensă +~1:2 la cup with handle, diferența rounding bottom / cup with handle (bottom +vs. continuare de trend), echivalența triple top cu vârful din mijloc mai sus += head & shoulders normal, măsurarea din vârful 2 în acel caz, instrumentele și +timeframe-urile enumerate, ținta de 100.000 pentru bitcoin ca afirmație a +pieței, și sfatul de final cu timpul de expunere. Completarea mea: toate +cifrele de preț și toate diagramele (cursul nu rostește nicio cotație), cele +două perechi DA/NU (fals breakout la triple bottom, mâner de 60% la cup with +handle), mecanismul prin care al treilea test al unui nivel îl rupe (consumarea +ordinelor de la nivel + stop-urile forțate de deasupra lui), observația că +stopul „conservator" dincolo de picioare dă sub 1R, semnătura de volum a +castronului, și diagrama completă a variantei bear de la secțiunea 5, pe care +lecția o menționează fără să o detalieze.