CommunityCodierung & Entwicklunggithub.com

bhardwajaditya/trader-in-alerts

Kursalarme für indische Aktien (NSE, BSE). Klingelt bei Kurs, Stopp oder Eröffnungsglocke. Wandelt einen Trade-Plan in drei Alarme um (Stopp, Ziel und „Flat by“ – standardmäßig 15:10 IST), plus über/unter/Stopp/Ziel in Rupien, prozentuale Bewegungen für Aktien und Indizes wie Nifty, zu jeder Tageszeit, Eröffnungsglocke um 09:15 IST und Pre-Open um 09:00 IST, jeweils einmalig ohne Spam.

Was ist trader-in-alerts?

Diese Skill für KI-Agenten erstellt und verwaltet Kursalarme für den indischen Aktienmarkt (NSE, BSE). Sie überwacht Preise, Zeiten und Marktereignisse und benachrichtigt den Nutzer eindeutig und einmalig – z. B. wenn ein Stopp- oder Zielkurs erreicht wird, der Markt öffnet (09:15 IST) oder der Pre-Open beginnt (09:00 IST). Die Skill liest den Handelsplan aus `trader-in/plan.json` und erzeugt mit `add --from-plan` drei Alarme: Stopp, Ziel und die „Flat by“-Zeit (standardmäßig 15:15 IST), vor dem automatischen Schließen von MIS-Positionen durch den Broker gegen 15:20 IST. Sie unterstützt Symbole in den Formaten NSE, BSE sowie die Indizes `^NSEI`, `^NSEBANK` und `^BSESN` und bezieht kostenlose, verzögerte Yahoo-Kurse über die inoffizielle `query2.finance.yahoo.com`-Schnittstelle. Die Skill ist als reines Informationswerkzeug konzipiert: Sie führt niemals Orders aus. Sie erinnert den Nutzer daran, dass Stopp und Ziel beim Broker separate Aufträge sind und der andere storniert werden muss, sobald einer ausgeführt wird. Sie ist plattformunabhängig (CLI) und kann mit Claude Desktop, Cursor oder Codex verwendet werden.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/bhardwajaditya/day-trader-skill-india/tree/main/trader-in-alerts

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht trader-in-alerts?

Kursalarme beobachten die Zahlen, damit der Nutzer nicht auf einen Chart starren muss. Ein Alarm ist eine Information, niemals ein Auftrag: Wenn ein Stopp-Alarm klingelt, wird durch diese Skill nichts verkauft. Der Stopp (SL-M-Verkauf) und das Ziel (LIMIT-Verkauf) liegen beim Broker als zwei separate Aufträge und erledigen die Arbeit; die Alarme teilen dem Nutzer mit, was passiert ist, erinnern ihn daran, den verbleibenden Auftrag zu stornieren, und sagen, wann die Position geschlossen werden muss.

${CLAUDE_SKILL_DIR} unten ist der Ordner dieser Skill (in dem sich diese SKILL.md befindet).

python3 "${CLAUDE_SKILL_DIR}/alerts.py" clock                          # NSE offen oder geschlossen, Pre-Open, nächste Öffnung (IST)
python3 "${CLAUDE_SKILL_DIR}/alerts.py" add --from-plan                # Stopp, Ziel, Flat-by aus trader-in/plan.json
python3 "${CLAUDE_SKILL_DIR}/alerts.py" add --opening-bell             # 09:15 IST
python3 "${CLAUDE_SKILL_DIR}/alerts.py" add --pre-open                 # 09:00 IST Pre-Open (optional)
python3 "${CLAUDE_SKILL_DIR}/alerts.py" add --symbol RELIANCE --stop 1193.30
python3 "${CLAUDE_SKILL_DIR}/alerts.py" add --symbol RELIANCE --target 1201.10
python3 "${CLAUDE_SKILL_DIR}/alerts.py" add --at 15:10 --label "flat by" --before-close --symbol RELIANCE
python3 "${CLAUDE_SKILL_DIR}/alerts.py" add --symbol TCS --pct 2
python3 "${CLAUDE_SKILL_DIR}/alerts.py" add --symbol ^NSEI --pct 1     # Nifty 50 (nur beobachten)
python3 "${CLAUDE_SKILL_DIR}/alerts.py" check                          # exit 0 = etwas hat geklingelt
python3 "${CLAUDE_SKILL_DIR}/alerts.py" quote RELIANCE "M&M" --write   # -> trader-in/prices.json
python3 "${CLAUDE_SKILL_DIR}/alerts.py" quote --holdings --write       # Portfolio + Plan-Ticker
python3 "${CLAUDE_SKILL_DIR}/alerts.py" list
python3 "${CLAUDE_SKILL_DIR}/alerts.py" reset reliance-ns-plan-stop

--now "2026-10-27 15:10" fixiert die Uhr (IST; ein bloßes 15:10 ist heute IST, Z oder +05:30 ist absolut); --offline DIR liest gespeicherte Kursdateien statt Netzwerk. Zitieren Sie M&M in der Shell ("M&M"), oder & trennt den Befehl.

Symbole

RELIANCE, RELIANCE.NS und NSE:RELIANCE sind NSE; RELIANCE.BO und BSE:RELIANCE sind BSE. Ein bloßes Symbol ist NSE (oder konfiguriertes default_exchange). Dateien enthalten immer die Yahoo-Form (RELIANCE.NS). Eine bloße sechsstellige Zahl wird als BSE-Scrip-Code gelesen (500325.BO), aber Yahoo liefert keine numerischen BSE-Codes (es antwortete am 2026-10-27 mit „No data found“): Verwenden Sie RELIANCE.BO. Indizes ^NSEI (Nifty 50), ^NSEBANK (Bank Nifty) und ^BSESN (Sensex) können punkteweise beobachtet und abgefragt werden, niemals gehandelt.

Was sie liest und schreibt

DateiWas
trader-in/plan.jsonder Trade von trader-in-exit, für add --from-plan
trader-in/config.jsonflat_by (Standard 15:10), default_exchange, extra_holidays, special_sessions
trader-in/alerts.jsondie Regeln (alerts.example.json in diesem Ordner)
trader-in/state/alerts.jsonwelche Regeln wann geklingelt haben, sodass jede nur einmal klingelt
trader-in/prices.jsondie aktuellsten Kurse in Rupien, zusammengeführt, für trader-in-budget und trader-in-risk
trader-in/portfolio.jsondie gehaltenen Symbole, für quote --holdings

Regeltypen

TypKlingelt beiKlingelt erneut
above / targetKurs bei oder über pricenach reset, oder von selbst wenn "rearm": true und der Kurs zurückgefallen ist
below / stopKurs bei oder unter pricegleich
pct_movebewegte sich um pct Prozent vom vorherigen Schlusskurs (oder ref), optional direction auf oder ab; nur bei einem Kurs von heutehöchstens einmal pro Tag
timedie IST-Uhr überschritt at („15:10“) an einem Handelstageinmal pro Handelstag
opening_bellNSE ist offen (09:15 IST, oder die Öffnung einer Sondersitzung)einmal pro Handelstag
pre_openNSE-Pre-Open läuft (09:00–09:15 IST: Ordereingabe bis 09:08, dann Matching)einmal pro Handelstag, nur innerhalb des Pre-Open

Eine Regel mit "date" wird nur an diesem IST-Datum beobachtet; --from-plan-Regeln tragen das Datum des Plans, sodass der Stopp von gestern nie heute klingelt. Eine time-Regel mit "before_close": true behält ihren Abstand zum Schluss einer Sondersitzung bei, die früher endet: „flat by“ um 15:10 klingelt um 14:40 bei einer Sitzung, die um 15:00 schließt.

Ein Stopp- oder Ziel-Alarm fügt hinzu: „Ihr Stopp und Ziel sind zwei separate Broker-Aufträge, kein OCO: Wenn der Stopp ausgeführt wurde, stornieren Sie jetzt den Ziel-Auftrag“ (oder umgekehrt). Indische Broker haben Bracket-Orders abgeschafft und haben kein OCO für MIS, daher bleibt ein übrig gebliebener SL-M- oder LIMIT-Verkaufsauftrag aktiv und kann Aktien verkaufen, die Sie nicht mehr halten.

Kurse

  • Yahoo-Chart-JSON: query2.finance.yahoo.com/v8/finance/chart/RELIANCE.NS (Symbol prozentkodiert, M%26M.NS), ein inoffizieller kostenloser Endpunkt, eine Anfrage pro Ticker, eine halbe Sekunde Abstand. Bei einem 429 wartet es und versucht es einmal erneut; bei einem 429, einem 5xx oder einem Netzwerkfehler danach versucht es query1. Es identifiziert sich als day-trader-skill-in/1.0. Yahoo liefert NSE und BSE in INR mit Asia/Kolkata-Zeiten; die prozentuale Bewegung verwendet den vorherigen Schlusskurs.
  • Stooq wird nicht verwendet: Es listet keine NSE/BSE-Ticker auf, und am 2026-10-27 antwortete sein Kurs-CSV mit 404 für jeden Ticker und seine anderen Seiten saßen hinter einer JavaScript-Herausforderung.
  • Kostenlose Kurse sind inoffiziell, verzögert und können nachhinken. Sie sind in Ordnung für Alarme und zur Größenprüfung, nicht für das Timing einer Order. Der Broker-Kurs ist der, der ausführt. Jeder Preis in trader-in/prices.json behält seine Kurszeit, und trader-in-risk verwendet nur einen, der unter 15 Minuten alt ist.
  • Falls Yahoo ausfällt, lesen Sie den Kurs vom Broker (Kite, Upstox) und schreiben Sie ihn in trader-in/prices.json als {"as_of": "...Z", "prices": {"RELIANCE.NS": 1196.20}}.

Die NSE-Uhr

IST ist UTC+05:30 das ganze Jahr (keine Sommerzeit); das Tool berechnet es selbst und ignoriert die Zeitzone des Computers. Normale Sitzung 09:15 bis 15:30 IST, Pre-Open 09:00 bis 09:15 (Ordereingabe 09:00–09:08, Matching 09:08–09:15). Broker schließen MIS-Positionen ab etwa 15:20 IST und berechnen dafür Gebühren, daher ist die Flat-by-Voreinstellung 15:10.

  • NSE-Aktienfeiertage 2026 (Wochentage): 26. Jan. Republic Day, 3. Mär. Holi, 26. Mär. Ram Navami, 31. Mär. Mahavir Jayanti, 3. Apr. Karfreitag, 14. Apr. Ambedkar Jayanti, 1. Mai Maharashtra Day, 28. Mai Bakri Id, 26. Jun. Muharram, 14. Sep. Ganesh Chaturthi, 2. Okt. Gandhi Jayanti, 20. Okt. Dussehra, 10. Nov. Diwali Balipratipada, 24. Nov. Guru Nanak Jayanti, 25. Dez. Weihnachten.
  • Sondersitzungen (keine normalen Tage): Sonntag, 01.02.2026 Union Budget Day, 09:15–15:00; Sonntag, 08.11.2026 Muhurat-Handel, 14:20–15:30 mit Pre-Open ab 14:05, gemäß NSE-Rundschreiben NSE/CMTR/76941 vom 19.10.2026 (Pressemeldungen unterscheiden sich bezüglich des Schlusses für Closing-Auction-Aktien: Überprüfen Sie das Rundschreiben).
  • 2027 ist noch nicht veröffentlicht: Für jedes Jahr ohne Liste warnt das Tool einmal („NSE holidays for 2027 are not built in; add them to config extra_holidays“) und behandelt Wochentage als offen. Fügen Sie Schließungen mit der Konfiguration "extra_holidays": ["2027-01-26", ...] und Sitzungen mit "special_sessions": {"YYYY-MM-DD": ["HH:MM", "HH:MM"]} hinzu.

Schritte

  1. Direkt nachdem trader-in-exit den Plan geschrieben hat, führen Sie add --from-plan aus. Bestätigen Sie die drei Alarme für den Benutzer: den Stopp, das Ziel und die Flat-by-Zeit, in Rupien und IST. Sagen Sie, dass Stopp und Ziel getrennte Aufträge beim Broker sind: Wenn einer ausgeführt wird, muss der andere storniert werden.
  2. Führen Sie check aus, während der Trade offen ist: Alle paar Minuten über einen geplanten Claude-Task oder /loop. Jeder Durchlauf holt nur die Symbole in den heutigen Regeln und lässt jeden Alarm einmal klingeln. Ein Check liest den neuesten verzögerten Kurs; es ist kein Live-Feed, und ein Preis kann zwischen zwei Überprüfungen ein Niveau überschreiten.
  3. Teilen Sie dem Benutzer mit, was geklingelt hat, in einer Zeile pro Alarm. Ein Stopp- oder Ziel-Alarm bedeutet, dass dieser Auftrag wahrscheinlich ausgeführt wurde: Überprüfen Sie Positionen und Aufträge in der Broker-App, stornieren Sie den anderen Auftrag und erfassen Sie die Ausführung mit /trader-in-broker. „Flat by“ bedeutet, schließen Sie alles noch Offene vor dem MIS-Schließen: /trader-in-broker flatten, dann /trader-in-risk, dann das Ja des Benutzers, dann stornieren Sie den verbleibenden Stopp und das Ziel. Handeln Sie niemals für sie.

Beispiel: Der Film

RELIANCE.NS am Dienstag, 2026-10-27: Eröffnungsbereich 1.189,70–1.197,00, Einstieg ₹1.197,20 um 12:40 IST, Stopp ₹1.193,30 (Bereichsmitte), Ziel ₹1.201,10 (1R), Flat by 15:10. add --from-plan schreibt reliance-ns-plan-stop, reliance-ns-plan-target und reliance-ns-flat-by für diesen Tag. Ein check um 15:05 liest den echten letzten Kurs, ₹1.196,20, zwischen Stopp und Ziel:

NSE OPEN (2026-10-27 15:05 IST, normal session).
Nothing hit. 3 rule(s) watched today, RELIANCE.NS ₹1,196.20.

Um 15:10:

ALERT Flat by: it is 15:10 IST (set for 15:10), the market closes at 15:30 IST. Brokers square off MIS
positions from about 15:20 IST and charge for it. If RELIANCE.NS is still open, close it:
/trader-in-broker flatten --symbol RELIANCE.NS builds the sell ticket, then /trader-in-risk and your yes.
Then cancel any stop and target orders still pending for it at the broker.

Es klingelt einmal. Am nächsten Morgen werden die drei Alarme des Plans nicht mehr beobachtet; mit add --pre-open und add --opening-bell klingeln sie um 09:00 und 09:15.

Regeln

  • Ein Alarm ist eine Tatsache über einen Kurs oder die Uhr. Sagen Sie es als Tatsache.
  • Stellen Sie niemals einen Kurs als live dar. Kostenlose Kurse sind verzögert und inoffiziell.
  • Bestätigen Sie jede neue Regel für den Benutzer: Symbol, Typ, Niveau in ₹, Tag.
  • Geld in Rupien mit indischer Gruppierung (₹1,23,456.78); Zeiten in IST.

Was sie niemals tut

Sie erteilt, storniert oder ändert niemals einen Auftrag, behauptet niemals, ein Kurs sei live, und sagt niemals voraus, wohin ein Kurs sich bewegt.

Sicherheit

  • Bildung und Werkzeuge, keine Anlageberatung. Für Beratung wenden Sie sich an einen SEBI-registrierten Anlageberater. Ein PASS ist eine Regelprüfung, keine Empfehlung.
  • Paper Trading standardmäßig ("paper": true): Indische Broker haben kein Paper-Konto, daher ist Paper ein lokales simuliertes Hauptbuch (trader-in/state/paper.json). Live zu gehen ist die eigene Entscheidung des Benutzers, in seiner eigenen Konfiguration.
  • Nichts in diesem Paket erteilt einen Auftrag außer trader-in-broker, und nur wenn alle drei Bedingungen erfüllt sind: trader-in-risk hat diesen genauen Auftrag heute bestanden, paper ist false, und der Benutzer hat im Chat ein explizites Ja für diesen einen Auftrag eingegeben.
  • Nur Long-Cash-Aktien: Keine F&O, Optionen, Leerverkäufe oder MIS-Hebel, es sei denn, die Konfiguration erlaubt es und der Benutzer bestätigt.
  • Broker-Schlüssel leben in Umgebungsvariablen oder der Claude Desktop-Konfiguration, niemals im Chat.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

bhardwajaditya/trader-in-broker

Order Executor for Indian stocks (NSE, BSE). Turns orders that passed /trader-in-risk into plain tickets for Zerodha Kite (default) or Upstox, and never sends anything without your yes. Indian brokers dropped bracket orders, so one trade becomes three orders: the buy, then a SL-M stop and a LIMIT target. The ticket warns that those two are NOT linked (no OCO). Shows the exact JSON for Kite's place_order MCP tool or the Upstox place-order body (ISIN instrument_token), the estimated costs (brokerage, STT, stamp duty, GST) and the max loss at the stop including costs, in ₹. Paper by default: a local simulated ledger with realised P&L after costs, because Indian brokers have no paper account. Live needs "paper": false, your yes typed word for word, then Claude's own Allow once card. Builds the sell that closes an MIS trade by 15:10 IST, before the broker's ~15:20 auto square-off. Covers connecting the Kite MCP server (tokens never in chat). Use when the user says "place the order", "buy it", "execute", "send…

bhardwajaditya/trader-in-news

News Monitor for Indian stocks (NSE / BSE). Tracks breaking news on every stock you watch and flags what moves it: Yahoo Finance and Google News (India edition) headlines, each company's exchange corporate announcements on NSE with a BSE fallback (financial results, board meeting outcomes, dividends, buybacks, acquisitions, credit ratings, KMP resignations and appointments, insider trading / SAST, promoter pledges, fund raising) and how far each stock is from the previous close in rupees. Shows only what is new since the last check, newest first, in IST, tags each item (earnings, analyst, deal, capital, people, halt, regulatory, macro...) and never repeats one. Use when the user says "any news on Reliance", "why is TCS moving", "news on my Nifty watchlist", "morning briefing", "pre-market news", "check NSE announcements", "any corporate announcements", "did HDFC Bank file anything", "monitor the news on my Indian stocks", or after /trader-in-scanner finds setups.

Verwandte Skills