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

 
OrelMely:

Olá a todos!!!
Posso saber se existe alguma maneira fácil de obter botões de modelos diferentes de acordo com o período de tempo escolhido?


Obrigado!!!

Sim, a maneira mais fácil é acessar aqui.

Trading applications for MetaTrader 5 to order
Trading applications for MetaTrader 5 to order
  • www.mql5.com
I want a simple RSI based Expert Advisor that buys or sells when it hits the RSI and takes the profit or loss as a percentage. I made a sheet with all the conditions. If you are interested, please leave me a message and I will send you the detailed sheet 1. I want you to include buy arrows (green) and sell arrow (red) based on custom levels...
 

[SOLVED] "UNKNOWN ERROR 1001" (ERRO DESCONHECIDO 1001)

Sincronização de horário

Se o horário do cliente divergir muito do horário do servidor, um servidor poderá começar a ignorar as mensagens do cliente, ou vice-versa, devido a um identificador de mensagem inválido (que está intimamente relacionado ao horário de criação). Nessas circunstâncias, o servidor enviará ao cliente uma mensagem especial contendo a hora correta e um determinado salt de 128 bits (fornecido explicitamente pelo cliente em uma solicitação de sincronização RPC especial ou igual à chave da última mensagem recebida do cliente durante a sessão atual). Essa mensagem pode ser a primeira em um contêiner que inclua outras mensagens (se a discrepância de tempo for significativa, mas ainda não resultar no fato de as mensagens do cliente serem ignoradas).

Depois de receber essa mensagem ou um contêiner que a contém, o cliente primeiro executa uma sincronização de horário (na verdade, simplesmente armazenando a diferença entre o horário do servidor e o seu próprio para poder calcular o horário "correto" no futuro) e, em seguida, verifica se os identificadores da mensagem estão corretos.

Se uma correção tiver sido negligenciada, o cliente terá de gerar uma nova sessão para garantir a monotonicidade dos identificadores de mensagem.

A citação acima é de https://core.telegram.org/mtproto


Encontrei um problema quando temos muitos dispositivos, os horários em cada dispositivo do Telegram talvez não sejam os mesmos.

Então, eu sincronizo ofuso horário do meu PC exatamente com o horário do celular.

Depois disso, não vejo mais esse erro.


-> Essa é a minha solução. Não sei se funciona para você. É apenas uma dica.

Espero que vocês consigam resolver esse bug em breve!

 

Caros membros do fórum, por favor, me digam como resolver este problema

{"ok":false, "error_code":409, "description": "Conflict: terminated by other getUpdates request; make sure that only one bot instance is running"} Quem já encontrou isso? Onde procurar, o que verificar.

 
Sergey Kasirenko:

Caros membros do fórum, por favor, me digam como resolver esse problema

{"ok":false, "error_code":409, "description": "Conflict: terminated by other getUpdates request; make sure that only one bot instance is running"} Quem já encontrou isso? Onde procurar, o que observar.

Você tem mais de um indicador em execução ou um Expert Advisor com o mesmo bot?
 
Aleksei Beliakov:
Você tem mais de um indicador em execução ou um EA com o mesmo bot?

Sim, tenho vários terminais, e a tarefa é fazer com que esses terminais recebam o mesmo sinal do bot. Como fazer isso?

 
Sergey Kasirenko:

Sim, tenho vários terminais, e a tarefa é fazer com que esses terminais recebam o mesmo sinal do bot, e como fazer isso?

Você pode receber um deles e enviar sinais para os outros por meio de um arquivo (acho que existem copiadoras desse tipo no kodobase).

 
Yevhenii Levchenko:

É possível receber um e enviar sinais para o outro por meio de um arquivo (acho que existem copiadoras desse tipo no kodobase).

O problema é que algo está no servidor, algo no vps, algo na máquina de trabalho, e eu quero fazer isso via Telegram, para praticar, por assim dizer, é interessante. E eu tropecei quando tentei receber tudo em vários terminais, com um terminal não há problemas, ele recebe e envia, tudo está como deveria ser, é claro, você pode cancelar a marcação de que a mensagem foi recebida e, portanto, mesmo apesar do erro, o Expert Advisor receberá a mensagem mais cedo ou mais tarde, e você pode filtrar a dublagem, mas é tudo uma dança com um pandeiro, certamente há alguma solução bonita. Ou uma abordagem geral para organizar esse mecanismo de comunicação entre o Telegram e os terminais.

 
Sergey Kasirenko:

A questão é que algo está no servidor, algo no vps, algo na máquina de trabalho, e eu ainda quero de alguma forma através do Telegram, para praticar, por assim dizer, é interessante. E eu tropecei quando tentei receber tudo em vários terminais, com um terminal não há problemas, ele recebe e envia, tudo é como deveria ser, é claro, você pode cancelar a marcação de que a mensagem foi recebida e, portanto, mesmo apesar do erro, o Expert Advisor receberá a mensagem mais cedo ou mais tarde, e você pode filtrar a dublagem, mas é tudo uma dança com um pandeiro, certamente há alguma solução bonita. Ou uma abordagem geral para organizar esse mecanismo de comunicação entre o Telegram e os terminais.

Você pode configurar um canal para cada terminal e enviar mensagens para lá...

 
Yevhenii Levchenko:

Você pode configurar um canal separado para cada terminal e enviar mensagens para ele....

Você pode elaborar um pouco mais, ou seja, cada terminal tem seu próprio bot de bate-papo?

 
Sergey Kasirenko:

Você pode elaborar um pouco mais, ou seja, cada terminal tem um bot de bate-papo separado?

Não. Um bot. Cada terminal tem seu próprio canal de telegrama. Lá você pode enviar por ID de canal. Foi assim que enviei uma foto para o canal:

if(ChannelID != 0) {
  result = bot.SendPhoto(photo_id, ChannelID, filename, filename);
}

Colete as IDs de canal em uma matriz e envie mensagens para esses canais por meio delas. Para descobrir a ID do canal, envie uma mensagem do canal para o bot Get My ID (ou qualquer outro que você possa encontrar) .....