Dois ou mais robôs diferentes no mesmo ativo ao mesmo tempo?



  • Oi pessoal.

    Que cuidados pode-se ter ao se escrever robôs de modo que se possa ter dois ou mais operando sobre o mesmo ativo ao mesmo tempo? Quer dizer, é possível que um robô guarde referências para suas ordens específicas de modo a não interferir nas ordens dos outros? (mesmo que eu combine todos os robôs num só ainda assim teria que separar as ordens de cada um...)

    Uma outra dúvida é se é possível ter algum tipo de comunicação direta entre robôs diferentes rodando ao mesmo tempo. Sei que em último caso dá pra fazer isso via arquivo, mas teria algo mais prático para isso (memória compartilhada)?



  • Quanto a referencia as ordens isso pode ser feito através dos "números mágicos" uma espécie de ID do robô que enviou a ordem, mas pode servir para outras finalidades como identificar o setup que originou a ordem. Tem também o campo "comment" das ordens que pode conter mais informações sobre a origem/finalidade delas. Com as ordens devidamente referenciadas fica fácil desenvolver robôs que apenas atuem (monitorem, editem e cancelem) ordens que foram enviadas por eles.

    Quanto a comunicação entre os robôs, vai depender do nível de comunicação que vc quer. Uma alternativa são as "Variáveis Globais do Terminal" (não confunda com as variáveis declaradas no escopo global do programa), as funções usadas para acessa-las já implementam semáforo. Há também a possibilidade de trabalhar com Pipes, no site mql5 tem artigos sobre isso.


Entre para responder
 

Parece que sua conexão com Fórum Portal do Trader caiu, por favor aguarde enquanto tentamos reconectar.