Automatischer Push: 14 Datei(en) geändert
- .vault-tools/plan-kopie/LIESMICH.md - .vault-tools/plan-kopie/rot_nachweis.py - .vault-tools/trading-plattform-pruefung/LIESMICH.md - .vault-tools/trading-plattform-pruefung/dienste_stand.sh - .vault-tools/trading-plattform-pruefung/ha_einrichten.py - .vault-tools/trading-plattform-pruefung/hole_kerzen.py - .vault-tools/trading-plattform-pruefung/neustart_echtlauf.py - .vault-tools/trading-plattform-pruefung/ntfy_lesen.py - .vault-tools/trading-plattform-pruefung/pause_echtlauf.py - .vault-tools/trading-plattform-pruefung/wiederanlauf_probe.ps1 - AI/Regelwerk/codeworkflow.md - AI/Regelwerk/projekte.md - … und 2 weitere Erzeugt vom PostToolUse-Hook .vault-tools/auto-push/auto_push.py. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
1 parent
395642c480
commit
246af19683
14 files changed
+964
-7
No files matched your search
@@ -0,0 +1,48 @@
|
||||
"""Holt die echten IEX-Minutenkerzen eines Handelstags und legt sie als JSON ab. Nur lesend.
|
||||
|
||||
Koordinator-Werkzeug, nicht Teil des Repos. Der einzige Netzzugriff ist der lesende Kerzenabruf
|
||||
bei Alpaca; ausgegeben werden Anzahl und Eckkurse, nie ein Schluessel. Die Datei ist die Eingabe
|
||||
fuer neustart_echtlauf.py. Entstanden in der Abschlusspruefung zu Paket F (2026-09-20).
|
||||
Aufruf (WSL, aus dem Projektordner): python hole_kerzen.py JJJJ-MM-TT <ziel.json>
|
||||
"""
|
||||
|
||||
import json
|
||||
import sys
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
|
||||
sys.path.insert(0, str(Path.cwd()))
|
||||
|
||||
from trading.paper.config import lade_paper_config
|
||||
from trading.paper.kerzen import HANDELSZONE
|
||||
from trading.paper.kerzen import AlpacaKerzenquelle
|
||||
from trading.paper.kerzen import handelsende
|
||||
|
||||
|
||||
def main() -> int:
|
||||
datum, ziel = sys.argv[1], Path(sys.argv[2])
|
||||
config = lade_paper_config("config/paper.toml")
|
||||
mitternacht = datetime.strptime(datum, "%Y-%m-%d").replace(tzinfo=HANDELSZONE)
|
||||
quelle = AlpacaKerzenquelle.from_secrets("config/secrets.toml", feed=config.feed, timeout=20.0)
|
||||
kerzen = quelle.kerzen_des_tages(config.instrument_id, handelsende(mitternacht))
|
||||
ziel.write_text(
|
||||
json.dumps(
|
||||
[
|
||||
{"zeit": k.zeit.isoformat(), "open": k.open, "high": k.high,
|
||||
"low": k.low, "close": k.close, "volume": k.volume}
|
||||
for k in kerzen
|
||||
]
|
||||
),
|
||||
encoding="utf-8",
|
||||
)
|
||||
print(f"{datum}: {len(kerzen)} Kerzen in {config.instrument_id} nach {ziel}")
|
||||
if kerzen:
|
||||
kurse = [k.close for k in kerzen]
|
||||
print(f" erste {kerzen[0].zeit.isoformat()} Schluss {kurse[0]}, "
|
||||
f"letzte {kerzen[-1].zeit.isoformat()} Schluss {kurse[-1]}, "
|
||||
f"Tief {min(kurse)}, Hoch {max(kurse)}")
|
||||
return 0 if kerzen else 2
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
Reference in new issue
Block a user