İçeriğe geç
Signal Pilot

Webhook (TradingView → bot)

Webhook sayesinde TradingView alarmlarını dış servislere, botlara ya da kendi API'lerine yollayıp işleri otomatiğe bağlayabilirsin. Bu rehber, Signal Pilot göstergeleriyle nasıl kurulup kullanıldığını anlatıyor.

Eğitim amacı

Bu rehber, webhook bağlantısını öğrenme ve otomasyon amacıyla anlatır. Otomatik işlem ciddi riskler taşır. Bu bir yatırım tavsiyesi değildir.

📡 Webhook nedir?

Webhook, bir alarm çaldığı anda TradingView'ın kendiliğinden senin verdiğin adrese yolladığı bir HTTP POST isteğidir. En çok şunlar için kullanılır:

  • Haber vermek: alarmları Discord'a, Telegram'a ya da Slack'e yollamak
  • Kayıt tutmak: alarmları bir veri tabanında ya da hesap tablosunda saklamak
  • Otomatiğe bağlamak: kendi API'lerin üzerinden işlem başlatmak
  • Denemek: alarmların ne sıklıkla ve hangi koşullarda çaldığını izlemek

✅ Önce elinde olması gerekenler

Webhook kurmadan önce genelde şunlar gerekir:

  • Ücretli bir TradingView planı (Essential, Plus ya da Premium): ücretsiz hesapların webhook erişimi yoktur
  • Alıcının adresi: HTTP POST isteklerini kabul eden bir servis; örneğin bir Discord webhook'u, kendi sunucun ya da bir otomasyon platformu
  • Bir Signal Pilot göstergesi: ayarlanmış ve grafiğine eklenmiş olarak
  • Biraz JSON bilgisi: mesajı kendin kurmak istersen işine yarar, şart değil

🔧 Adım adım

1. adım: webhook adresini al

Hangi adresin gerektiği, alarmların nereye gideceğine bağlı:

Discord webhook'u

  1. Discord'da Sunucu Ayarları → Entegrasyonlar → Webhooks yolunu izle
  2. «New Webhook» düğmesine bas
  3. Bir ad ver ve kanalı seç
  4. Webhook adresini kopyala (şu biçimde: https://discord.com/api/webhooks/...)
Discord sunucu ayarlarındaki Integrations sayfası; Create Webhook düğmesiyle Webhooks satırı, yanında Channels Followed, Twitch ve YouTube.
Webhook’lar Discord sunucusunun kendi ayarlarında, Integrations altında durur. Orada bir tane oluşturmak, TradingView’in göndereceği adresi üretir.

Telegram botu

  1. Telegram'da «@BotFather» diye ara
  2. Ona /newbot yaz ve istediklerini sırayla yap
  3. Botun anahtarını al
  4. TradingView webhook'larını Telegram'a iletmek için bir köprü servisi ya da kendi sunucunu kullan

Kendi sunucun ya da kendi API'n

Alıcıyı şu tür platformlarla kendin kurabilirsin:

  • Webhook.site: denemek için; webhook'un içeriğini alır ve sana gösterir
  • Make.com (eski adıyla Integromat): birkaç servisi birbirine bağlamak için
  • Zapier: iş akışlarını otomatiğe bağlamak için
  • Kendi sunucun: Python ile Flask, Node.js ile Express ve benzerleri

2. adım: TradingView'da alarmı ayarla

  1. Signal Pilot göstergesinin durduğu grafikte Alarm simgesine tıkla (artılı saat)
  2. Alarm penceresinde:
    • Koşul: Signal Pilot göstergeni ve izlemek istediğin koşulu seç
    • Seçenekler: mum içinde yeniden çizim olmasın diye «Once Per Bar Close» yap
    • Vade: ihtiyacına göre ayarla; çoğunlukla «Open-ended» seçilir
  3. Aşağı kaydırıp «Notifications» sekmesine gel.
  4. Ardından «Webhook URL» kutusunu işaretle.
  5. Alıcının adresini oraya yapıştır
TradingView uyarı penceresinin Notifications sekmesi; Notify in app, Show toast notification, Send email ve Webhook URL işaretli, adres alanında örnek bir metin var, Play sound ile Send plain text işaretsiz.
Webhook URL alanı, üstündeki kutucuğu işaretler işaretlemez belirir. TradingView uyarı metnini bir POST isteğinin gövdesi olarak oraya yapıştırdığın adrese gönderir.

3. adım: mesajı kendin kur (isteğe bağlı)

Bir de «Message» alanı var; hangi verilerin gideceğini orada sen belirlersin. TradingView şu yer tutucuları tanır:

{
  "indicator": "{{ticker}}",
  "price": "{{close}}",
  "time": "{{time}}",
  "signal": "Pentarch: IGN event",
  "timeframe": "{{interval}}"
}

TradingView'da en çok kullanılan yer tutucular:

  • {{ticker}}: sembolün adı, örneğin «BTCUSDT»
  • {{close}}: o anki kapanış fiyatı
  • {{time}}: alarmın çaldığı saat
  • {{interval}}: zaman dilimi, örneğin «15» ya da «1D»
  • {{exchange}}: borsanın adı

4. adım: webhook'u dene

  1. Alarmı kurduktan sonra, ayarlarındaki «Test» düğmesine bas.
  2. Gitmesi gereken yere bak: Discord kanalı, webhook.site ya da ne koyduysan
  3. Mesajın düzgün biçimlenmiş olarak geldiğini gör
  4. Hiçbir şey gelmiyorsa şunlara bak:
    • Webhook adresi doğru mu
    • TradingView hesabının webhook erişimi var (Essential, Plus ya da Premium)
    • Alıcıya ulaşılabiliyor mu, güvenlik duvarı engelliyor mu
Signal Pilot Alerts adlı bir uygulamanın gönderdiği bir Discord iletisi; BTCUSDT.P 4h üzerinde BULLISH FLOW, kalite ve rejim yüzdeleri ile giriş, zarar kes, hedef, büyüklük ve risk değerleri.
Uyarının Discord’a varışı. Webhook, metni TradingView’in gönderdiği hâliyle yayımlar, yani burada gördüğün şey uyarı şablonunun ürettiği şeydir.

💬 Biçim örnekleri

Discord biçiminde mesaj

{
  "content": "🔔 **Signal Pilot Alert**",
  "embeds": [{
    "title": "Pentarch: IGN event",
    "description": "IGN event printed on {{ticker}}",
    "color": 65280,
    "fields": [
      {"name": "Price", "value": "{{close}}", "inline": true},
      {"name": "Timeframe", "value": "{{interval}}", "inline": true},
      {"name": "Time", "value": "{{time}}", "inline": false}
    ]
  }]
}

Düz metin mesajı

Signal Pilot: {{ticker}} - {{interval}} zaman diliminde {{close}} seviyesinde Harmonic Oscillator rejim değişimi

Kendi API'n için yapılandırılmış JSON

{
  "alert_type": "signal_pilot",
  "indicator": "janus_atlas",
  "symbol": "{{ticker}}",
  "exchange": "{{exchange}}",
  "timeframe": "{{interval}}",
  "price": "{{close}}",
  "timestamp": "{{time}}",
  "condition": "Level Break Alert"
}

🌐 Yaygın platformlar

Platform Kullanım alanı Kurulum zorluğu
Discord Ekibe haber vermek ve kayıt tutmak Çok kolay
Telegram Telefona bildirim Orta; bot ve köprü gerekir
Make.com Birkaç servisi bağlamak Kolay, akışı görsel kuruyorsun
Zapier 5000'den fazla uygulamayla bağlantı Kolay, akışı görsel kuruyorsun
Webhook.site Deneme ve hata ayıklama Çok kolay
Kendi sunucun Her şey senin elinde, mantığı sen yazarsın Zor; programlama gerekir

🔍 Bir şey tutmadığında

🔍 Webhook hiçbir şey göndermiyorsa şunlara bak:
  1. Adres gerçekten alarmın içinde mi? → Değilse, adresi ekle
  2. Alarm çalıyor mu? → Çalmıyorsa, önce alarmı düzelt
  3. webhook.site üzerinde denedin mi? → Denemediysen önce orada dene. Olmuyorsa yeni bir adres üret
  4. Biçim doğru mu? → Discord'un ya da Telegram'ın istediği biçime bak
  5. JSON geçerli mi? → Bir JSON doğrulayıcıdan geçirip yazımına bak
  6. Ücretli bir TradingView planınız var mı? → Ücretsiz hesaplar webhook kullanamaz

Hızlı deneme: İlk denemeni her zaman webhook.site üzerinde yap. Oraya geliyor ama Discord'a ya da Telegram'a gelmiyorsa sorun alıcı taraftaki ayardadır.

Webhook eline geçmiyor

  • TradingView paketini kontrol et: ücretsiz hesaplar webhook kullanamaz
  • Adresi gözden geçir: fazladan boşluk olmasın, protokol https:// olsun
  • Alıcıyı dene: TradingView'ın adresine ulaştığını webhook.site ile doğrula
  • Alarm çaldı mı?: TradingView'ın alarm kaydına bakıp gerçekten çaldığını doğrula

Mesajda yanlış veri var

  • Yer tutucunun yazımı: doğrusu {{ticker}}; yanlışı {ticker}
  • JSON biçimi: yapılandırılmış biçimi kullanıyorsan jsonlint.com'da doğrula
  • Tırnakların kaçışı: \" işaretini, JSON metninin içinde tırnak gerektiğinde kullan

Çok fazla webhook geliyor

  • Alarmın sıklığı: «Once Per Bar» yerine «Once Per Bar Close» yap
  • Koşulun keskinliği: koşulu daralt, daha seyrek çalsın
  • Bekleme süresi: bazı webhook servisleri kaç istek kabul ettiğine sınır koyar

🔒 Güvenlik

Güvenlikte akılda tutulacaklar

  • Webhook adresi hassas bilgidir: ona parola gibi davran, hiçbir yerde paylaşma
  • Arada bir yenile: hele önemli işler ona bağlıysa
  • Geleni doğrula: kendi sunucunu kullanıyorsan, isteklerin gerçekten TradingView'dan geldiğini doğrula
  • Elden geldiğince HTTPS kullan: yalnızca şifresiz HTTP kabul eden bir alıcı risklidir

📋 Örnek bir kurulum

Senaryo: Pentarch IGN uyarılarını bir Discord kanalında almak

  1. Kuruldu: #trading-alerts kanalında bir Discord webhook'u
  2. Ayarlandı: BTCUSDT 15 dakikalık grafikte Pentarch v1.0
  3. Alarm kondu: “Pentarch: IGN event” koşuluna
  4. Sıklık: «Once Per Bar Close»
  5. Yapıştırıldı: alarm ayarlarına Discord webhook adresi
  6. Mesaj: yukarıdaki Discord gömme biçimiyle hazırlandı
  7. Denendi: alarm denendi, mesaj Discord'da göründü
  8. Alarm çalışıyor: - her IGN olayı basıldığında kanala bir ileti düşer

(Gerçek bir kurulum örneği, yalnızca öğrenme amaçlı. Yatırım tavsiyesi değildir. Sonuçlar kişiden kişiye değişir.)