negociar em um robô, varios ativos.

 

Gostaria de fazer um robô para negociar varios ativos, estou com duvidas de como trocar estes ativos se tenho um só grafico, durante a vida do robô. Se alguem sabe de como fazer agradeço a ajuda. 

Obrigado.

José Gonçalves da Silva.

 
569175:

Gostaria de fazer um robô para negociar varios ativos, estou com duvidas de como trocar estes ativos se tenho um só grafico, durante a vida do robô. Se alguem sabe de como fazer agradeço a ajuda. 

Obrigado.

José Gonçalves da Silva.

Você pode negociar todos os ativos que quiser dentro de um robô, basta passar o "symbol" do ativo desejado como parâmetro nas funções de negociação.

O único ponto de atenção é que vc só receberá eventos OnTick() do ativo monitorado no gráfico onde o robô estiver operando. Para monitorar mudanças de preço nos demais ativos negociados, vc precisará verificar ativamente (por exemplo: chamando periodicamente a função SymbolInfoTick para cada ativo negociado).

Uma alternativa mais sofisticada, que permitiria vc receber eventos OnTick de todos os ativos negociados, seria vc pendurar, nos gráficos desses outros ativos negociados, robôs auxiliares que, a cada evento OnTick() destes outros ativos, gerem um evento customizado para o seu robô principal. Mas acredito que o custo/benefício de implementar uma solução preciosista e complexa como essa não seja compensador.

 
Trader_Patinhas:

Você pode negociar todos os ativos que quiser dentro de um robô, basta passar o "symbol" do ativo desejado como parâmetro nas funções de negociação.

O único ponto de atenção é que vc só receberá eventos OnTick() do ativo monitorado no gráfico onde o robô estiver operando. Para monitorar mudanças de preço nos demais ativos negociados, vc precisará verificar ativamente (por exemplo: chamando periodicamente a função SymbolInfoTick para cada ativo negociado).

Uma alternativa mais sofisticada, que permitiria vc receber eventos OnTick de todos os ativos negociados, seria vc pendurar, nos gráficos desses outros ativos negociados, robôs auxiliares que, a cada evento OnTick() destes outros ativos, gerem um evento customizado para o seu robô principal. Mas acredito que o custo/benefício de implementar uma solução preciosista e complexa como essa não seja compensador.

Bem observado  Trader_Patinhas, esse é o clássico problema técnico de tratamento por interrupção ou polling de qualquer sistema mais complexo, e no MT5 a solução de polling é a mais simples em termos de montagem de ambiente (apenas um gráfico e EA), mas certamente não é a ideal para estratégias que exigem menor latência, como no caso de scalpers.
Sds.,
Rogério Figurelli

 
Trader_Patinhas:

Você pode negociar todos os ativos que quiser dentro de um robô, basta passar o "symbol" do ativo desejado como parâmetro nas funções de negociação.

O único ponto de atenção é que vc só receberá eventos OnTick() do ativo monitorado no gráfico onde o robô estiver operando. Para monitorar mudanças de preço nos demais ativos negociados, vc precisará verificar ativamente (por exemplo: chamando periodicamente a função SymbolInfoTick para cada ativo negociado).

Uma alternativa mais sofisticada, que permitiria vc receber eventos OnTick de todos os ativos negociados, seria vc pendurar, nos gráficos desses outros ativos negociados, robôs auxiliares que, a cada evento OnTick() destes outros ativos, gerem um evento customizado para o seu robô principal. Mas acredito que o custo/benefício de implementar uma solução preciosista e complexa como essa não seja compensador.

ok, Valeu Trader_Patinhas, obrigado pela dica, eu sou novato no Mql5, vou pesquisar mais, qualquer coisa volto a postar. Obrigado.
Rogerio Figurelli:

Bem observado  Trader_Patinhas, esse é o clássico problema técnico de tratamento por interrupção ou polling de qualquer sistema mais complexo, e no MT5 a solução de polling é a mais simples em termos de montagem de ambiente (apenas um gráfico e EA), mas certamente não é a ideal para estratégias que exigem menor latência, como no caso de scalpers.
Sds.,
Rogério Figurelli Obrigado pela força.  


Razão: