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

 


Estamos tentando usar o scriptTelegram_Bot_EA para enviar uma tela de gráfico quando solicitado. Nós o modificamos ligeiramente em termos de seleção de modelos e outras ferramentas. Mas acho que isso não é essencial. Digamos que haja dois usuários.

- O primeiro inicia o bot, seleciona uma ferramenta (digamos RI), seleciona um TF - 5min, pausa....

- o segundo inicia o bot, seleciona o instrumento (BR), seleciona o TF - 30min, seleciona o padrão "#1". - obtém a tela correta.

- o primeiro continua e seleciona o padrão "#2" e obtém.... a imagem que o segundo obteve.


Ou seja, no momento em que o primeiro fez uma pausa, o bot de alguma forma se reconstruiu com os dados que recebeu do segundo e os usou quando o primeiro terminou de enviar a solicitação. Acontece que as variáveis onde a ferramenta, o TF e o padrão são armazenados são globais de certa forma, e é por isso que foram substituídas.

Como esse problema pode ser resolvido?

O exemplo na tela abaixo. Um instrumento RTS foi solicitado, 5m. Eu demorei para selecionar um modelo, enquanto o segundo usuário estava solicitando sua foto. Depois, continuei a selecionar o modelo e obtive BR, H1 em vez de RTS

O problema é o seguinte.



Como esse problema pode ser resolvido?

 
StarleyNSK:

Ou seja, no momento em que o primeiro foi pausado, o bot de alguma forma se reconstruiu com os dados recebidos do segundo e os usou quando o primeiro terminou de enviar a solicitação. Acontece que as variáveis em que a ferramenta, o TF e o modelo são armazenados são globais em algum sentido, e é por isso que foram substituídas.

Como esse problema pode ser resolvido?

Analise o i-di do usuário que está solicitando os dados e armazene tudo com uma vinculação a esse i-di.

 
Olá. Existe alguma possibilidade de fazer com que o bot possa visualizar todas as mensagens no bate-papo e citar uma determinada mensagem?
 
Yevhenii Levchenko:

Às vezes, ao tentar enviar uma captura de tela de um gráfico, aparece: "Error: Unknown error 5020" - o arquivo não existe. Embora ele esteja presente na pasta Files. Isso acontece algumas vezes. Às vezes, ele publica tudo em uma fileira (tenho um atraso de mais de 3 segundos entre o envio de mensagens). O algoritmo em si é o seguinte: o bot abre um gráfico, move o gráfico para a posição mais à direita, cria setas (níveis de preço), tira uma captura de tela, envia-a (depois de enviar um atraso de 3 segundos apenas ... sem que ele, por algum motivo, não queira enviá-la), exclui as setas e, após verificar a presença do arquivo, exclui-o. Ou não o exclui. Ou não o exclui. Se o bot der o erro 5020 ao enviar, a função FileIsExist retorna um valor sem sentido. Tentei definir atrasos após a criação do arquivo, mas isso não ajudou muito. Eu envio para um canal aberto. A extensão é .gif.

Essa solução é muito ruim (enviar capturas de tela como essa)? O código provavelmente está longe de ser ideal, mas por que ele não quer enviar capturas de tela? Ou melhor, às vezes ele as envia normalmente e, às vezes, não quer enviá-las de forma alguma. A Internet parece estar normal...

Em vez de atrasar, é mais bonito usar a função de verificar a presença de um arquivo, mas não apenas a presença de um arquivo no catálogo, mas a presença de seu comprimento. Há situações em que um arquivo aparece com comprimento zero, enquanto o processo de gravação nele não é concluído, e somente após a conclusão da gravação o comprimento é fixado.

Isso pode ser rastreado no OnTime.

 
Yuriy Zaytsev:

Em vez de atraso, é mais bonito usar a função de verificar a presença de um arquivo, mas não apenas a presença de um arquivo no diretório, mas também seu tamanho. Há situações em que um arquivo aparece com comprimento zero, enquanto o processo de gravação nele não é concluído, e somente após a conclusão da gravação o comprimento é fixado.

Isso pode ser rastreado no OnTime.

Sim, essa é uma solução mais completa. Obrigado pela orientação!

 
Indra Lukmana:

Olá a todos,


Não sei se essa pergunta já foi feita anteriormente,

Experimentei esse módulo com o formato EA e ele funciona maravilhosamente bem, mas quando tento esse módulo com o formato de indicador, ele mostra um erro como abaixo:

2020.08.26 10:25:37.839 inLuk_TelegramBot EURUSD,H1: Error: O URL não é permitido para WebRequest


alguma sugestão? ou esse módulo não pode ser usado no indicador?

Obrigado.

Você está usando o Windows 7?

Estou com problema de webrequest no Windows 7

 
firecard:
Estou com este erro:

'SendPhoto' - nenhuma das sobrecargas pode ser aplicada à chamada de função Telegram_Bot_EA.mq5 117 24


Ao compilar o telegram_bot MT5

Na página 4, você encontra a solução
 

Olá traders!

Eu tenho uma pergunta,

Eu tentei o Telegram_Bot_EA para Mt4 e Mt5 ....

Alguém pode me dizer por que o bot não envia a captura de tela no fim de semana no Mt4, o arquivo é gerado na pasta de arquivos e também no telegrama você vê (enviar foto no topo), mas nenhuma captura de tela está chegando?

No mt5 a captura de tela chega em poucos segundos.

Atenciosamente

 
Audiamant:

Olá, traders!

Eu tenho uma pergunta,

Eu tentei o Telegram_Bot_EA para Mt4 e Mt5 ....

Alguém pode me dizer por que o bot não envia a captura de tela no fim de semana no Mt4, o arquivo é gerado na pasta de arquivos e também no telegrama você vê (enviar foto no topo), mas nenhuma captura de tela está chegando?

No Mt5, a captura de tela chega em poucos segundos.

Atenciosamente

Quando você comunica o mt4 com o Telegram e de outra forma o EA se comunica, verifique os registros
 
Jefferson Metha:
Quando você comunica o mt4 ao Telegram de outra forma, o EA se comunica, verifique os registros?

Sim, o EA se comunica, o único problema é que ele não envia a captura de tela no fim de semana? (mt4)

No arquivo de registro, vejo apenas o EA carregado com sucesso


Muito interessante, pois de segunda a sexta ele funciona .

Alguém está tendo o mesmo problema?