diff --git a/extract_audio.py b/extract_audio.py index a404331..1b2bdf9 100644 --- a/extract_audio.py +++ b/extract_audio.py @@ -49,7 +49,8 @@ def extract_audio(url: str, dest: Path) -> bool: def main(): p = argparse.ArgumentParser(description="Extract audio for ATM core-curriculum lectures") p.add_argument("--out", default="audio", help="Output directory") - p.add_argument("--only", default=None, help="Limit to one module name (for piloting)") + p.add_argument("--only", default=None, help="Limit to one module name (bypasses CORE_MODULES)") + p.add_argument("--lectures", type=int, default=None, help="With --only: first N lectures of that module") args = p.parse_args() load_dotenv() @@ -70,15 +71,17 @@ def main(): done = skipped = failed = 0 for mod_idx, mod in enumerate(modules, 1): - if mod["name"] not in CORE_MODULES: - continue - if args.only and mod["name"] != args.only: + if args.only: + if mod["name"] != args.only: + continue + elif mod["name"] not in CORE_MODULES: continue mod_dir = out_dir / f"{mod_idx:02d}_{slugify(mod['name'])}" log.info(f"Module: {mod['name']} ({len(mod['lectures'])} lectures)") - for lec_idx, lec in enumerate(mod["lectures"], 1): + lectures = mod["lectures"][: args.lectures] if args.lectures else mod["lectures"] + for lec_idx, lec in enumerate(lectures, 1): stem = f"{lec_idx:02d}_{slugify(lec['name'])}" dest = mod_dir / f"{stem}.mp3" if dest.exists() and dest.stat().st_size > 10_000: diff --git a/render_html.py b/render_html.py index ed4bde9..a996795 100644 --- a/render_html.py +++ b/render_html.py @@ -38,7 +38,7 @@ PAGE_TEMPLATE = """ def render_file(md_path: Path) -> Path: text = md_path.read_text(encoding="utf-8") - body = markdown.markdown(text, extensions=["extra"]) + body = markdown.markdown(text, extensions=["extra", "toc"]) title = text.splitlines()[0].lstrip("# ").strip() if text else md_path.stem html_path = md_path.with_suffix(".html") html_path.write_text(PAGE_TEMPLATE.format(title=title, body=body), encoding="utf-8") diff --git a/summaries/01_MODUL_1/01_bun_venit_in_atm.html b/summaries/01_MODUL_1/01_bun_venit_in_atm.html index 30380a6..cba2e61 100644 --- a/summaries/01_MODUL_1/01_bun_venit_in_atm.html +++ b/summaries/01_MODUL_1/01_bun_venit_in_atm.html @@ -17,13 +17,13 @@ -

Modul 1 / #1 — Bun venit în ATM

-

TLDR

+

Modul 1 / #1 — Bun venit în ATM

+

TLDR

Lecție introductivă, fără conținut tehnic (fără pattern-uri, indicatori sau strategii de intrare/ieșire). E cadrul mental și structura programului: ce promite ATM, de ce majoritatea traderilor pierd bani, și ce se așteaptă de la cursant. Următoarele module aduc conținutul tehnic — aici doar contextul.

-

Ce promite ATM (și ce nu promite)

+

Ce promite ATM (și ce nu promite)

Nu promite randamente garantate, ci un sistem — un proces repetabil care, pe termen lung, dă edge statistic. Distincția pe care o face explicit: - Rezultat pe 2-3 tranzacții = noroc sau ghinion, nu informație. Un eșantion @@ -36,14 +36,14 @@ parțial aleator (spread-ul de outcome-uri posibile e larg chiar și pentru o strategie cu edge real). Edge-ul unei strategii se manifestă doar ca medie pe multe încercări — exact ca la o monedă măsluită 55/45: pe 3 aruncări poate ieși oricum, pe 200 de aruncări diferența de 55/45 devine vizibilă.

-

Cele două emoții dominante în piață: frică și lăcomie

+

Cele două emoții dominante în piață: frică și lăcomie

Cursul le numește sursa principală de execuție proastă — traderul reacționează la ele în loc să le folosească ca semnal. Mecanismul rămâne neexplicat aici (lecția introductivă doar anunță subiectul); modulele tehnice care vin după ar trebui să arate concret cum se traduc frica/lăcomia în greșeli de execuție (intrare târzie, mutare de stop-loss, ieșire prematură) — dacă apar, se detaliază acolo, nu aici.

-

Structura schimbării pe care o propune programul

+

Structura schimbării pe care o propune programul

Lecția descrie schimbarea pe niveluri, de la abstract la concret:

@@ -79,7 +79,7 @@ detaliază acolo, nu aici.

-

Ce se cere de la cursant

+

Ce se cere de la cursant

-

Notă

+

Notă

Tot conținutul de mai sus e reformulare/structurare a transcrierii, nu completare externă — lecția e motivațională/organizatorică, fără mecanisme de piață de explicat sau extins. Nu am adăugat diagrame: STYLE.md le cere pentru @@ -96,7 +96,7 @@ pattern-uri, niveluri de preț și exemple concrete de trading, iar aici nu există niciunul — o diagramă forțată pe conținut motivațional (ceas stricat, munte, expediție) ar fi decor, nu informație. Conținutul tehnic (pattern-uri, indicatori, execuție) începe din modulele următoare.

-

Referințe

+

Referințe

Nu se aplică — lecție pur motivațională/organizatorică, fără concepte tehnice verificabile extern (pattern-uri, indicatori, mecanisme de piață) care să justifice linkuri către surse educaționale.

diff --git a/summaries/01_MODUL_1/02_cum_arata_calatoria_in_atm.html b/summaries/01_MODUL_1/02_cum_arata_calatoria_in_atm.html index 61f877f..c2bb807 100644 --- a/summaries/01_MODUL_1/02_cum_arata_calatoria_in_atm.html +++ b/summaries/01_MODUL_1/02_cum_arata_calatoria_in_atm.html @@ -17,14 +17,14 @@ -

Modul 1 / #2 — Cum arată călătoria în ATM

-

TLDR

+

Modul 1 / #2 — Cum arată călătoria în ATM

+

TLDR

Lecție pur organizatorică — prezintă ce conține programul ATM (structură, resurse, suport), nu concepte de trading. Nu apar pattern-uri, indicatori sau mecanisme de piață, deci fișierul de mai jos e o listă de referință rapidă a componentelor programului, nu un material tehnic — fără diagrame, pentru că n-ar avea ce ilustra.

-

Ce conține programul, pe categorii

+

Ce conține programul, pe categorii

Rutina zilnică - Analiză zilnică înainte de deschiderea pieței (echipa sau cursanți avansați). - Grup de semnale ATM: recomandări de tranzacții cu hartă MAPP (nu doar @@ -64,7 +64,7 @@ pentru că n-ar avea ce ilustra.

- Checklist complet pentru tranzacții + workshop-uri pe emoții/mindset. - (La 1-la-1) program de activare a stării de abundență, unde e cazul. - Strategii de calificare pentru conturi prop, din cele 10 strategii MAPP.

-

Notă

+

Notă

Tot ce e mai sus e strict din transcriere, reformulat/organizat pe categorii pentru lizibilitate — nu am adăugat conținut tehnic (pattern-uri, niveluri de preț, mecanisme) pentru că lecția nu discută așa ceva; ar fi fost diff --git a/summaries/01_MODUL_1/03_ce_inveti_in_modulul_1.html b/summaries/01_MODUL_1/03_ce_inveti_in_modulul_1.html index 4bcb4f3..8e45b51 100644 --- a/summaries/01_MODUL_1/03_ce_inveti_in_modulul_1.html +++ b/summaries/01_MODUL_1/03_ce_inveti_in_modulul_1.html @@ -17,19 +17,19 @@ -

Modul 1 / #3 — Ce înveți în Modulul 1 (roadmap)

-

TLDR

+

Modul 1 / #3 — Ce înveți în Modulul 1 (roadmap)

+

TLDR

Lecție introductivă, fără conținut tehnic — Bogdan anunță ce urmează în Modulul 1 și de ce contextul pieței contează mai mult decât set-up-ul în sine. Conținutul tehnic (pattern-uri, indicatori) vine în lecțiile următoare, nu aici.

-

Ideea centrală a modulului

+

Ideea centrală a modulului

Un set-up sau o strategie nu au valoare izolat de contextul în care apar. Aceeași strategie poate fi profitabilă într-un context favorabil (sentiment bullish, trend clar) și poate genera pierderi în context nefavorabil (consolidare, frică sau lăcomie extremă în piață) — chiar dacă execuția tehnică e identică. De aceea Modulul 1 construiește întâi capacitatea de a citi contextul pieței, înainte de orice pattern sau indicator.

-

Ce urmează concret în Modulul 1

+

Ce urmează concret în Modulul 1

Lecția enumeră piesele care compun "market context", pe care le vei regăsi ca lecții separate: