06_hammer_mbt10: capitol reconstruit dupa sablon
Doua proceduri complet separate, nu una amestecata, pentru ca se fac altfel: buy hammer e pattern public, desenabil si exersabil retroactiv; MBT-10 e cutie neagra din care se poate reface o singura conditie. Nivelul 1 le pune fata in fata, ca cititorul sa stie din prima de ce nu le poate trata la fel. Cate 5 pasi fiecare, oglinda pe short la hammer, checklist dublu. Sursele in fise/06_hammer_mbt10_surse.md. Zece diagrame noi: hammer-ul nu era definit vizual nicaieri, iar hanging man era doar text — acum e aceeasi bara in doua contexte, cu assert ca e identica. Cele 7 vechi si-au pierdut trimiterile fisier:linie din legende; toate le aveau. Doua serii partajate (bh_ansamblu si mbt_confluente expun serie()), deci un trade nu poate avea doua variante. Oglinda pe short e trade-ul long oglindit in jurul lui K=162.30, deci riscul ramane 1.30 in ambele. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ThN7ixZrowca8aTGrK1MUJ
This commit is contained in:
@@ -26,9 +26,10 @@ SUP_W, PPD = 87.50, 89.60 # suport weekly, pivotul daily
|
||||
INTRARE, SL, TP = 89.90, 87.30, 95.20
|
||||
R = round(INTRARE - SL, 2)
|
||||
FUND1, FUND2 = 10, 15 # cele două picioare ale double bottom-ului
|
||||
VARF = 3 # ultimul maxim înainte de coborâre: high 95.20 = ținta
|
||||
CLOSE_I = 19 # bara care se închide peste pivotul daily
|
||||
|
||||
CLOSES = [96.00, 95.00, 94.20, 94.60, 93.10, 92.00, 91.20, 90.10, 89.00, # 0-8
|
||||
CLOSES = [96.00, 95.00, 94.20, 95.00, 93.10, 92.00, 91.20, 90.10, 89.00, # 0-8
|
||||
88.20, 87.70, 88.40, 89.10, # 9-12
|
||||
88.60, 88.00, 87.65, 88.30, # 13-16
|
||||
88.90, 89.40, 89.90, # 17-19
|
||||
@@ -50,6 +51,9 @@ def serie():
|
||||
# bara 18 atinge pivotul intraday, dar se închide sub el: contraexemplul
|
||||
# de la pasul cu condiția de preț
|
||||
w[CLOSE_I - 1] = (0.30, 0.25)
|
||||
# bara de după vârf deschide chiar în el: fără fitil sus, ca vârful să
|
||||
# rămână singurul maxim la 95.20
|
||||
w[VARF + 1] = (0.00, 0.25)
|
||||
cds = from_closes(CLOSES, wicks=w, vols=VOLS, start=96.60)
|
||||
assert len(cds) == len(VOLS) == 27
|
||||
for i in range(1, len(cds)):
|
||||
@@ -70,6 +74,10 @@ def serie():
|
||||
assert min(c.l for c in cds[CLOSE_I:]) > SL, "stopul ar fi fost atins după intrare"
|
||||
prim_tp = next(i for i in range(CLOSE_I + 1, len(cds)) if cds[i].h >= TP)
|
||||
assert prim_tp == 26, prim_tp
|
||||
# ținta 95.20 nu e un număr ales: e high-ul ultimului maxim dinaintea coborârii
|
||||
assert round(cds[VARF].h, 2) == TP, cds[VARF].h
|
||||
assert max(c.h for c in cds[VARF + 1:CLOSE_I]) < TP, \
|
||||
"un maxim de după vârf trece peste țintă: ținta n-ar mai fi prima structură"
|
||||
return cds
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user