Comparar informações entre ativos

 

Gostaria da ajuda pois preciso das informações de open,high,low,close de um ativo especifico no meu EA que está rodando em outro ativo.

Exemplo EA rodando na VALE5 e preciso das informações do IBOV, como obter? Seria com o copyRates como?

 
schinestzki:

Gostaria da ajuda pois preciso das informações de open,high,low,close de um ativo especifico no meu EA que está rodando em outro ativo.

Exemplo EA rodando na VALE5 e preciso das informações do IBOV, como obter? Seria com o copyRates como?

Olá,

Você terá que alterar o código fonte do EA, então se vc é programador seja mais especifico, disponibilize aqui no post, usando o comando  acima SRC  do editor de Texto,  parte do código fonte que vc tem dúvida. Talvez algum programador possa lhe ajudar.

Do contrário você terá que pagar para alguém fazer esta alteração no código fonte usando o serviço  Freelance

 

 Olá Paulo,

   Não posso me considerar programador, mas estou estudando e tentando chegar lá. 

  Dessa forma abaixo usando o CopyRates obtenho as informações open,close,high,low do ativo que esta no grafico que estou utilizando o EA. Mas minha duvida é se tem como obter essas informações de outro ativo nesse mesmo EA e grafico. No "int copied=CopyRates(Symbol(),0,0,2,rates);" tentei colocar symbol(nome do ativo), mas ele não aceita, acho que o problema é que devo estar colocando uma variavel errada.

void OnTick()

  {

//---

 MqlRates rates[];

   ArraySetAsSeries(rates,true);

   int copied=CopyRates(Symbol(),0,0,2,rates);

   if(copied>0)

     {

      Print("Barres copiados: "+copied);

      string format="open = %G, high = %G, low = %G, close = %G, volume = %d";

      string out;

      int size=fmin(copied,10);

      for(int i=0;i<size;i++)

        {

         out=i+":"+TimeToString(rates[i].time);

         out=out+" "+StringFormat(format,

                                  rates[i].open,

                                  rates[i].high,

                                  rates[i].low,

                                  rates[i].close,

                                  rates[i].tick_volume);

         Print(out);

        }

     } 
 
Bem, agora vamos aguardar algum membro postar uma ajuda para vc, pois eu não entendo nada de programação....  :(
 
schinestzki:

 Olá Paulo,

   Não posso me considerar programador, mas estou estudando e tentando chegar lá. 

  Dessa forma abaixo usando o CopyRates obtenho as informações open,close,high,low do ativo que esta no grafico que estou utilizando o EA. Mas minha duvida é se tem como obter essas informações de outro ativo nesse mesmo EA e grafico. No "int copied=CopyRates(Symbol(),0,0,2,rates);" tentei colocar symbol(nome do ativo), mas ele não aceita, acho que o problema é que devo estar colocando uma variavel errada.

Olá schinestzki,

basta usar

//--- global
MqlRates secondRates[];

//--- OnInit
ArraySetAsSeries(secondRates,true);

//--- OnTick ou OnTimer
string _secondSymbol = "PETR4";
CopyRates(_secondSymbol,_Period,0,2,secondRates);

Abraços,
Malacarne 

 

   Muito obrigado Malacarne,

  Era exatamente essa informação que eu queria.

 

Abraço

Carlos 

Razão: