05 volum: regula era a LUI, declarata greșit ca adaugire; plus 5 defecte

Verificare independenta fata de harvest/ si transcrieri, urmata de o
corectura pe care am facut-o eu in sesiunea principala.

Cazul principal, greșit in ambele sensuri: secțiunea "volumul conduce
pretul" era marcata in completari drept construcția autorului, din trei
remarci de recolta. De fapt e regula lui, si e spusa explicit: Q&A
11.06.2025 are o secțiune intreaga cu exact acest titlu, cu regula
formulata de el - volum in breakout peste vârfurile anterioare cu prețul
inca sub ele, "Asta e strategie de sine stătătoare", pe orice timeframe,
aratata live pe un minut. Deci:
- atribuita la Q&A 11.06.2025, cu ancora verificata, si scoasa din
  completari;
- formularea tare pastrata, pentru ca sursa o susține la putere plina;
- dar scoase cele doua remarci prost citate, unde verificatorul avea
  dreptate: 17.08 e contractie de volum, nu volum care urca, iar la 04.09
  el CERE mai mult volum, deci volumul nu iesise primul (si citatul era
  modificat, cu conditia MBT-10 tăiată). Rămâne PGNY 19.08, care susține.
- adaugat OBV, din aceeasi secțiune de sursa.

Restul:
- patru parafraze ale recoltei nu mai apar ca citate ale lui; citatul din
  10.09 e completat ("deși nu pompeaza bani in compania asta de energie"),
  iar cel de la Bloom are forma reala, cu nota ca "Mantri" e probabil
  "monthly" transcris greșit;
- "volumul e la cer" era atribuit lui 20.08, unde nu apare deloc; mutat la
  03.09;
- "varianta de pe indici" era ilustrata cu doua actiuni, nu cu indici, si
  citatul DHI era la el trigger NU. Rescrisa ca regula pe actiuni, cu
  citatul exact de la LEU.

Desen:
- svg7: "breakout cu volum" era ancorata la 3 bare de bara de breakout
  reala. Mutata pe bara 16, cu assert ca bara etichetata e prima închidere
  peste 38.40 si are volumul maxim de pana la ea.
- svg7 fata de svg8: textul pretindea "aceeasi perioada" si acelasi nivel
  atins, dar pe monthly pullback-ul rămânea mult deasupra lui 38.40. Acum
  pullback-ul monthly se termina cu un hammer care atinge exact 38.40, cu
  varful egal cu cel de pe weekly, si assert pe relatia dintre cele doua
  diagrame.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MtSTyTmt6AbCL9j5ajEDm1
This commit is contained in:
Claude Agent
2026-09-14 06:33:12 +00:00
parent 4383e500af
commit 790af51b4c
3 changed files with 278 additions and 268 deletions

View File

@@ -78,10 +78,10 @@ print(f"D1 rez {RES} breakout close {cds[B].c} vol {da_v[B]} = {da_v[B] / vavg:.
ch = Chart(candles=cds,
levels=[Level(RES, f"rezistență {RES:.2f}", ORANGE, label_at="left"),
Level(sl, f"SL {sl:.2f}", RED),
Level(entry, f"intrare {entry:.2f} (1/2 marubozu)", GREEN),
Level(entry, f"intrare {entry:.2f} (1/2 marubozu)", GREEN, label_at="left"),
Level(tp, f"TP {tp:.2f} = 2R", BLUE)],
marks=[Mark(17, "consolidare, volum mic", GRAY, "below", dy=6),
Mark(B, "breakout", GREEN, "above", dy=-95),
Mark(B, "breakout", GREEN, "above", dy=-35),
Mark(PB, "retest", GREEN, "below", dy=4)],
mas=[MA(20, ORANGE, dash="4 3", text="SMA-20")],
scale=40, title="Exemplu construit (fără ticker) — daily",
@@ -236,7 +236,7 @@ ch = Chart(candles=cds,
Level(entry, f"intrare {entry:.2f}", GREEN),
Level(tp, f"TP {tp:.2f} = 2R", BLUE)],
marks=[Mark(L1, f"picior 1: {leg1:.2f}", RED, "below", dy=-2),
Mark(L2, f"picior 2: {leg2:.2f}", RED, "below", dy=12),
Mark(L2, "picior 2", RED, "above", dy=-22),
Mark(T, "buy doji", GREEN, "above", dy=-30)],
mas=[MA(20, GRAY, dash="4 3", text="SMA-20")],
scale=34, title="Exemplu construit (fără ticker) — daily",
@@ -325,28 +325,32 @@ svgs["volum_conduce"] = svg_
# ---------------------------------------------------------------- 8. monthly: contextul (volum pozitiv)
mo_cl = [30.0, 31.2, 30.6, 32.1, 33.4, 32.8, 34.5, 35.6, 35.0, 36.8, 38.0, # 0-10 uptrend 1
37.2, 36.5, 37.0, 36.1, 36.8, # 11-15 consolidare
38.4, 39.6, 40.9, 40.2, 41.8, 43.0, # 16-21 breakout, vârf
42.1, 41.3, 41.8, 40.9, 41.5, 42.4] # 22-27 pullback
mo_w = [(0.4, 0.4)] * len(mo_cl)
38.4, 39.6, 40.9, 40.2, 41.8, 43.1, # 16-21 breakout, vârf
42.1, # 22 pullback
42.3] # 23 hammer: codița atinge locul crimei
mo_w = [(0.4, 0.4)] * 23 + [(0.2, 3.7)]
mo_v = [60, 70, 40, 72, 76, 42, 78, 80, 44, 82, 84,
40, 38, 50, 36, 48,
96, 88, 90, 44, 92, 94,
36, 34, 58, 32, 60, 64]
36, 58]
cds = from_closes(mo_cl, wicks=mo_w, vols=mo_v, start=29.4)
CRIME = round(max(c.h for c in cds[8:16]), 2)
PEAK = round(max(c.h for c in cds), 2)
assert CRIME == 38.40 and PEAK == 43.40, (CRIME, PEAK)
MBO = 16
assert CRIME == 38.40 and PEAK == 43.50, (CRIME, PEAK)
assert next(i for i, c in enumerate(cds) if c.c >= CRIME) == MBO and mo_v[MBO] == max(mo_v[:MBO + 1]), \
"eticheta «breakout cu volum» trebuie să stea pe prima închidere peste 38.40, cu volumul maxim de până atunci"
MO_PB_LOW = round(min(c.l for c in cds[22:]), 2)
u_m, d_m = up_down_vol(cds, 0, len(cds))
u_pb, d_pb = up_down_vol(cds, 22, len(cds))
d_pb = avg(c.vol for c in cds[22:] if c.c < c.o)
assert u_m >= 1.6 * d_m, "pe monthly volumul cumpărătorilor trebuie să domine"
assert d_pb < avg(mo_v[16:22]) * 0.5, "pullback-ul monthly are volum de vânzare mic"
print(f"D8 monthly: vol cumpărători {u_m:.0f} vs vânzători {d_m:.0f} = {u_m / d_m:.1f}x; locul crimei {CRIME}; vârf {PEAK}")
ch = Chart(candles=cds,
levels=[Level(CRIME, f"fost vârf {CRIME:.2f}", ORANGE, label_at="left")],
marks=[Mark(12, "consolidare", GRAY, "below", dy=4),
Mark(13, "breakout cu volum", GREEN, "above", dy=-35),
Mark(24, "pullback, volum mic", GRAY, "above", dy=-20)],
mas=[MA(20, GRAY, dash="4 3", text="SMA-20")],
marks=[Mark(12, "consolidare", GRAY, "below", dy=24),
Mark(MBO, "breakout cu volum", GREEN, "below", dy=6),
Mark(23, "hammer", GREEN, "below", dy=0)],
scale=14, title="Exemplu construit (fără ticker) — monthly",
caption=f"Monthly: barele de cumpărători au volum mediu {u_m / d_m:.1f}x față de barele de vânzători.",
**STYLE)
@@ -379,6 +383,9 @@ risk = entry - sl
R = (top - entry) / risk
hit = next(i for i in range(CFW + 1, len(cds)) if cds[i].h >= top)
assert R >= 2.0, R
assert MO_PB_LOW == round(cds[HM].l, 2) == CRIME and top == PEAK, \
"monthly și weekly trebuie să spună același lucru: pullback până la 38.40, vârf la același preț"
print(f"D9 weekly: raliu vol {rally_v:.0f}, pullback vol {pb_v:.0f} ({pb_v / rally_v:.0%}); hammer low {cds[HM].l:.2f}; "
f"intrare {entry} SL {sl} risc {risk:.2f} TP {top} = {R:.2f}R atins la {hit}")
ch = Chart(candles=cds,
@@ -387,7 +394,7 @@ ch = Chart(candles=cds,
Level(entry, f"intrare {entry:.2f}", GREEN),
Level(top, f"TP {top:.2f} = {R:.1f}R", BLUE)],
marks=[Mark(24, "volum în scădere", GRAY, "above", dy=-100),
Mark(HM, "hammer", GREEN, "below", dy=12)],
Mark(HM, "hammer", GREEN, "above", dy=-20)],
mas=[MA(20, GRAY, dash="4 3", text="SMA-20")],
scale=60, title="Exemplu construit (fără ticker) — weekly",
caption="Weekly-ul arată vânzare, dar pe volum mic: e retestul, nu ieșirea instituționalilor.",