Lesezeit … Min.

TradingView-Webhooks an deine Broker-API

Schreibe eine Pine Script-Strategie mit Claude oder ChatGPT, validiere sie im Strategy Tester von TradingView und leite die Alerts über einen Webhook an eine Cloud-Runtime weiter, die deine Broker-REST-API direkt aufruft. Kein MetaTrader-Terminal, kein Windows-VPS.

TradingView-Alerts können einen JSON-Body per POST an jede von dir kontrollierte HTTPS-URL senden. TradingHost hostet diese URL in einem permanent aktiven Container, parst den Payload und übermittelt die Order an den Broker. Von Grund auf brokerunabhängig: Forex- und CFD-Broker, Aktien- und Futures-Broker sowie Krypto-Börsen funktionieren alle auf dieselbe Weise, solange der Broker eine REST- oder Websocket-API anbietet.

Latenzerwartung: Der serverseitige Alert von TradingView wird etwa 1 bis 3 Sekunden nach dem Schließen des Bars ausgelöst, gefolgt von der Orderbestätigung des REST-Endpunkts deines Brokers (typischerweise 100 bis 500 ms). Die End-to-End-Laufzeit beträgt einige Sekunden, nicht Millisekunden. Dieser Workflow eignet sich für Swing-, Positions- und langsame Intraday-Strategien; für Scalping, Latenzarbitrage oder Ausführungen im Sekundenbereich ist er nicht geeignet.

Abschnitt 01 · Funktionsweise

Vier Teile, ein Kreislauf

Der gesamte Workflow basiert auf vier Tools, die jeweils eine Aufgabe übernehmen. TradingView entscheidet, wann gehandelt wird. GitHub speichert den Code des Receivers. TradingHost führt diesen Code in der Cloud aus und stellt die Webhook-URL bereit. Der Broker führt die Order aus. Sobald du weißt, welches Tool was tut, kannst du die restlichen Abschnitte hier einfach überfliegen.

  • Deine Chart- und Signalquelle

    TradingView

    Hostet deine Pine Script-Strategie, führt den Strategy Tester aus und löst Alerts aus, wenn Einstiegs- oder Ausstiegsbedingungen erfüllt sind. Alerts können einen JSON-Payload per POST an eine Webhook-URL senden.

  • Dein Receiver-Code

    GitHub

    Speichert den kleinen Receiver-Dienst, der den TradingView-Payload parst und die REST-API des Brokers aufruft. Versionskontrolliert und auf Wunsch privat.

  • Deine Cloud-Runtime

    TradingHost

    Zieht den Receiver-Code von GitHub, baut einen Container und stellt eine stabile HTTPS-Webhook-URL bereit, an die TradingView senden kann. Permanent aktiv. Kein Desktop-PC, der laufen muss.

  • Dein Ausführungsplatz

    Broker-API

    Empfängt die Order von deinem TradingHost-Container über die REST-API des Brokers. Brokerunabhängig: Jeder Broker und jede Börse mit einer dokumentierten REST- oder Websocket-API funktioniert auf dieselbe Weise.

Vom Start zum Live-Signal

  1. Schreibe eine Pine Script-Strategie auf TradingView, idealerweise im Pair-Programming mit Claude oder ChatGPT.
  2. Teste die Strategie im Strategy Tester von TradingView ausgiebig, bevor du sie live schaltest.
  3. Forke ein TradingHost-Webhook-Receiver-Starter-Template in dein GitHub-Konto und passe es für deinen Broker an.
  4. Verknüpfe eine TradingHost-Runtime mit dem Repository und wähle eine Region aus; die Runtime stellt eine öffentliche Webhook-URL bereit.
  5. Erstelle einen TradingView-Alert für die Strategie, füge die Webhook-URL ein und definiere den JSON-Nachrichtentext mit den strategy.order-Platzhaltern.
  6. Wenn der Alert ausgelöst wird, sendet TradingView einen POST-Request an TradingHost. Dein Container parst den Payload und platziert die Order über den API-Aufruf deines Brokers.

Laufzeit (Round-Trip): Der serverseitige Alert von TradingView wird 1 bis 3 Sekunden nach dem Schließen eines Bars ausgelöst, und der REST-Endpunkt des Brokers bestätigt eine Order typischerweise in 100 bis 500 ms. End-to-End bewegen wir uns hier im einstelligen Sekundenbereich, nicht in Millisekunden. Das ist völlig ausreichend für Swing- und langsame Intraday-Strategien, eignet sich jedoch nicht für Scalping oder Latenzarbitrage.

Abschnitt 02 · Auf einen Blick

Auf einen Blick

Workflow
TradingView Pine Script-Alert an Cloud-Webhook-Receiver an Broker-REST-API
Pine Script-Version
Pine Script v6 (aktuelle Sprachversion von TradingView)
Alert-Übertragung
HTTPS POST an eine benutzerdefinierte Webhook-URL
Zulässige Ports
TradingView liefert nur an die Ports 80 und 443; andere Ports werden abgelehnt
Antwort-Timeout
Der Empfänger muss innerhalb von drei Sekunden antworten, andernfalls wird die Anfrage abgebrochen
Payload-Format
Inhalt der Alarmmeldung; wird als application/json gesendet, wenn der Inhalt gültiges JSON ist
Strategie-Platzhalter
{{strategy.order.action}}, {{strategy.order.contracts}}, {{ticker}}, {{close}} und ähnliche
Erforderliches Abo-Modell
TradingView Plus, Premium oder Ultimate (Essential und die kostenlose Version enthalten keine Webhooks)
Kontoanforderungen
Die Zwei-Faktor-Authentifizierung muss im TradingView-Konto aktiviert sein
Receiver-Laufzeitumgebung
Containerisierter, dauerhaft aktiver Dienst auf TradingHost, bereitgestellt über GitHub
Programmiersprachen
Jede Sprache, die einen kleinen HTTP-Server in einem Container ausführen kann (Python, Node, Go, Rust etc.)
Broker-Unterstützung
Broker-agnostisch: jeder Broker und jede Börse mit einer dokumentierten REST- oder Websocket-API (Forex, CFDs, Aktien, Futures, Krypto)
Beispiel-Broker
Die OANDA v20 REST-API dient als kurzes, wartungsarmes Beispiel für den Aufruf vom Receiver zum Broker; die Seite ist nicht OANDA-spezifisch
Rolle von TradingHost
Laufzeitumgebung, Deployment, Logs, Health-Checks, Regionsauswahl, verschlüsselte Broker-Zugangsdaten
Rolle von TradingView
Charting, Ausführung von Pine Script, Generierung von Alarmen, Webhook-Zustellung
Verbindung
TradingHost ist unabhängig und steht in keiner Verbindung zu TradingView, PineConnector, OANDA oder anderen genannten Diensten

Abschnitt 03 · Pine Script mit KI schreiben

Strategien gemeinsam mit Claude oder ChatGPT schreiben

Pine Script ist eine schlanke, gut dokumentierte Sprache. Die aktuelle Generation von Large Language Models hat die öffentliche Pine Script v6-Referenz von TradingView vollständig erfasst. Beschreiben Sie Ihre Strategie in einfachem Englisch in Claude oder ChatGPT (oder in Cursor mit einem dieser Modelle im Hintergrund): was überwacht werden soll, was ein Long- oder Short-Signal auslöst, wie die Positionsgröße bestimmt wird und wann der Ausstieg erfolgt. Kopieren Sie den generierten Code in den Pine Editor von TradingView, um Syntaxfehler direkt vom Editor anzeigen zu lassen.

Weisen Sie das Modell explizit auf zwei Dinge hin. Erstens: Verlangen Sie ein Pine Script-Strategie-Skript (es muss strategy() statt indicator() deklarieren), da nur Strategien die Platzhalter {{strategy.order.action}} und {{strategy.order.contracts}} bereitstellen, die Sie im Webhook-Body benötigen. Zweitens: Bitten Sie das Modell, Einstiege mit strategy.entry() und Ausstiege mit strategy.close() auszulösen sowie Ad-hoc-Benachrichtigungen über die Funktion alert() statt alertcondition() zu schreiben. Die moderne alert()-Funktion bietet dieselben Strategie-Platzhalter und akzeptiert ein freq-Argument, das steuert, ob der Alarm bei jedem Tick, einmal pro Bar oder einmal beim Schließen der Bar ausgelöst wird.

Prüfen Sie jede Zeile, die das Modell schreibt. Trading-Code verzeiht keine subtilen Fehler bei der Positionsgrößenbestimmung, dem Positionsstatus oder dem Verhalten innerhalb einer Bar (Intra-Bar). Lassen Sie sich unklare Berechnungen vom Modell erklären, bevor Sie sie übernehmen. Wenn Sie einen tiefergehenden AI-IDE-Workflow nutzen möchten (Pine und ein Python- oder Go-Receiver in einem gemeinsamen Editor), beschreibt die Cursor-Workflow-Seite die IDE-Seite dieses Prozesses.

Abschnitt 04 · Vor dem Live-Gang backtesten

Führen Sie den Strategy Tester aus, bevor Sie den Webhook verbinden

Der Strategy Tester von TradingView lässt Ihre Pine Script-Strategie über die verfügbare Historie des Charts laufen und liefert Nettogewinn, Profit-Faktor, Drawdown, Gewinnquote sowie eine vollständige Liste der simulierten Trades. Die Tabs „Performance-Zusammenfassung“, „Liste der Trades“ und „Eigenschaften“ bieten Ihnen eine solide Entscheidungsgrundlage, ob es sich lohnt, die Strategie mit einem echten Broker zu verbinden.

Führen Sie diesen Schritt aus, bevor Sie einen TradingView-Alarm mit einer Webhook-URL erstellen. Ein Live-Webhook auf einer ungeprüften Strategie ist der teuerste Weg, um Programmierfehler zu finden.

Abschnitt 05 · Alarme und Webhooks

TradingView-Alarm und Webhook-URL konfigurieren

Öffnen Sie das Dialogfenster „Alarm erstellen“ auf Ihrem Chart, wählen Sie die Strategie als Bedingung aus, wechseln Sie zum Tab „Benachrichtigungen“ und aktivieren Sie „Webhook-URL“. Fügen Sie den TradingHost-Webhook-Endpunkt als URL ein. Der Text, den Sie in das Feld „Nachricht“ eingeben, wird von TradingView per POST-Request an diese URL gesendet, sobald der Alarm ausgelöst wird.

Schreiben Sie die Nachricht als JSON. TradingView erkennt gültiges JSON automatisch und setzt den Content-Type der Anfrage auf application/json – genau das, was Ihr Receiver erwartet. Ein minimaler Payload für einen Strategie-Alarm enthält den Ticker, die Richtung (aus {{strategy.order.action}}), die Größe (aus {{strategy.order.contracts}}) und ein Shared Secret, das Ihr Receiver prüft, bevor er Daten an den Broker weiterleitet.

Von TradingView dokumentierte Transportregeln

Methode
HTTP POST. Der Inhalt der Alarmmeldung wird als Request-Body gesendet.
Ports
Nur die Ports 80 und 443. Webhook-URLs mit anderen expliziten Ports werden abgelehnt.
Content-Type
application/json, wenn der Inhalt der Alarmmeldung gültiges JSON ist. Andernfalls Klartext.
Timeout
Drei Sekunden. Wenn der Receiver nicht innerhalb dieses Zeitfensters antwortet, wird die Anfrage abgebrochen.
Quell-IPs
TradingView veröffentlicht die ausgehenden Webhook-IP-Adressen im Konfigurationsfenster für Alarme. Tragen Sie diese in die Whitelist Ihrer Firewall oder Ihres Webhook-Receivers ein.
Konto
Webhook-Alerts erfordern eine Zwei-Faktor-Authentifizierung für das TradingView-Konto.
Tarifstufe
Webhook-Alerts sind den Tarifen Plus, Premium und Ultimate vorbehalten. Die Tarife Essential und Free enthalten diese Übertragungsmethode nicht.

Platzhalter für Alert-Nachrichten

{{ticker}}
Das zum Zeitpunkt des Alerts auf dem Chart angezeigte Symbol.
{{exchange}}
Börsenkürzel, falls zutreffend.
{{close}}
Schlusskurs des Bars, der den Alert ausgelöst hat.
{{volume}}
Volumen des Bars, der den Alert ausgelöst hat.
{{time}}
Eröffnungszeit des Bars in UTC.
{{strategy.order.action}}
Gibt „buy“ oder „sell“ für die ausgelöste Strategie-Order zurück. Nur für Strategie-Alerts.
{{strategy.order.contracts}}
Anzahl der Kontrakte oder Einheiten der ausgeführten Order. Nur für Strategie-Alerts.
{{strategy.order.price}}
Der von der Strategie gemeldete Ausführungskurs (Fill Price). Nur für Strategie-Alerts.
{{strategy.order.id}}
Die ID, die die Strategie der Order zugewiesen hat. Nur für Strategie-Alerts.
{{strategy.order.comment}}
Optionaler Kommentar-String, den die Strategie an die Order angehängt hat.

Eine wichtige Besonderheit von Pine Script: Indikator-Skripte können Alerts über alertcondition() oder alert() auslösen, aber nur Strategy-Skripte stellen die {{strategy.*}}-Platzhalter bereit. Wenn der Webhook-Body die Richtung (Side) und die Größe (Size) des Trades enthalten soll, muss das Skript strategy() deklarieren, nicht indicator().

Abschnitt 06 · Empfang auf TradingHost

Webhook-URL auf einer Runtime hosten, nicht auf dem eigenen Laptop

Die Webhook-URL, an die TradingView sendet, muss immer online sein, wenn die Märkte geöffnet sind. Ein Laptop ist dafür der falsche Ort; ein Desktop-PC mit instabiler Internetverbindung ebenfalls. Ein gewöhnlicher Windows-VPS funktioniert zwar, aber nur solange Sie daran denken, ihn zu patchen und das entsprechende Terminal laufen zu lassen.

TradingHost stellt Ihnen einen Kubernetes-basierten Linux-Container bereit, der direkt aus einem GitHub-Repository läuft und einen stabilen HTTPS-Endpunkt bereitstellt. Ihr Receiver-Code kann völlig frei gestaltet werden (z. B. ein FastAPI-Handler in Python, eine Express-Route in Node oder ein net/http-Server in Go), solange er HTTP auf Port 443 spricht und innerhalb des dreisekündigen Zeitfensters von TradingView antwortet. Wenn Sie Code zu GitHub pushen, baut TradingHost den Container neu und führt das Deployment aus – die Webhook-URL bleibt dabei unverändert.

Die API-Zugangsdaten Ihres Brokers werden als verschlüsselte Secrets auf der Runtime gespeichert, nicht in Ihrem GitHub-Repository. Das Shared Secret, das Sie im Nachrichtentext von TradingView hinterlegen, befindet sich ebenfalls dort. Ihr Receiver validiert dieses Shared Secret bei jeder eingehenden Anfrage, liest dann die Broker-Zugangsdaten aus der Umgebung aus und ruft die Broker-API auf.

Logs werden in Echtzeit gestreamt, sodass Sie die genaue Reihenfolge nachvollziehen können: TradingView-Anfrage empfangen, Payload geparst, Order übermittelt, Broker-Bestätigung erhalten. Falls ein Fehler auftritt, zeigt die Log-Zeile genau an, wo es hakt.

Abschnitt 07 · Ausführung beim Broker

Jeder Broker mit API – die Struktur des Receivers bleibt gleich

TradingHost ist brokerunabhängig. Dem TradingHost-Container ist es egal, welcher Broker hinter dem aufgerufenen REST-Endpunkt steht. Dieselbe Receiver-Struktur funktioniert unabhängig davon, ob das Ziel ein Forex-Broker, ein Aktien-Broker, ein Futures-Broker oder eine Krypto-Börse ist. Die einzigen Unterschiede liegen im Authentifizierungsverfahren, der Symbolik der Handelsinstrumente und den vom Broker unterstützten Ordertypen. Alles andere bleibt gleich.

Unterstützte Broker-Kategorien für diesen Workflow

Forex und CFDs
Broker mit REST-APIs im v20-Stil und ähnlichen Schnittstellen (OANDA, IG, Switch Markets und andere auf /brokers/forex-and-cfd/).
Aktien und Futures
Broker mit REST- oder FIX-Gateways (Interactive Brokers und andere auf /brokers/stocks-and-futures/).
Krypto-Börsen
Spot- und Derivate-Handelsplätze mit REST- und Websocket-Schnittstellen (Binance, Bybit, OKX, Coinbase, Kraken und über 60 weitere auf /brokers/crypto/, meist via CCXT).
Sonstige
Jeder Broker mit einer dokumentierten HTTP-Order-Schnittstelle. Das unten beschriebene Receiver-Muster bleibt unverändert.

Ablauf im Receiver bei jedem eingehenden Webhook

  1. Validierung des Shared Secrets aus dem TradingView-Alert-Body, bevor Daten weitergeleitet werden.
  2. Zuordnung des TradingView-Tickers zum Instrumenten-Code des Brokers (die meisten Broker verwenden eine leicht abweichende Symbolik).
  3. Erstellung der Order-Anfrage mit der Orderrichtung (Kauf/Verkauf) codiert im Vorzeichen der Positionsgröße, dem Ordertyp „Market“ und der vom Broker empfohlenen Time-in-Force.
  4. Senden der Anfrage mit dem Authentifizierungs-Header des Brokers (je nach Broker: Bearer-Token, HMAC-signierte Payload oder OAuth).
  5. Die Antwort protokollieren, Fehler ausgeben und innerhalb des dreisekündigen Timeouts ein schnelles 200 OK an TradingView zurückgeben.

Ein kurzes Beispiel: OANDA v20

OANDA dient hier als wartungsarmes Praxisbeispiel, da die v20-REST-Referenz unter developer.oanda.com vollständig dokumentiert ist und sich kostenlose Demo-Konten einfach eröffnen lassen. Der Ablauf: Ein Bearer-Token im Authorization-Header, ein POST-Request an /v3/accounts/{accountID}/orders mit einem Market-Order-Body gegen api-fxtrade.oanda.com für Live-Konten oder api-fxpractice.oanda.com für Demo-Konten. Dies ist nur ein Broker von vielen; der Empfänger-Code für Interactive Brokers, Binance, OKX oder Switch Markets folgt demselben Muster mit dem jeweiligen Authentifizierungsschema und Endpunkt des Brokers. Die /brokers/-Seiten beschreiben die brokerspezifischen Details.

Abschnitt 07.5 · Betriebssicherheit

Was schiefgehen kann, wenn es um echtes Geld geht

Die Zustellung von TradingView-Alerts erfolgt nach dem Best-Effort-Prinzip. Webhooks können verloren gehen, mehrfach gesendet werden oder sich verzögern. Broker-APIs können bei Wiederholungsversuchen Antworten liefern, die wie eine neue Order aussehen. Fehler in Pine Script können zu Positionsgrößen führen, die weit außerhalb des geplanten Risikos der Strategie liegen. Der Empfänger ist der Ort, an dem Sie den Sicherheitsgurt anlegen. Unten finden Sie sechs Schutzmaßnahmen; jede ist ein kleines Stück Empfänger-Code, das ein Fehlerszenario verhindert, das der Trader nach dem Live-Gang nicht mehr beheben kann.

  1. 01 · Ausfallzeit des Empfängers

    Was passiert, wenn der Empfänger beim Auslösen eines Alerts offline war?

    TradingView stellt fehlgeschlagene Webhook-Zustellungen standardmäßig weder in eine Warteschlange noch versucht es, sie erneut zu senden. Wenn der Empfänger eine Antwort zurückgibt, die nicht im 2xx-Bereich liegt, oder länger als drei Sekunden für die Antwort benötigt, wird der Alert verworfen. Die Strategie löst bei späteren Bars weiterhin Alerts aus, aber das verpasste Signal ist verloren. Schutzmaßnahme: Halten Sie den Empfänger so einfach wie möglich, damit er immer innerhalb des Timeouts antwortet, protokollieren Sie jeden eingehenden Payload auf der Festplatte, bevor Sie ihn verarbeiten (damit eine verpasste Order in den Runtime-Logs erscheint), und überwachen Sie die Betriebszeit der Runtime, um zu wissen, ob der Empfänger beim Auslösen eines Signals unerreichbar war.

  2. 02 · Doppelte Alerts

    TradingView kann denselben Alert mehrfach auslösen

    Pine Script-Werte werden bei jedem Tick innerhalb einer Live-Bar aktualisiert. Ein auf „Every tick“ eingestellter alertcondition- oder alert-Aufruf kann bei demselben logischen Signal mehrfach ausgelöst werden. Selbst bei der Einstellung „Once per bar close“ können TradingView-Wiederholungsversuche gelegentlich denselben Payload zweimal hintereinander zustellen. Schutzmaßnahme: Fügen Sie eine eindeutige Kennung in den Alert-Body ein (die Bar-Zeit, die von der Strategie generierte Order-ID oder einen Hash des Payloads) und weisen Sie jeden eingehenden Payload ab, dessen Kennung der Empfänger in den letzten Minuten bereits verarbeitet hat. Speichern Sie diesen Deduplizierungsschlüssel im Arbeitsspeicher oder in einem kleinen Key-Value-Store innerhalb der Runtime.

  3. 03 · Order-Idempotenz

    Gestalten Sie jeden Broker-Aufruf so, dass ein Wiederholungsversuch keine doppelte Position erstellt

    Die meisten Broker-REST-APIs akzeptieren einen Idempotenz-Schlüssel (Idempotency Key), also eine vom Client bereitgestellte Order-ID, die der Broker verwendet, um dieselbe Übermittlung bei Wiederholungsversuchen zu deduplizieren. Setzen Sie diesen Schlüssel bei jeder Order, die der Empfänger platziert. Verwenden Sie dieselbe Kennung wie für die Alert-Deduplizierung (die Bar-Zeit oder die von der Strategie generierte Order-ID), damit sich Empfänger, TradingView und Broker einig sind, um welche logische Order es sich handelt. Ohne diese Maßnahme kann ein durch eine vorübergehende Netzwerkstörung ausgelöster Wiederholungsversuch zu einer doppelten Ausführung der Position führen.

  4. 04 · Schutz vor zu großen Positionen

    Begrenzen Sie die Positionsgröße, die Sie von {{strategy.order.contracts}} akzeptieren

    Der Platzhalter strategy.order.contracts von Pine Script meldet die Größe, die die Strategie zu handeln glaubt. Ein Fehler in der Strategielogik, eine falsch konfigurierte Positionsgröße oder eine Endlosschleife können zu einem contracts-Wert führen, der weit über der Kapazität des Kontos liegt. Schutzmaßnahme: Legen Sie im Empfänger (unabhängig von der Strategie) eine feste maximale Größe fest und weisen Sie jede Order ab, deren contracts-Wert diese Grenze überschreitet. Der Empfänger ist die letzte Verteidigungslinie zwischen einem Pine-Fehler und einem Margin Call.

  5. 05 · Isolierung von Zugangsdaten

    Ein eingeschränkter API-Schlüssel pro Strategie, niemals ein Master-Schlüssel

    Wenn ein Broker-API-Schlüssel durch eine falsch konfigurierte Umgebung, eine geleakte Log-Zeile oder ein Build-Artefakt kompromittiert wird, entspricht der Schadensradius allem, was dieser Schlüssel tun kann. Verwenden Sie pro Strategie einen separaten Broker-API-Schlüssel with genau den Berechtigungen, die diese Strategie benötigt (Handelsberechtigung ja, Auszahlungsberechtigung nein), speichern Sie ihn im Secrets-Store von TradingHost statt im Code und rotieren Sie die Schlüssel nach jedem Vorfall.

  6. 06 · Paper Trading vor dem Live-Gang

    Testen Sie den Ablauf eine Woche lang auf einem Demokonto, bevor Sie echtes Geld einsetzen

    Die meisten Broker bieten eine Paper-Trading- oder Sandbox-Umgebung an, die dieselben API-Aufrufe wie das Live-Konto akzeptiert. Richten Sie den Empfänger zuerst auf die Sandbox aus, lassen Sie die Strategie eine Woche lang mit echten TradingView-Alerts laufen und überprüfen Sie, ob jedes Signal in die erwartete Demo-Order umgewandelt wurde. Echtes Geld ist der falsche Ort, um festzustellen, dass ein als „buy“ statt „long“ codierter {{strategy.order.action}}-Wert Ihre Enum-Prüfung fehlschlagen lässt.

Abschnitt 08 · Im Vergleich zu PineConnector + MT4/MT5

Warum ein Webhook über eine Cloud-Runtime statt über einen MetaTrader-EA geroutet werden sollte

Der am häufigsten genutzte Weg von einem TradingView-Alert zu einer echten Order führt über PineConnector – eine Bridge von Drittanbietern, die Alerts an einen Expert Advisor innerhalb eines MetaTrader 4- oder MetaTrader 5-Terminals weiterleitet. Der EA übermittelt die Order über MetaTrader, weshalb das Terminal durchgehend auf einem Windows-Rechner laufen muss. TradingHost macht diesen Schritt überflüssig: Der Webhook geht direkt an einen Container, der Container ruft die REST-API des Brokers auf. Es gibt kein MetaTrader-Terminal, keinen MQL Expert Advisor, GitHub dient als Source of Truth und ein Linux-Container läuft in einer verwalteten Region statt auf einem Windows-Desktop, den Sie aktiv halten müssen.

Direkter Vergleich

KriteriumPineConnector + MT4/MT5TradingHost
AusführungspfadTradingView-Webhook an den PineConnector-EA, der in einem MetaTrader 4- oder MetaTrader 5-Terminal läuft, welches die Order dann über MetaTrader an den Broker sendet.TradingView-Webhook an einen TradingHost-Cloud-Container, der die REST-API des Brokers direkt aufruft. Kein MetaTrader-Terminal im Pfad.
Erforderliche PlattformMetaTrader 4 oder MetaTrader 5 muss installiert, angemeldet und mit aktiviertem AutoTrading ausgeführt werden.Kein Trading-Terminal erforderlich. Der Strategie-Code läuft in einem von TradingHost verwalteten Linux-Container.
Host-SystemEin Windows-Rechner, der rund um die Uhr online sein muss. PineConnector dokumentiert dies und weist explizit darauf hin, dass der MetaQuotes-VPS nicht kompatibel ist; empfohlen wird PineConnector Cloud oder ein kompatibler Windows-VPS.TradingHosts verwaltete Kubernetes-Runtime in der von Ihnen gewählten Region (EU oder US-East). Kein Windows-Desktop oder VPS erforderlich.
Unterstützte BrokerJeder Broker, der ein MetaTrader 4- oder MetaTrader 5-Konto anbietet, ausgeführt über das MetaTrader-Terminal.Jeder Broker mit einer dokumentierten REST- oder Websocket-API, den TradingHost unterstützt, einschließlich OANDA, IG, Switch Markets, Interactive Brokers, Binance, Bybit, OKX, Coinbase, Kraken und weiteren.
ProgrammierspracheMQL4 oder MQL5 (die Skriptsprache von MetaTrader) innerhalb des EAs. Anpassungen erfordern das Bearbeiten des EAs.Jede Sprache, die in einem Container ausgeführt werden kann: Python, Node, Go, Rust usw.
Source of TruthDie PineConnector-Lizenz und der in MetaTrader ausgeführte EA. Die Konfiguration verbleibt auf dem lokalen Rechner.Ein GitHub-Repository. Push zum Deployen; Logs, Rollbacks und Historie sind versionsverwaltet.
Speicherung von ZugangsdatenDie Broker-Zugangsdaten befinden sich im MetaTrader-Terminal auf dem Windows-VPS.Verschlüsselte Secrets, die an die Runtime gebunden sind – niemals im GitHub-Repository oder im Strategie-Code.
BetriebsaufwandVerwaltung von Windows-VPS, MetaTrader-Terminal, PineConnector-EA-Lizenz, Broker-Verbindung und TradingView-Alerts.Verwaltung von GitHub-Repository, TradingHost-Runtime, Broker-Zugangsdaten und TradingView-Alerts. Kein Desktop-Betriebssystem.

Wählen Sie PineConnector, wenn Sie gezielt weiterhin MetaTrader nutzen möchten, Ihr Broker nur MT unterstützt oder Sie überhaupt keinen Code schreiben wollen. Wählen Sie TradingHost, wenn Sie direkten Zugriff auf die REST-API des Brokers ohne MetaTrader dazwischen wünschen, Ihre Strategien in einer universellen Programmiersprache schreiben möchten, GitHub als Source of Truth nutzen und den Windows-VPS abschaffen wollen.

Abschnitt 10 · FAQ

Häufig gestellte Fragen

Ja. TradingView beschränkt Webhook-Alerts auf die Abonnements Plus, Premium und Ultimate. Die Tarife Essential und Free enthalten die Benachrichtigungsmethode per Webhook-URL nicht.

TradingView sendet einen HTTP-POST an die von Ihnen konfigurierte Webhook-URL. Der Request-Body entspricht dem Text, den Sie in das Nachrichtenfeld des Alerts eingegeben haben. Wenn dieser Body als gültiges JSON interpretiert werden kann, setzt TradingView den Content-Type auf application/json, andernfalls wird die Anfrage als Klartext gesendet.

TradingView dokumentiert weder eine Retry-Policy noch eine formelle Zustellungsgarantie. Die dokumentierten Transportregeln lauten: nur die Ports 80 und 443 sowie ein Antwortzeitfenster von drei Sekunden, bevor die Anfrage abgebrochen wird. Betrachten Sie die Webhook-Zustellung als Best-Effort-Zustellung und konzipieren Sie Ihren Empfänger so, dass er idempotent ist.

Das ist möglich. TradingView veröffentlicht die Liste der Quell-IP-Adressen, von denen Webhooks gesendet werden, direkt im Konfigurationsfenster des Alerts. Einige Empfänger weisen Anfragen von Adressen außerhalb dieser Liste ab, um neben dem Shared Secret im Nachrichtentext eine zusätzliche Sicherheitsstufe zu etablieren.

Pine Script v6, die aktuelle Version der Sprache. TradingView hat angekündigt, dass zukünftige Updates ausschließlich für v6 bereitgestellt werden.

Nur Strategie-Skripte stellen die Platzhalter {{strategy.order.action}}, {{strategy.order.contracts}}, {{strategy.order.price}} und ähnliche zur Verfügung, die Sie im JSON-Body verwenden. Indikator-Skripte können zwar ebenfalls Alerts über alert() oder alertcondition() auslösen, ihre Alert-Nachrichten können jedoch nicht auf die strategy.*-Platzhalter verweisen.

alertcondition() ist das ursprüngliche Primitiv und funktioniert nur in Indikatoren; die Häufigkeit wird vom Benutzer im Dialogfeld „Alert erstellen“ ausgewählt. alert() ist die neuere Funktion, funktioniert in Indikatoren und Strategien, kann im lokalen Scope stehen und übernimmt ein freq-Argument (alert.freq_all, alert.freq_once_per_bar, alert.freq_once_per_bar_close) direkt im Code.

Für den Live-Handel ist die Option bei Bar-Schluss zu bevorzugen. Während einer Echtzeit-Bar können sich die Pine-Werte bei jedem Tick aktualisieren und sich beim Bar-Schluss unterscheiden. Dies kann einen Einstieg auslösen, der nach Abschluss der Bar wieder verschwindet. Die Option bei Bar-Schluss wird erst ausgelöst, wenn die Bar bestätigt ist.

PineConnector leitet TradingView-Webhooks an einen MetaTrader 4 oder MetaTrader 5 Expert Advisor weiter, der in einem MetaTrader-Terminal ausgeführt wird. Die Dokumentation von PineConnector weist darauf hin, dass das Terminal kontinuierlich laufen muss, dass MetaQuotes VPS nicht kompatibel ist und dass ein Windows-VPS für das Hosting erforderlich ist. TradingHost ersetzt den MetaTrader-Teil durch einen Linux-Container, der die REST-API des Brokers direkt aufruft. Siehe den Windows-VPS-Vergleich für die Unterschiede bei der Runtime.

Mit jedem Broker, der eine dokumentierte REST- oder Websocket-Order-Schnittstelle anbietet. TradingHost ist broker-agnostisch: Forex- und CFD-Broker (OANDA, IG, Switch Markets und andere), Aktien- und Futures-Broker (Interactive Brokers und andere) sowie Krypto-Börsen (Binance, Bybit, OKX, Coinbase, Kraken und weitere). Siehe das Broker-Verzeichnis für die unterstützten Handelsplätze.

Nur die brokerspezifischen Teile: der Authentifizierungs-Header (Bearer-Token, HMAC-signierter Payload, OAuth), die Symbolik der Instrumente und die Bezeichnungen der Order-Typen. Die grundlegende Struktur (Secret validieren, Ticker zuordnen, Order erstellen, senden, protokollieren) bleibt gleich. Bei Krypto-Handelsplätzen abstrahiert CCXT die meisten dieser Unterschiede.

Als verschlüsselte Secrets, die an die TradingHost-Runtime gebunden sind, nicht im GitHub-Repository. Ihr Empfänger liest sie zum Zeitpunkt der Anfrage aus der Umgebung aus. Siehe die Seite Plattform-Secrets für das Modell zur Handhabung von Zugangsdaten.

TradingView, Ihr Broker und TradingHost werden separat abgerechnet. Die Runtime-Tarife von TradingHost finden Sie unter Preise. Die Kosten für einen Windows-VPS, ein MetaTrader-Hosting-Abo und eine separate Webhook-Bridge-Lizenz entfallen.