Skip to main content
Glama

BIST Trading Skill (Claude Code)

Borsa İstanbul için Claude Code skill'i + MCP sunucusu. day-trader-skill'in disiplin mantığı (önce risk kontrolü, sonra kullanıcı onayı) BIST kurallarına uyarlandı.

Yapabildikleri

  • Teknik analiz: EMA 20/50/200, trend, RSI, MACD + kesişim, Bollinger + sıkışma, ATR, hacim, tavan/taban

  • KAP bildirimleri (son N gün)

  • Lot hesabı: BIST fiyat adımına yuvarlama, komisyon dahil risk, nakit ve ağırlık sınırı

  • Risk kontrolü: işlem başı risk, R/R, günlük zarar limiti, günlük işlem sayısı, açık pozisyon sayısı, tavan/taban, seans

  • Paper trading (sanal portföy, gerçekleşen/gerçekleşmemiş kâr-zarar, stop/hedef uyarıları)

  • Midas emir fişi: Midas'a elle girilecek hazır emir

  • TradingView: Pine Script alarmlarını webhook ile alır, Claude sinyalleri risk kontrolünden geçirir

⚠️ Gerçek emir göndermez. Midas'ın bireysel kullanıcılara açık bir emir API'si yok. TradingView de dışarıdan emir göndermeye izin vermez; aracı kurum entegrasyonunda bile emri ekranda sen verirsin. Bu yüzden gerçek işlem her zaman senin elinde: bot planı ve emir fişini hazırlar, emri sen girersin.

Bu proje yatırım tavsiyesi değildir. Veri kaynakları resmi değildir ve gecikmeli olabilir.


Kurulum

Gerekenler: Node.js 22+ ve Claude Code.

git clone https://github.com/BurakOzcelik01/bist-trading-skill.git
cd bist-trading-skill
npm install
cp .env.example .env      # Windows: copy .env.example .env
npm test                  # 26 çevrimdışı test geçmeli
claude                    # Claude Code'u bu klasörde başlat

Claude Code ilk açılışta .mcp.json'daki bist sunucusunu onaylamanı ister; onayla. /mcp komutuyla bağlı olduğunu görebilirsin. Skill .claude/skills/bist-trader/SKILL.md içinde, otomatik yüklenir.

MCP sunucusunu elle başlatmana gerek yok; Claude Code onu kendisi çalıştırır.

Her klasörden kullanmak istersen (isteğe bağlı)

# Skill'i kişisel skill klasörüne kopyala
mkdir -p ~/.claude/skills && cp -r .claude/skills/bist-trader ~/.claude/skills/
# MCP sunucusunu kullanıcı düzeyinde kaydet (yolu kendi klasörünle değiştir)
claude mcp add --scope user bist -- node /TAM/YOL/bist-trading-skill/src/server.js

Related MCP server: trading-skills

Örnek kullanım

THYAO'ya günlükte bak, KAP'ı kontrol et, işlem planı çıkar.
ASELS için 1 saatlik grafikte giriş arıyorum, plan yap.
Portföyüm ne durumda? Stop'u gelen var mı?
Yeni TradingView sinyali var mı? Varsa değerlendir.
Planı onaylıyorum, Midas için emir fişini ver.

Araçlar

Araç

Açıklama

seans_durumu

İstanbul saatiyle seans durumu

bist_teknik_analiz

1d, 1h, 15m periyotlarında teknik özet; tamamlanmamış mumu hesaba katmaz

bist_temel_oranlar

F/K, PD/DD, piyasa değeri vb. (Yahoo; eksik alanlar açıkça listelenir)

kap_bildirimleri

Son N gün KAP bildirimleri; ulaşılamazsa bunu açıkça söyler

pozisyon_boyutlandir

Lot hesabı

risk_kontrol

PASS / FAIL + engeller ve uyarılar

paper_emir

Sanal al/sat; alış önce risk kontrolünden geçer, fiyat piyasadan %3'ten uzaksa reddedilir

portfoy_durumu

Sanal portföy değerlemesi

emir_fisi

Midas'a elle girilecek emir

tradingview_sinyalleri

Webhook'tan gelen sinyaller

portfoy_sifirla

Sanal portföyü sıfırlar

Risk ayarları (.env)

Değişken

Varsayılan

Anlamı

BASLANGIC_NAKIT_TL

100000

Paper portföy başlangıcı

KOMISYON_ORANI

0

Tek yön komisyon (Midas BIST'te komisyon almadığını açıklıyor)

ISLEM_BASI_RISK_YUZDE

1

Varsayılan işlem başı risk

MAKS_ISLEM_BASI_RISK_YUZDE

2

Aşılamaz üst sınır

MIN_RISK_ODUL

2

En az 1:2 R/R

MAKS_ACIK_POZISYON

5

Aynı anda açık pozisyon

MAKS_POZISYON_YUZDE

25

Tek hissenin portföydeki azami ağırlığı

GUNLUK_MAKS_ZARAR_YUZDE

3

Gün içi gerçekleşen zarar bu seviyeye gelince yeni işlem yok

GUNLUK_MAKS_ISLEM

6

Günlük işlem sayısı sınırı

ACILIS_KAPANIS_TAMPON_DK

15

Açılış/kapanışa yakın girişlerde uyarı

Paper portföy ve sinyaller data/ klasöründe tutulur (Git'e yüklenmez).

TradingView webhook kurulumu

TradingView alarmını bota iletmek için:

  1. .env içine WEBHOOK_SECRET yaz (en az 16 karakter): node -e "console.log(require('crypto').randomBytes(24).toString('hex'))"

  2. Alıcıyı başlat: npm run webhook (varsayılan 127.0.0.1:8080)

  3. Dışarıya aç. TradingView yalnızca 80/443 portlarına gönderir ve localhost'a ulaşamaz. Örneğin Cloudflare Tunnel ile: cloudflared tunnel --url http://localhost:8080 → sana bir https://….trycloudflare.com adresi verir.

  4. pine/ema-rsi-webhook.pine dosyasını TradingView'a ekle, ayarlara aynı anahtarı yaz.

  5. Alarm oluştur. Mesaj kutusuna yalnızca {{strategy.order.alert_message}} yaz. Webhook URL: https://<tünel-adresin>/webhook/tradingview

Webhook için TradingView'da ücretli plan ve iki adımlı doğrulama (2FA) gerekir. Alarm mesajının biçimi:

{"secret":"...","symbol":"THYAO","side":"BUY","price":312.25,"stop":298.5,"target":340,"strategy":"EMA-RSI"}

side: BUY, SELL veya CLOSE. stop ve target isteğe bağlı.

Pine şablonu örnektir; kârlı olduğu iddia edilmez. Önce TradingView'da backtest et.

Proje yapısı

.claude/skills/bist-trader/SKILL.md   Claude'un kuralları ve iş akışı
.mcp.json                             MCP sunucusunun Claude Code kaydı
src/server.js                         MCP sunucusu (stdio)
src/webhook.js                        TradingView alarm alıcısı
src/lib/bist-rules.js                 Fiyat adımı, tavan/taban, seans
src/lib/indicators.js                 EMA, RSI, MACD, Bollinger, ATR (bağımlılıksız)
src/lib/sizing.js, risk.js            Lot hesabı ve risk kontrolü
src/lib/portfolio.js                  Paper portföy
src/lib/market-data.js                Yahoo Finance
src/lib/kap.js                        KAP bildirimleri
src/lib/signals.js, order-ticket.js   Sinyal kaydı, emir fişi
pine/ema-rsi-webhook.pine             TradingView strateji şablonu
test/                                 Çevrimdışı testler

Bilinen sınırlar

  • Veri: Yahoo Finance resmi olmayan bir kaynak; BIST verisi ~15 dk gecikmeli olabilir, temel oranlar sık eksik gelir.

  • KAP: KAP'ın belgelenmiş açık API'si yok. Kullanılan uçlar, kap.org.tr sitesinin kendi kullandığı JSON uçları; KAP bunları değiştirirse araç "ALINAMADI" der, hiçbir zaman sessizce "bildirim yok" demez.

  • Takvim: Resmi tatiller ve arife yarım günleri araçta tanımlı değil.

  • Gerçek emir: Yok (yukarıya bak). API'si olan bir aracı kuruma geçersen paper_emir'in yanına o kurum için yeni bir araç eklenebilir; gerçek emir için de kullanıcı onayı şartı korunmalı.

Lisans

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables natural language trading operations through Alpaca's Trading API, supporting stocks, options, crypto, portfolio management, and real-time market data access through AI assistants like Claude.
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      Provides 32 trading analysis tools for AI-powered market analysis, including real-time data, technical indicators, options Greeks, scanners, and Interactive Brokers portfolio management, all accessible via natural language in Claude Desktop.
      36
      410
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables Claude to control and read from the TradingView Desktop app, providing automated morning briefs, chart analysis, Pine Script development, and replay mode.
      89 npm
      -