Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Não havia nenhum código quando respondi, mas vejo que você pode substituir o bot.SendMessage por uma função que adiciona a mensagem a uma lista de explosões. Você também poderia continuar a aumentar a mensagem e enviá-la para fora do loop, mas isso limitaria o número de caracteres.
Um breve esquema poderia ser o seguinte:
Obrigado por sua resposta, vou tentar sua solução
Olá!
Por exemplo, para a fonte em negrito, você precisa ativar o envio de HTML no Telegram.mqh.
E, em seguida, enviar o texto na tag <b>.
Não importa....
Encontrei a resposta definindo o sinalizador AsHTML como true...
bot.SendMessage(InpTelegramId,"<b>Balance: $10056.21</b>",true);
Desculpe...
Olá, você pode compartilhar o código de como fazer isso? Também estou procurando o código para tornar o texto em negrito e em estilo itálico e enviá-lo ao servidor do telegrama.
.
Roman, se você precisar do bot apenas para enviar capturas de tela, pode fazer isso dessa forma:
1. Peça ao @MyTelegramID_bot seu número de bate-papo.
2. Escreva um bot simples que verifique se há novos itens e envie fotos para o bate-papo com o ID especificado. Um exemplo é:
//+------------------------------------------------------------------+
//| Parâmetros de entrada|
//+------------------------------------------------------------------+
input ENUM_LANGUAGES InpLanguage=LANGUAGE_EN;//Língua
input string InpToken="";//Token
input long ChatId=0; / ID do bate-papo
//---
CCustomBot bot;
int pos_count;
//+------------------------------------------------------------------+
int OnInit()
{
bot.Token(InpToken);
int res=bot.GetMe();
if(res!=0)
{
Print(GetErrorDescription(res));
}
pos_count=PositionCount(_Symbol);
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
void OnTick()
{
int pos_count_new=PositionCount(_Symbol);
if(pos_count_new>pos_count)
{
pos_count=pos_count_new;
int result=SendScreenShot(ChatId,_Symbol,0,NULL);
if(result!=0)
Print(GetErrorDescription(result,InpLanguage));
}
}
//+------------------------------------------------------------------+
int PositionCount(const string _symbol)
{
int count=0;
int orders_total=OrdersTotal();
for(int i=0; i<orders_total; i++)
{
if(!OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
{
PrintError(ERR_ORDER_SELECT);
return(-1);
}
//---
if(_symbol==NULL || OrderSymbol()==_symbol)
count++;
}
//---
return(count);
}
//+------------------------------------------------------------------+
int SendScreenShot(const long _chat_id,
const string _symbol,
const ENUM_TIMEFRAMES _period,
const string _template=NULL)
{
int result=0;
long chart_id=ChartOpen(_symbol,_period);
if(chart_id==0)
return(ERR_CHART_NOT_FOUND);
ChartSetInteger(ChartID(),CHART_BRING_TO_TOP,true);
//--- atualizar gráfico
int wait=60;
while(--wait>0)
{
if(SeriesInfoInteger(_symbol,_period,SERIES_SYNCHRONIZED))
break;
Sleep(500);
}
if(_template!=NULL)
if(!ChartApplyTemplate(chart_id,_template))
PrintError(_LastError,InpLanguage);
ChartRedraw(chart_id);
Sleep(500);
ChartSetInteger(chart_id,CHART_SHOW_GRID,false);
ChartSetInteger(chart_id,CHART_SHOW_PERIOD_SEP,false);
string filename=StringFormat("%s%d.gif",_symbol,_period);
if(FileIsExist(filename))
FileDelete(filename);
ChartRedraw(chart_id);
Sleep(100);
// if(ChartScreenShot(chart_id,filename,800,600,ALIGN_RIGHT))
if(ChartScreenShot(chart_id,filename,1024,768,ALIGN_RIGHT))
{
Sleep(100);
bot.SendChatAction(_chat_id,ACTION_UPLOAD_PHOTO);
//--- aguardando 30 segundos para salvar a captura de tela
wait=60;
while(!FileIsExist(filename) && --wait>0)
Sleep(500);
//---
string screen_id;
result=bot.SendPhoto(_chat_id,filename,screen_id,_symbol+"_"+StringSubstr(EnumToString(_period),7));
}
ChartClose(chart_id);
return(result);
}
//+------------------------------------------------------------------+
Olá a todos,
Estou tentando enviar uma mensagem do MT5 para o Telegram usando um bot. No entanto, não consegui enviar a mensagem do MT5 para o Telegram devido ao erro: Código de erro 400 Descrição "Solicitação incorreta: chat não encontrado"
Alguém encontrou o mesmo problema? Você pode dar alguns motivos pelos quais esse erro pode ter ocorrido?
Fiz muitas pesquisas on-line, mas não consegui obter as respostas certas.
Fórum sobre negociação, sistemas de negociação automatizados e teste de estratégias de negociação
Adicionando emoji em mensagens de telegrama.
Frédéric LEBRE, 2023.12.04 13:56
Olá,
Por favor, poderia me ajudar?
Estou tentando enviar uma mensagem para o telegrama usando emoji.
Quando o unicode do emoji é, por exemplo, U+2702, uso como valor de string " \x2702 " e funciona.
SendTelegramMessage(TelegramApiUrl, TelegramBotToken, ChatId, "\x2702");
Mas quando o unicode é assim : U+1F648 nada funciona.
Incluí o <Telegram.mqh> como li nos tópicos, mas não sei como fazer mais.
Obrigado por suas respostas.
Descobri como fazer isso; se alguém estiver interessado, pergunte-me).
Descobri como fazer isso, quem estiver interessado pode perguntar)
Você poderia simplesmente escrever. Assim, os outros não precisarão procurá-lo e perguntar.