---
title: "Alarmnachrichten schreiben und Webhooks nutzen"
slug: "webhooks-and-messages"
kind: "HELP_ARTICLE"
category: "alerts"
locale: "de"
canonical: "https://app.forecastcity.com/de/help/alerts/webhooks-and-messages"
published: "2026-09-08T17:58:35.210Z"
updated: "2026-10-27T23:54:07.624Z"
description: "Sehen Sie, was eine Alarmnachricht enthält, fügen Sie eigenen Text und Variablen hinzu und senden Sie Alarme per Webhook an eigene Software, Discord oder Slack."
---

# Alarmnachrichten schreiben und Webhooks nutzen

Jeder Alarm sendet eine Nachricht an alle ausgewählten Versandziele. Standardmäßig enthält die Nachricht das Ereignis, den Preis in diesem Moment und den Hinweis, ob der Alarm weiterläuft. Fügen Sie eine Notiz zu Ihrer Handelsidee hinzu, damit Sie schon vor dem Öffnen des Charts sehen, was Sie geplant hatten. Das Einrichten Ihres Alarms und seiner Nachricht ist einfach, schnell und präzise. Geben Sie den Text im Editor ein oder bitten Sie **AI Trading Assistant** per Sprache oder Text darum.

Wenn Sie eigene Software, Discord oder Slack nutzen, leitet ein Webhook jeden Alarm auch dorthin weiter, ohne dass Sie etwas von Hand kopieren müssen. Diese Anleitung behandelt beides.

Das Beispiel: ein Alarm auf EURUSD, der ausgelöst wird, sobald der Preis auf dem 5m-Chart über 1.09 kreuzt.

## Was die automatische Nachricht enthält

Wenn das Feld **Message** leer bleibt, erstellt der Alarm bei der Auslösung eine eigene Nachricht. Für das Beispiel lautet sie:

```
EURUSD crossed above 1.09
Price 1.0901.
This alert is now off. It was set to fire once.
```

Die erste Zeile nennt das Ereignis in den Worten des Alarmeditors. Die nächste Zeile liefert die Werte dieses Moments. Die letzte Zeile gibt an, ob der Alarm weiterläuft. Das Beispiel nutzt die Option **Once only**, daher ist der Alarm nun ausgeschaltet. Bei den anderen Auslösungsarten lautet die letzte Zeile „This alert stays on."

Andere Alarme sind nach demselben Muster aufgebaut. Hier sind einige erste Zeilen mit der jeweiligen Wertezeile darunter:

-   Eine Linie: „GBPJPY touched 1h Resistance R1" und „Price 210.16, line at 210.20."
    
-   Ein Bruch einer Linie: „GBPJPY broke above 1h Resistance R1" und „The 1h candle closed at 210.32, above the line at 210.20."
    
-   Ein Indikator: „BTCUSD: 1h RSI(14) crossed above 70" und „RSI(14) was 71.4 when the 1h candle closed at 105240.50."
    
-   Eine Prognoseänderung: „GBPJPY: 1h forecast turned bearish" und „Before: bullish above 209.80. Now: bearish below 209.40."
    

Ein Alarm mit mehreren Bedingungen gibt an, wie viele davon erfüllt wurden. Darunter folgt eine Zeile für jede erfüllte Bedingung:

```
BTCUSD: both conditions met
• Price crossed above 105000: the 1h candle closed at 105240.50
• 1h RSI(14) is above 55 (now 58.2)
This alert stays on.
```

Bei weiteren Bedingungen lautet die erste Zeile beispielsweise „all 3 conditions met" oder „2 of 3 conditions met". Wurde nur eine Bedingung erfüllt, etwa bei der Verknüpfung **or**, nennt die erste Zeile diese Bedingung, gefolgt von ihren Werten.

## Die Nachricht schreiben

1.  Öffnen Sie den Alarmeditor und wechseln Sie zum Reiter **Options**.
    
2.  Klicken Sie auf die Zeile **Message**. Solange sie leer ist, steht dort Auto. Darunter öffnet sich ein Textfeld.
    
3.  Geben Sie Ihre Nachricht ein. Das Feld fasst bis zu 400 Zeichen.
    
4.  Um einen Live-Wert einzufügen, klappen Sie unter dem Textfeld den Bereich **Available variables** auf. Kopieren Sie die Variable genau so, wie sie dort steht, einschließlich der doppelten geschweiften Klammern.
    

![Die aufgeklappte Zeile Message auf dem Reiter Options mit leerem Textfeld, dem Hinweis darunter und Available variables.](https://m.forecastcity.com/t/tnt_forecastcity/media/b4/b480142e20ce43cec05e3313cedc9941ceea0b334c3b3dda3ae8680099c0f69b.png)

Das geöffnete und noch leere Feld Message, durch das der Alarm seine automatische Nachricht sendet.

1.  **Automatic message**: das leere Textfeld. Geben Sie hier Ihren eigenen Text ein oder lassen Sie es leer.
    
2.  Der Hinweis unter dem Textfeld: „Leave it blank and the alert says what happened and at what price. A message of your own is sent first, with that under it."
    
3.  **Available variables**: die Live-Werte, die Sie in Ihre Nachricht einfügen können.
    

Ihr eigener Text bildet die erste Zeile, und der automatische Text folgt darunter. Für das Beispiel wird diese Nachricht:

```
{{symbol}} on {{timeframe}}: check the 1h trend before entering.
```

so zugestellt:

```
EURUSD on 5m: check the 1h trend before entering.
EURUSD crossed above 1.09. Price 1.0901.
This alert is now off. It was set to fire once.
```

Der Preis und die Bedingung stehen bereits in den Zeilen unter Ihrem Text. Nutzen Sie Ihre eigene Nachricht für Informationen, die dort nicht enthalten sind, etwa Ihre Handelsidee.

Eine selbst eingegebene Nachricht dient zugleich als Name des Alarms in der Alarmliste. Ohne eigene Nachricht zeigt die Liste einen aus der Bedingung gebildeten Namen an. Bei einem Preislevel ist der Name kurz, zum Beispiel „EURUSD crossing up 1.09". Eine Linie oder mehrere Bedingungen werden so angezeigt, wie der Editor sie formuliert, etwa „GBPJPY: 1h Price touches 1h Resistance R1". Wenn Sie die Bedingung ändern, passt sich dieser Name automatisch an. Öffnen Sie den Alarm erneut, ist das Feld **Message** weiterhin leer. Auch früher ohne eigene Nachricht gespeicherte Alarme zeigen ihren Namen in dieser Form an.

## Was die einzelnen Versandziele anzeigen

Jedes Versandziel erhält dieselbe Nachricht, passend für das jeweilige Ziel aufbereitet:

<table><thead><tr><th>Versandziel</th><th>Angezeigter Inhalt</th></tr></thead><tbody><tr><td>Die App-Benachrichtigung</td><td>Die erste Zeile fett gedruckt, darunter die Werte.</td></tr><tr><td><strong>Notify my devices</strong></td><td>Die erste Zeile als Titel, darunter die weiteren Zeilen.</td></tr><tr><td><strong>Send to MetaTrader</strong></td><td>Die erste Zeile als Titel, darunter die weiteren Zeilen. MetaTrader zeigt daneben seine eigene Uhrzeit an.</td></tr><tr><td><strong>Telegram</strong></td><td>Die Nachricht, die Uhrzeit in Ihrer Zeitzone und einen Link zum Chart.</td></tr><tr><td><strong>Send email</strong></td><td>Die Nachricht mit Datum und Uhrzeit in Ihrer Zeitzone.</td></tr><tr><td><strong>Webhook URL</strong></td><td>Discord und Slack erhalten die Nachricht mit der Uhrzeit in UTC. Mit der Option <strong>Raw JSON</strong> erhält Ihre Software die unten aufgeführten Variablen.</td></tr></tbody></table>

Telegram schreibt die Uhrzeit zum Beispiel so: „24 Sep, 11:02 London time". Falls die Zeitzone nicht stimmt, wählen Sie Ihre eigene unter **Timezone** auf der Seite **Your profile** aus. Wenn ForecastCity Ihre Zeitzone nicht kennt, wird die Uhrzeit in UTC angegeben.

Der Link in einer Telegram-Nachricht, einer E-Mail, einer Smartphone-Benachrichtigung oder einem MetaTrader-Pop-up öffnet den Chart des betreffenden Symbols zusammen mit dem Panel der Alarme. Bei den meisten 4CM-AI-Alarmen öffnet er den Chart mit der Ansicht **Alert observation** dieser Auslösung.

## Live-Werte mit Variablen einfügen

Eine Variable wird bei der Auslösung des Alarms durch ihren aktuellen Wert ersetzt. Folgende Variablen stehen unter **Available variables** bereit:

<table><thead><tr><th>Variable</th><th>Ausgabe</th><th>Beispiel</th></tr></thead><tbody><tr><td><code>{{symbol}}</code></td><td>Das Symbol</td><td>EURUSD</td></tr><tr><td><code>{{price}}</code> und <code>{{close}}</code></td><td>Der Preis im Moment der Auslösung</td><td>1.0901</td></tr><tr><td><code>{{condition_text}}</code></td><td>Was passiert ist, ohne das Symbol</td><td>Price crossed above 1.09</td></tr><tr><td><code>{{condition}}</code></td><td>Die Bedingung als kurzer Code</td><td>CROSSING_UP 1.09</td></tr><tr><td><code>{{timeframe}}</code></td><td>Der Zeitrahmen des Alarms</td><td>5m</td></tr><tr><td><code>{{time_iso}}</code></td><td>Datum und Uhrzeit in UTC</td><td>2026-09-24 10:02 UTC</td></tr><tr><td><code>{{time}}</code></td><td>Dieselbe Zeit als Sekundenwert für Software</td><td>1790244120</td></tr><tr><td><code>{{time_now}}</code></td><td>Der Sendezeitpunkt der Nachricht als Zahlenwert</td><td>1790244121</td></tr><tr><td><code>{{exchange}}</code></td><td>Die Datenquelle der Preise</td><td>TwelveData</td></tr><tr><td><code>{{status}}</code></td><td>Ob der Alarm weiterläuft</td><td>This alert stays on.</td></tr><tr><td><code>{{alert_url}}</code></td><td>Ein Link zum Chart des Symbols mit Ihren Alarmen</td><td>eine Webadresse</td></tr><tr><td><code>{{name}}</code></td><td>Ihre Nachricht mit eingesetzten Werten oder der Name aus der Alarmliste</td><td>EURUSD crossing up 1.09</td></tr></tbody></table>

Bei einer Linie lautet `{{condition_text}}` beispielsweise „Price touched 1h Resistance R1". Bei mehreren Bedingungen werden die erfüllten Bedingungen mit dem Wort and verbunden. Nachdem ein Alarm mit **Once only** ausgelöst wurde, enthält `{{status}}` den Text „This alert is now off. It was set to fire once." Bei einem Alarm mit mehreren Bedingungen, einer Linie oder einem Indikator gibt `{{condition}}` den Wert `TREE` aus. Diese Variable dient als Code für Software.

Bei 4CM-AI-Alarmen fasst `{{forecast_summary}}` zusammen, was die Prognose getan hat, und `{{forecast_symbol}}` nennt das Symbol der Prognose. `{{forecast_cycle}}` ist ein Zähler, der sich jedes Mal erhöht, wenn der Alarm die Überwachung neu aufnimmt. Eine Nachricht, die `{{forecast_summary}}` enthält, bekommt keine automatischen Zusatzzeilen darunter, weil die Zusammenfassung das Ereignis bereits vollständig beschreibt.

`{{price}}` und `{{close}}` bleiben bei den meisten 4CM-AI-Alarmen leer, da diese keinen einzelnen Preis haben. `{{time_iso}}` nutzt UTC und kann daher von der Uhrzeit auf Ihrem Bildschirm abweichen. Eine nicht vorhandene Variable bleibt genau so stehen, wie Sie sie eingegeben haben: Ein falsch geschriebenes `{{prices}}` wird als `{{prices}}` gesendet.

## Alarme an einen Webhook senden

Ein Webhook sendet jeden Alarm an eine Webadresse, unter der Ihre eigene Software, ein Discord-Kanal oder ein Slack-Kanal ihn empfängt. Ihr Abo muss Webhooks beinhalten.

1.  Aktivieren Sie auf dem Reiter Options unter Notifications das Kontrollkästchen **Webhook URL**. Daraufhin erscheinen ein Adressfeld, die Auswahl Format und ein Body-Feld.
    
2.  Fügen Sie die Adresse ein, auf der Ihr Empfänger lauscht. Sie muss mit `http://` oder `https://` beginnen.
    
3.  Stellen Sie das Feld **Format** auf **Raw JSON** und lassen Sie das Body-Feld leer.
    
4.  Klicken Sie auf **Create** oder bei einem bearbeiteten Alarm auf **Save**.
    

![Die aktivierte Zeile Webhook URL mit einer Adresse, der Formatauswahl auf Raw JSON und einem leeren Body-Feld.](https://m.forecastcity.com/t/tnt_forecastcity/media/9e/9e711afc65b24ebfe70a8e091cc4006b5f9d7d57d50d61b67e5ee920f8ab4877.png)

Aktivierte Option Webhook URL mit eingetragener Adresse und Format auf Raw JSON. Das leere Body-Feld sendet die Standarddaten.

1.  Die Adresse, auf der Ihr Empfänger lauscht. Verwenden Sie die Standardports 80 oder 443.
    
2.  **Format**: Raw JSON für eigene Software oder Discord beziehungsweise Slack für diese Dienste.
    

Bleibt das Body-Feld leer, erhält Ihr Empfänger ein JSON-Objekt mit allen Variablen aus der Tabelle sowie zusätzlich `alertId` und `triggerId`. Diese beiden Felder identifizieren den Alarm und diese einzelne Auslösung. Prüfen Sie eine echte Zustellung, bevor Sie Funktionen entwickeln, die sich auf diese Felder stützen.

Unter dem Feld zeigt der Editor die Serveradresse an, von der unsere Anfragen stammen. Fügen Sie diese Adresse zu Ihrer Zulassungsliste hinzu, falls Ihr Empfänger nur bekannte Absender akzeptiert.

### Anforderungen an die Adresse

-   Eine öffentliche Adresse auf einem Standardport: 80 für http, 443 für https. Nachrichten an andere Ports, an localhost oder an private Netzwerkadressen werden nicht gesendet.
    
-   Kein Benutzername und kein Passwort innerhalb der Adresse.
    
-   Eine Antwort innerhalb von 3 Sekunden direkt von dieser Adresse. Eine Weiterleitung auf eine andere Adresse gilt als Fehler.
    

Der Editor prüft lediglich, ob die Adresse mit `http://` oder `https://` beginnt. Die übrigen Anforderungen werden erst beim Versand einer Nachricht geprüft; testen Sie Ihre Adresse daher mit einem echten Alarm. Tritt bei Ihrem Empfänger während eines Preis- oder Technikalarms ein vorübergehender Fehler auf, wird die Zustellung bis zu zweimal wiederholt. Die Nachricht eines 4CM-AI-Alarms wird nach einer Zeitüberschreitung oder einem Serverfehler nicht erneut gesendet, da Ihr Empfänger möglicherweise bereits darauf reagiert hat.

## Einen eigenen Webhook-Body schreiben

Das Body-Feld akzeptiert eine Vorlage mit denselben Variablen wie die Nachricht. Es fasst bis zu 2000 Zeichen. Sie können zwar mehr eingeben, doch ein längerer Body wird beim Speichern abgelehnt.

Bei der Einstellung **Raw JSON** könnte ein Empfänger, der ein kompaktes Objekt erwartet, folgenden Body erhalten:

```
{"symbol":"{{symbol}}","condition":"{{condition_text}}","time":"{{time_iso}}","source":"ForecastCity"}
```

Variablen werden als reiner Text eingesetzt. Ein Wert mit Anführungszeichen oder einem Zeilenumbruch kann Ihr JSON ungültig machen. Ein Body, der kein gültiges JSON ergibt, wird als reiner Text gesendet.

Für einen Discord-Kanal stellen Sie das Feld **Format** auf **Discord** und verwenden die Webhook-Adresse des Kanals. Schreiben Sie anschließend eine kurze Zeile in das Body-Feld, zum Beispiel:

```
{{symbol}}: {{condition_text}}. Open your alerts: {{alert_url}}
```

Für Slack wählen Sie **Slack** aus und gehen genauso vor. ForecastCity bettet Ihren Text in das Format ein, das der jeweilige Dienst erwartet. Bleibt das Feld leer, erhalten beide Dienste die oben gezeigte Alarmnachricht mit der Uhrzeit in UTC in der letzten Zeile.

## Das Ergebnis prüfen

1.  Warten Sie, bis der Alarm ausgelöst wird, und öffnen Sie anschließend im Panel der Alarme den Reiter **Log**.
    
2.  Vergleichen Sie die Daten, die Ihr Empfänger erhalten hat, mit dem Protokolleintrag: das Ereignis, das Symbol und die Uhrzeit.
    

Das Protokoll zeigt, dass der Alarm ausgelöst wurde. Es zeigt jedoch nicht, ob Ihr Empfänger die Nachricht angenommen hat; prüfen Sie daher auch das eigene Protokoll Ihres Empfängers. Sehen Sie geschweifte Klammern wie `{{prices}}`, ist ein Variablenname falsch geschrieben. Lehnt Ihr Empfänger den Body ab, überprüfen Sie die JSON-Syntax.

## Gut zu wissen

-   Die Nachricht wird an alle ausgewählten Versandziele gesendet. Der Webhook-Body geht ausschließlich an den Webhook.
    
-   Discord zeigt bis zu 1900 Zeichen an, Slack bis zu 3000. Längerer Text wird abgeschnitten.
    

## Weiterführende Anleitungen

-   [Festlegen, wo Ihr Alarm ankommt](<https://app.forecastcity.com/de/help/alerts/notification-delivery>)
    
-   [Herausfinden, warum ein Alarm nicht angekommen ist](<https://app.forecastcity.com/de/help/alerts/trigger-log-and-troubleshooting>)
    
-   [Einen ersten Preisalarm erstellen](<https://app.forecastcity.com/de/help/alerts/first-price-alert>)
