Criar vínculo entre EA via Magic Number

 

Oi,

Gostaria de saber como deve ser feito o vínculo entre dois EA iguais que operam na mesma conta, em diferentes ativos, para que quando um esteja posicionado, o outro não entre em operações.

Entendo o básico de programação, mas consigo me virar, só precisa saber aonde entraria esta checagem, e qual função faz isto.

Obrigado!

 
Lucas Tavares:

Oi,

Gostaria de saber como deve ser feito o vínculo entre dois EA iguais que operam na mesma conta, em diferentes ativos, para que quando um esteja posicionado, o outro não entre em operações.

Entendo o básico de programação, mas consigo me virar, só precisa saber aonde entraria esta checagem, e qual função faz isto.

Obrigado!

Boa noite Lucas,

basta testar no programa rodando ativo1 se tem posição aberta para o ativo2.  O comando para isso é o PositionSelect ().

   if(PositionSelect("ativo2"))

     {

      Print("Sim tem posição aberta de Ativo2");

     }

 

Oi, Rogerio.

Ambos ea estarão no mesmo vps, sim.


Então nem preciso utilizar Magic Number. Interessante sua proposta!


Fazendo isto, analisando se o outro ativo está sendo operacionalizado, eu posso impor aos EAs a condição de só entrar na operação se a resposta for false, certo?

 
Lucas Tavares:

Oi, Rogerio.

Ambos ea estarão no mesmo vps, sim.


Então nem preciso utilizar Magic Number. Interessante sua proposta!


Olá,

eu tinha colocado uma observação sobre a necessidade de estar na mesma instância mas não é verdade, no caso o que conta é o account. 

O MagicNumber  pode ser usado para saber se a posição foi aberta manualmente ou  pelo outro EA.


.... Fazendo isto, analisando se o outro ativo está sendo operacionalizado, eu posso impor aos EAs a condição de só entrar na operação se a resposta for false, certo?

Sim, pois a condição false significa que não existe posição aberta para o ativo2 

Razão: