Discussão do artigo "Como criar bots para Telegram em MQL5" - página 42

 
Andrey Vasilenko:
Boa tarde. Não há acesso à url da api do telegrama, erro 1001. A questão já foi levantada aqui, quem teve esse problema e conseguiu resolvê-lo, compartilhe, por favor

Mudar para o Win10

 
Obrigado pela resposta. Ela realmente ajudou ou foi apenas uma suposição? O cliente tem o Win 7, é um pouco fora de mão pedir para atualizar para o Win 10, o vps também terá um vin diferente.
 
Andrey Vasilenko:
Obrigado pela resposta. Ela realmente ajudou ou foi apenas uma suposição? O cliente tem o Win 7, é um pouco fora de mão pedir para atualizar para o Win 10, o vps também terá um vin diferente.

Não há garantia, temos que verificar. Mas muitas pessoas reclamaram no W7 e no W10 relataram que tudo funciona. Experimente você mesmo. Eu também não mudaria para o telegrama.

 
Obrigado, isso ajudou ) Mudar do Win7 para o Win10 resolveu o problema
 
Ricardo Andres Moscoloni:

Telegram.mqh na linha 980 solicita:

e na linha 1006 chama por:

para enviar uma mensagem para um canal privado, eu tenho que definir o chat_id como um long como este:

input long InpChatId= -(use h t t p s ://t.me/username_to_id_bot para obter seu ID de bate-papo privado); // ID de bate-papo privado

e use-o para transmitir para o telegrama

Caso contrário, não funcionará. Se alguém souber um código para identificar quando usamos uma string @publicChannelName ou um long -privateChannelName para transmitir de acordo, publique-o aqui!

Os IDs de canais privados têm valores negativos. Faça o seguinte:
input ulong channelId = -1097657894777;
input string channelName = "@electronicsfreak";

bot.SendMessage (channelId, "Hello you!");
bot.SendMessage (channelName, "Hello you!");
 
Andrey Vasilenko:
Obrigado, isso ajudou ) Mudar do Win7 para o Win10 resolveu o problema

Não funciona no Win7, você nem precisa tentar. Tentei todas as opções. Construído no MQL WebRequest() e no Windows. Você precisa do Windows 10 ou do Windows Server 2012 ou superior.

 

Implementei uma captura de tela do Telegram pós-telegrama para a funcionalidade de confirmação do meu EA de várias moedas e vários períodos de tempo, tudo certo.

  void              send_photo(CMyBot & ibot, string symbol, string type, string shortTF, string longTF)
     {
      string photo_id = ScreenShotToFile(symbol, type,  shortTF,  longTF);
      int chat_id = **********;
      string caption = photo_id;
      StringReplace(caption, ".png", "");
      string enter = StringFormat("/%s", caption);
      int sent =  ibot.SendPhoto(photo_id, chat_id,  photo_id, enter, NULL, false, 10000);
      PrintFormat("Sent %i", sent);
      //--- comandos de início ou de ajuda
      // ibot.SendMessage(chat_id, "Click on the buttons", ibot.inlineKeyBoardMarkup());
     }

Telegrama Post

Também posso enviar um inlineKeyboard com a função Telegram.mqh SendMessage(), tudo bem

 ibot.SendMessage(chat_id, "Click on the buttons", ibot.inlineKeyBoardMarkup());

Teclado em linha

Eu preferiria que a função sendPhoto() recebesse um inlineKeybourd, mas, por algum motivo, a função SendPhoto() só aceita o KeyBoardMarkup() padrão, e não o inlineKeyBoardMarkup() no "reply_markup"

Tenho mexido no Telegram.mqh, mas não consigo fazer com que isso funcione.

Qualquer ajuda seria muito bem-vinda

 

Olá, é possível obter o lucro diário em porcentagem em vez do saldo da conta?

Qualquer sugestão seria bem-vinda.

Na captura de tela anexa, você pode ver o código.

Com os melhores cumprimentos

Arquivos anexados:
 
Audiamant:

Olá, é possível obter o lucro diário em porcentagem em vez do saldo da conta?

Qualquer conselho seria apreciado.

Na captura de tela anexa, você pode ver o código.

Com os melhores cumprimentos

Sim, é possível,
1. Verificar o saldo atual
2. Verificar o lucro diário (tanto os ganhos quanto as perdas)
3. Subtraia do saldo atual e obtenha o saldo inicial diário
4. Daily_Profit/daily_initial é a fração que, se multiplicada por 100, resulta na porcentagem
 

Olá pessoal, executei 10 Experts e obtive esse erro em todos eles

Como corrigir esse erro?


{"ok":false, "error_code":409, "description": "Conflito: encerrado por outra solicitação getUpdates; certifique-se de que apenas uma instância do bot esteja em execução"}