ForecastCity 說明

自訂提醒訊息與使用 Webhook

閱讀時間 9 分鐘

分享賺獎勵

向您的朋友或社群媒體上的追蹤者推薦閱讀這篇文章。只需複製下方連結並分享。有人點擊您的連結並訂閱後,您和對方都將獲得獎勵。

正在準備您的連結…

推薦計畫詳情
ForecastCity · 「提醒」指南

每個提醒都會將同一則訊息傳送到您勾選的每個位置。在預設情況下,訊息會寫明發生了什麼事、當下的價格,以及提醒是否繼續保持啟用。您可以加上交易計畫備註,在打開圖表前就先看到自己原本的規劃。設定提醒與訊息既簡單、快速又準確。您可以直接在編輯器中輸入,或透過語音或文字告訴或請 AI Trading Assistant 為您設定。

如果您使用自己的軟體、Discord 或 Slack,Webhook 也能將每次提醒自動傳送到那裡,完全不需要手動複製。本指南將同時說明這兩項功能。

範例:在 EURUSD 的 5m 圖表上建立一個當價格向上穿越 1.09 時觸發的提醒。

自動訊息的內容

當 Message 欄位留空時,提醒會在觸發時自動產生訊息。以上述範例來說,訊息內容如下:

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

第一列會以提醒編輯器的語句說明發生了什麼事。第二列提供觸發當下的數值。最後一列則說明提醒是否繼續保持啟用。此範例使用了 Once only,因此提醒現在已關閉。若選擇其他 Trigger 方式,最後一列會顯示「This alert stays on.」。

其他類型的提醒也遵循相同的順序。以下列出幾個第一列的範例,以及各自下方對應的數值列:

  • 觸及線條:「GBPJPY touched 1h Resistance R1」與「Price 210.16, line at 210.20.」

  • 突破線條:「GBPJPY broke above 1h Resistance R1」與「The 1h candle closed at 210.32, above the line at 210.20.」

  • 指標條件:「BTCUSD: 1h RSI(14) crossed above 70」與「RSI(14) was 71.4 when the 1h candle closed at 105240.50.」

  • 預測改變:「GBPJPY: 1h forecast turned bearish」與「Before: bullish above 209.80. Now: bearish below 209.40.」

包含多個條件的提醒會先說明有幾個條件成立,接著為每個成立的條件各列出一列說明:

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.

如果有更多條件,第一列會顯示例如「all 3 conditions met」或「2 of 3 conditions met」。當只有一個條件成立時(例如使用 or 連接詞),第一列會直接寫出該條件,並在下方列出對應數值。

撰寫自訂訊息

  1. 開啟提醒編輯器並前往 Options 頁籤。

  2. 點擊 Message 列。留空時它會顯示 Auto。點擊後下方會展開一個文字欄位。

  3. 輸入您的訊息。此欄位最多可輸入 400 個字元。

  4. 若要加入即時數值,請展開欄位下方的 Available variables。請完整複製變數名稱,包含前後的雙大括號。

在 Options 頁籤中展開的 Message 列,顯示空白輸入欄、下方說明文字與 Available variables。
展開且仍留空的 Message 欄位,此時提醒會傳送自動訊息。
  1. Automatic message:空白的輸入欄位。您可以在這裡輸入自己的文字,或將它留空。

  2. 欄位下方的說明文字:“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:您可以加入訊息中的即時數值變數。

您輸入的文字會成為第一列,自動產生的文字則緊接在下方。以上述範例來說,這段訊息:

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

送達時會顯示如下:

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.

價格與條件已經包含在您文字下方的列中。請將自訂訊息用來記錄自動訊息無法呈現的內容,例如您的交易計畫。

您輸入的訊息同時也會成為該提醒在 Alerts 清單中的名稱。如果沒有輸入訊息,清單會顯示由條件組合而成的名稱。單純的價位條件名稱很短,例如「EURUSD crossing up 1.09」;線條或多條件提醒則會按照編輯器的語句顯示,例如「GBPJPY: 1h Price touches 1h Resistance R1」。當您修改條件時,這個名稱也會隨之更新。當您再次開啟該提醒時,Message 欄位依然會是空白的。您先前未輸入訊息而儲存的提醒,也會以這種形式顯示名稱。

各個接收位置的顯示方式

每個接收位置都會收到相同的訊息,並依該位置的版面進行排列:

接收位置 顯示內容
應用程式內的通知 第一列以粗體顯示,下方列出數值。
Notify my devices 第一列作為標題,下方列出其餘各列。
Send to MetaTrader 第一列作為標題,下方列出其餘各列。MetaTrader 會在訊息旁顯示它自己的時間。
Telegram 訊息內容、您所在時區的時間,以及前往圖表的連結。
Send email 訊息內容,以及您所在時區的日期與時間。
Webhook URL Discord 與 Slack 會收到訊息以及 UTC 時間。若選擇 Raw JSON,您的軟體會收到下方的變數資料。

Telegram 會以這種格式顯示時間:「24 Sep, 11:02 London time」。如果時區不正確,請前往 Your profile 頁面的 Timezone 下方選擇您的時區。當 ForecastCity 無法得知您的時區時,時間會以 UTC 顯示。

Telegram 訊息、電子郵件、手機通知或 MetaTrader 彈出式視窗中的連結,會直接開啟該商品的圖表並打開 Alerts 面板。對於大多數 4CM-AI 提醒,連結會開啟圖表並顯示該次觸發的 Alert observation。

使用變數加入即時數值

當提醒觸發時,變數會被替換為當下的實際數值。以下是 Available variables 中的所有變數:

變數 輸出的內容 範例
{{symbol}} 商品名稱 EURUSD
{{price}} 與 {{close}} 提醒觸發時的價格 1.0901
{{condition_text}} 發生的事件(不含商品名稱) Price crossed above 1.09
{{condition}} 條件的簡短代碼 CROSSING_UP 1.09
{{timeframe}} 提醒的時間週期 5m
{{time_iso}} UTC 日期與時間 2026-09-24 10:02 UTC
{{time}} 以秒數表示的相同時間,供軟體使用 1790244120
{{time_now}} 訊息送出當下的秒數時間 1790244121
{{exchange}} 報價資料來源 TwelveData
{{status}} 提醒是否繼續保持啟用 This alert stays on.
{{alert_url}} 開啟該商品圖表與提醒清單的連結 網址
{{name}} 將各變數替換為實際數值後的自訂訊息,或 Alerts 清單顯示的名稱 EURUSD crossing up 1.09

對於線條提醒,{{condition_text}} 會顯示如「Price touched 1h Resistance R1」。若包含多個條件,它會用英文的 and 將所有成立的條件連接起來。當 Once only 提醒觸發後,{{status}} 會顯示「This alert is now off. It was set to fire once.」。對於包含多個條件、線條或指標的提醒,{{condition}} 會顯示 TREE。這個變數是專供軟體判讀的代碼。

對於 4CM-AI 提醒,{{forecast_summary}} 會摘述預測發生的變化,而 {{forecast_symbol}} 則會輸出預測的商品名稱。{{forecast_cycle}} 是一個計數器,每當提醒重新開始待命時就會加一。包含 {{forecast_summary}} 的訊息下方不會再附上自動訊息列,因為該摘要已經說明了發生的事件。

大多數 4CM-AI 提醒沒有單一觸發價格,因此 {{price}} 與 {{close}} 會保持空白。{{time_iso}} 使用 UTC 時區,因此可能與您螢幕上的時鐘不同。不存在的變數會原封不動地保留您輸入的文字:例如拼錯的 {{prices}} 送達時仍會顯示為 {{prices}}。

將提醒傳送到 Webhook

Webhook 會將每次提醒傳送到指定的網址,讓您自己的軟體、Discord 頻道或 Slack 頻道接收。您的訂閱方案必須包含 Webhook 功能。

  1. 在 Options 頁籤的 Notifications 下方,勾選 Webhook URL。畫面會出現網址欄位、Format 選項以及內容主體欄位。

  2. 貼上您的接收端所監聽的網址。網址開頭必須是 http:// 或 https://。

  3. 將 Format 設為 Raw JSON,並將內容主體欄位留空。

  4. 按下 Create 按鈕;若是編輯現有的提醒,請按下 Save 按鈕。

已勾選 Webhook URL 列,填入網址、將格式選擇器設為 Raw JSON,並保留空白的內容主體欄位。
已勾選 Webhook URL,填入網址並將 Format 設為 Raw JSON。空白的內容主體欄位會傳送預設資料。
  1. 您的接收端所監聽的網址。請使用標準通訊埠 80 或 443。

  2. Format:您自己的軟體請選 Raw JSON;若要傳送到 Discord 或 Slack,請選擇對應的服務名稱。

當內容主體欄位留空時,您的接收端會收到一個包含上表所有變數的 JSON 物件,外加 alertId 與 triggerId 兩個欄位,分別用來識別該提醒以及這一次觸發。在開發依賴這些欄位的程式之前,請先實際查看一次真實送達的資料內容。

在欄位下方,編輯器會列出我們發送請求的伺服器位址。如果您的接收端只接受已知位址的連線,請將該位址加入您的允許清單。

網址必須符合的條件

  • 使用標準通訊埠的公開網址:http 為 80,https 為 443。系統不會傳送訊息至其他通訊埠、localhost 或私有網路位址。

  • 網址內不得包含使用者名稱或密碼。

  • 該網址本身必須在 3 秒內回應。重新導向(redirect)至其他網址會被視為傳送失敗。

編輯器只會檢查網址開頭是否為 http:// 或 https://。其餘條件會在訊息實際送出時才進行檢查,因此請務必以真實的提醒測試您的網址。對於價格與技術指標提醒,如果您的接收端發生暫時性錯誤,系統最多會再重試傳送兩次。4CM-AI 提醒的訊息在發生逾時或伺服器錯誤後不會重複傳送,因為您的接收端可能已經根據該訊息執行了動作。

撰寫自訂 Webhook 內容主體

內容主體欄位可以填入範本,並使用與訊息相同的變數。此欄位最多可容納 2000 個字元。雖然欄位允許您輸入更多字元,但在儲存時超過長度的內容主體會被拒絕。

若選擇 Raw JSON,需要精簡 JSON 物件的接收端可以使用如下的內容主體:

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

變數會以純文字填入。如果替換後的數值包含引號或換行符號,可能會破壞您的 JSON 結構。不符合有效 JSON 格式的內容主體會改以純文字傳送。

若要傳送到 Discord 頻道,請將 Format 設為 Discord,並填入該頻道的 Webhook 網址。接著在內容主體欄位中寫入簡短的一列文字,例如:

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

若要傳送到 Slack,請選擇 Slack 並以相同方式撰寫。ForecastCity 會自動將您的文字包裝成該服務要求的格式。如果將內容主體欄位留空,這兩項服務都會收到如上所示的提醒訊息,並在最後一列附上 UTC 時間。

檢查傳送結果

  1. 等待提醒觸發,然後開啟 Alerts 面板的 Log 頁籤。

  2. 比對您的接收端收到的內容與 Log 中的觸發記錄:發生的事件、商品名稱以及時間。

Log 頁籤會顯示提醒已觸發,但不會顯示您的接收端是否成功收下訊息,因此請同時檢查接收端自己的記錄。如果您看到像 {{prices}} 這樣未被替換的大括號,代表變數名稱拼錯了。如果您的接收端拒絕該內容主體,請檢查 JSON 格式是否正確。

實用須知

  • 自訂訊息會傳送到您勾選的每個位置;Webhook 內容主體則只會傳送到 Webhook。

  • Discord 最多顯示 1900 個字元,Slack 最多顯示 3000 個字元,超過的部分會被截斷。

這篇文章對您有幫助嗎?

最後更新: 2026/10/28