Cada alerta envia uma mensagem para todos os destinos marcados por você. Por padrão, a mensagem informa o que aconteceu, o preço naquele instante e se o alerta continua ativo. Adicione uma nota sobre o seu plano de operação para ver o que você planejou antes mesmo de abrir o gráfico. Configurar o seu alerta e a mensagem dele é simples, rápido e preciso. Digite no editor ou peça ao AI Trading Assistant por voz ou por escrito.
Se você usa o seu próprio software, Discord ou Slack, um webhook envia cada alerta para lá também, sem precisar copiar nada manualmente. Este guia explica ambos os recursos.
O exemplo: um alerta no EURUSD que dispara quando o preço cruza acima de 1.09 no gráfico de 5m.
O que diz a mensagem automática
Quando o campo Message está vazio, o alerta gera a própria mensagem ao disparar. No exemplo, a mensagem mostra:
EURUSD crossed above 1.09
Price 1.0901.
This alert is now off. It was set to fire once.
A primeira linha diz o que aconteceu, com as palavras do editor de alertas. A linha seguinte informa os números daquele instante. A última linha indica se o alerta continua ativo. O exemplo usa a opção Once only, então o alerta agora está desativado. Com as outras opções de Trigger, a última linha mostra “This alert stays on.”
Outros alertas seguem a mesma ordem. Veja algumas primeiras linhas, cada uma acompanhada da linha de números abaixo dela:
Uma linha: “GBPJPY touched 1h Resistance R1” e “Price 210.16, line at 210.20.”
Um rompimento de linha: “GBPJPY broke above 1h Resistance R1” e “The 1h candle closed at 210.32, above the line at 210.20.”
Um indicador: “BTCUSD: 1h RSI(14) crossed above 70” e “RSI(14) was 71.4 when the 1h candle closed at 105240.50.”
Uma mudança de previsão: “GBPJPY: 1h forecast turned bearish” e “Before: bullish above 209.80. Now: bearish below 209.40.”
Um alerta com várias condições informa quantas foram atendidas. Depois, traz uma linha para cada condição atendida:
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.
Com mais condições, a primeira linha mostra, por exemplo, “all 3 conditions met” ou “2 of 3 conditions met”. Quando apenas uma condição é atendida, por exemplo com o conector or, a primeira linha informa essa condição, seguida pelos números dela.
Escrever a mensagem
Abra o editor de alertas e vá à aba Options.
Clique na linha Message. Ela mostra Auto enquanto está vazia. Um campo de texto se abre abaixo dela.
Digite a sua mensagem. O campo aceita até 400 caracteres.
Para incluir um valor dinâmico, abra Available variables abaixo do campo. Copie a variável exatamente como aparece, com as chaves duplas.

Automatic message: o campo vazio. Digite o seu próprio texto aqui ou deixe em branco.
A frase abaixo do campo: “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.” (se você deixar em branco, o alerta informa o que aconteceu e a que preço; se escrever uma mensagem, ela é enviada primeiro, com esses dados abaixo).
Available variables: os valores dinâmicos que você pode adicionar à sua mensagem.
O seu texto passa a ser a primeira linha, e o texto automático vem logo abaixo. No exemplo, esta mensagem:
{{symbol}} on {{timeframe}}: check the 1h trend before entering.
chega assim:
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.
O preço e a condição já aparecem nas linhas abaixo do seu texto. Use a sua mensagem para o que essas linhas não dizem, como o seu plano de operação.
A mensagem que você digita também serve como nome do alerta na lista do painel Alerts. Sem uma mensagem, a lista mostra um nome gerado a partir da condição. Para um nível de preço, o nome é curto, como “EURUSD crossing up 1.09”. Uma linha ou várias condições aparecem como o editor as descreve, por exemplo “GBPJPY: 1h Price touches 1h Resistance R1”. Quando você altera a condição, esse nome muda junto com ela. Quando você abre o alerta novamente, o campo Message continua vazio. Alertas salvos anteriormente sem mensagem também mostram o nome nesse formato.
O que cada destino mostra
Cada destino recebe a mesma mensagem, formatada para aquele canal:
| Destino | O que mostra |
|---|---|
| O aviso no aplicativo | A primeira linha em negrito, com os números abaixo dela. |
| Notify my devices | A primeira linha como título, com as outras linhas abaixo dela. |
| Send to MetaTrader | A primeira linha como título, com as outras linhas abaixo dela. O MetaTrader mostra o próprio horário ao lado da mensagem. |
| Telegram | A mensagem, o horário no seu fuso horário e um link para o gráfico. |
| Send email | A mensagem, com a data e o horário no seu fuso horário. |
| Webhook URL | O Discord e o Slack recebem a mensagem com o horário em UTC. Com a opção Raw JSON, o seu software recebe as variáveis abaixo. |
O Telegram escreve o horário assim: “24 Sep, 11:02 London time”. Se o fuso horário estiver incorreto, escolha o seu em Timezone na página Your profile. Quando a ForecastCity não sabe o seu fuso horário, o horário é exibido em UTC.
O link em uma mensagem do Telegram, em um e-mail, em uma notificação no celular ou em uma janela pop-up do MetaTrader abre o gráfico daquele símbolo com o painel Alerts. Na maioria dos alertas do 4CM-AI, ele abre o gráfico com a seção Alert observation daquele disparo.
Adicionar valores dinâmicos com variáveis
Uma variável é substituída pelo seu valor quando o alerta dispara. Estas são as variáveis em Available variables:
| Variável | O que ela escreve | Exemplo |
|---|---|---|
{{symbol}} |
O símbolo | EURUSD |
{{price}} e {{close}} |
O preço no momento em que o alerta disparou | 1.0901 |
{{condition_text}} |
O que aconteceu, sem o símbolo | Price crossed above 1.09 |
{{condition}} |
A condição como um código curto | CROSSING_UP 1.09 |
{{timeframe}} |
O tempo gráfico do alerta | 5m |
{{time_iso}} |
A data e o horário, em UTC | 2026-09-24 10:02 UTC |
{{time}} |
O mesmo horário em segundos, para software | 1790244120 |
{{time_now}} |
O instante em que a mensagem foi enviada, como um número | 1790244121 |
{{exchange}} |
A origem das cotações | TwelveData |
{{status}} |
Se o alerta continua ativo | This alert stays on. |
{{alert_url}} |
Um link para o gráfico desse símbolo, com os seus alertas | um endereço web |
{{name}} |
A sua mensagem com cada variável substituída pelo valor, ou o nome exibido na lista do painel Alerts | EURUSD crossing up 1.09 |
Para uma linha, {{condition_text}} mostra algo como “Price touched 1h Resistance R1”. Com várias condições, ela une as condições atendidas com a palavra and. Depois que um alerta com Once only dispara, {{status}} mostra “This alert is now off. It was set to fire once.” Para um alerta com várias condições, uma linha ou um indicador, {{condition}} mostra TREE. Essa variável é um código para software.
Para alertas do 4CM-AI, {{forecast_summary}} resume o que a previsão fez e {{forecast_symbol}} informa o símbolo da previsão. {{forecast_cycle}} é um contador que aumenta toda vez que o alerta volta a acompanhar o mercado. Uma mensagem que contém {{forecast_summary}} não recebe linhas automáticas abaixo dela, porque o resumo já explica o que aconteceu.
As variáveis {{price}} e {{close}} ficam vazias na maioria dos alertas do 4CM-AI, pois eles não têm um único preço. A variável {{time_iso}} usa UTC, portanto pode diferir do relógio da sua tela. Uma variável inexistente permanece exatamente como foi digitada: {{prices}} escrito com erro chega como {{prices}}.
Enviar alertas para um webhook
Um webhook envia cada alerta para um endereço web (endpoint), onde o seu próprio software, um canal do Discord ou um canal do Slack o recebe. O seu plano de assinatura precisa incluir webhooks.
Na aba Options, em Notifications, marque Webhook URL. Aparecem um campo de endereço, a opção Format e um campo para o corpo.
Cole o endereço em que o seu receptor escuta. Ele deve começar com
http://ouhttps://.Defina Format como Raw JSON e deixe o campo do corpo vazio.
Clique em Create, ou em Save se estiver editando um alerta.

O endereço em que o seu receptor escuta. Use as portas padrão, 80 ou 443.
Format: Raw JSON para o seu próprio software, ou Discord ou Slack para esses serviços.
Com o campo do corpo vazio, o seu receptor recebe um objeto JSON (payload) com todas as variáveis da tabela, além de alertId e triggerId. Esses dois campos identificam o alerta e esse disparo específico. Analise um envio real antes de desenvolver qualquer automação que dependa desses campos.
Abaixo do campo, o editor mostra o endereço do servidor de onde partem as nossas requisições. Adicione-o à sua lista de permissões se o seu receptor aceitar apenas endereços conhecidos.
O que o endereço precisa ter
Um endereço público em uma porta padrão: 80 para http, 443 para https. Mensagens para outras portas, para localhost ou para endereços de rede privada não são enviadas.
Nenhum nome de usuário ou senha dentro do endereço.
Uma resposta em até 3 segundos, vinda do próprio endereço. Um redirecionamento para outro endereço conta como falha.
O editor verifica apenas se o endereço começa com http:// ou https://. Os demais requisitos são verificados quando uma mensagem é enviada, portanto teste o seu endereço com um alerta real. Para alertas de preço e alertas técnicos, se o seu receptor apresentar um erro temporário, o envio é tentado mais duas vezes. A mensagem de um alerta do 4CM-AI não é reenviada após um tempo esgotado (timeout) ou erro de servidor, porque o seu receptor já pode ter agido com base nela.
Escrever o seu próprio corpo de webhook
O campo do corpo aceita um modelo com as mesmas variáveis da mensagem. Ele comporta até 2000 caracteres. O campo permite digitar mais, mas um corpo maior é recusado ao salvar.
Com a opção Raw JSON, um receptor que espera um objeto simples pode receber este corpo:
{"symbol":"{{symbol}}","condition":"{{condition_text}}","time":"{{time_iso}}","source":"ForecastCity"}
As variáveis são preenchidas como texto simples. Um valor que contenha aspas ou quebra de linha pode invalidar o seu JSON. Um corpo que não seja um JSON válido é enviado como texto simples.
Para um canal do Discord, defina Format como Discord e use o endereço de webhook do canal. Depois, escreva uma linha curta no campo do corpo, por exemplo:
{{symbol}}: {{condition_text}}. Open your alerts: {{alert_url}}
Para o Slack, escolha Slack e escreva da mesma forma. A ForecastCity formata o seu texto na estrutura que cada serviço espera. Com o campo vazio, ambos recebem a mensagem do alerta, como mostrado acima, com o horário em UTC na última linha.
Verificar o resultado
Aguarde o disparo do alerta e abra a aba Log do painel Alerts.
Compare o que o seu receptor recebeu com o registro na aba Log: o que aconteceu, o símbolo e o horário.
A aba Log mostra que o alerta disparou, mas não informa se o seu receptor aceitou a mensagem; por isso, verifique também o registro do próprio receptor. Se aparecerem chaves como {{prices}}, o nome de uma variável foi digitado incorretamente. Se o seu receptor rejeitar o corpo, confira o JSON.
Bom saber
A mensagem é enviada para todos os destinos marcados por você. O corpo do webhook vai apenas para o webhook.
O Discord exibe até 1900 caracteres e o Slack até 3000. Textos mais longos são cortados.