Buscar variação do IBOV em tempo real

 

Saudações, pessoal.

Preciso de um meio de buscar a variação atual do IBOV para o meu código decidir as entradas, todavia não sei qual a função mais apropriada para isso, tentei a SymbolInfoDouble() mas não consegui. Alguém já fez algo parecido?

minha meta:

if( -variação do ibov agora- > 0) {comprar}

if( -variação do ibov agora- < 0) {vender}

 
Por favor não criar tópicos aleatoriamente sem ter em conta a secção adequada. O seu tópico foi movido para a secção: Expert Advisors e Negociação Automatizada
 
luisvilhena:

Saudações, pessoal.

Preciso de um meio de buscar a variação atual do IBOV para o meu código decidir as entradas, todavia não sei qual a função mais apropriada para isso, tentei a SymbolInfoDouble() mas não consegui. Alguém já fez algo parecido?

minha meta:

if( -variação do ibov agora- > 0) {comprar}

if( -variação do ibov agora- < 0) {vender}

Explique melhor o erro que esta dando para o pessoal entender melhor como ti ajudar. Primeiro, voce sabe que o IBOV so cota a cada 30 segundos, ne?

 
luisvilhena:

Saudações, pessoal.

Preciso de um meio de buscar a variação atual do IBOV para o meu código decidir as entradas, todavia não sei qual a função mais apropriada para isso, tentei a SymbolInfoDouble() mas não consegui. Alguém já fez algo parecido?

minha meta:

if( -variação do ibov agora- > 0) {comprar}

if( -variação do ibov agora- < 0) {vender}

Se você vai abrir ordem de compra e venda, então esta trabalhando com um EA, que utiliza função OnTick(), logo para você recuperar os valores do preço de Cálculos baseados nas séries temporais utilize o MqlRates que é uma estrutura que armazena informações sobre os preços, volumes e spread.

Exemplo para  o seu código:

         //--- Calcula a variação percentual D1
      MqlRates DailyBar_1d[];
      ArraySetAsSeries(DailyBar_1d, true);
      double percentChange1d;
      CopyRates("IBOV", PERIOD_D1, 0, 2, DailyBar_1d);

  //--- SET Calcula a variação percentual Diario
      if(DailyBar_1d[1].close != 0)
        {
         percentChange1d = ((DailyBar_1d[0].close / DailyBar_1d[1].close) - 1) * 100;
        }
      else
        {
         percentChange1d = 0;
        }

percentChange1d = NormalizeDouble(percentChange1d, 2);
                              if(percentChange1d < 0)
                                 Venda();
                              if(percentChange1d > 0)
                                 Compra();