Pegar infomação do ultimo candelstick?

Para adicionar comentários, por favor Faça o login ou registrar
Nilo Vieira
17
Nilo Vieira  

Galera Estou tentando criar um código  que pega a informação do ultimo candelstick em 1 minuto.

Aqui eu consigo pegar a infomação de maxima minima tudo ok.

   MqlRates rates[];
   ArraySetAsSeries(rates,true);
   int copied=CopyRates(Symbol(),0,0,100,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,60);
      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);
        // bot.SendMessage(-1001312968945, out + _Symbol + " é: " + DoubleToString(SymbolInfoDouble(_Symbol, SYMBOL_LAST)));
       
                
        }
     }
   else Print("Falha ao receber dados históricos para o símbolo ",Symbol());

Mais a Pergunta como eu consigo pega somente do ultimo candel. 
Por exemplo o codigo vai execultar a cada 14 minutos ai se o candel de sell ele me emiti um alerta de buy para proximo.?

A ideia vou pegar o valo do candel de 14 e compara com o de 13 minutos se de 14 de abaixo ou acima emito o alerta.


Meu problema é pegar a infomarção a cada 13 minutos.


Flavio Jarabeck
131582
Flavio Jarabeck  
Nilo Vieira:

Galera Estou tentando criar um código  que pega a informação do ultimo candelstick em 1 minuto.

Aqui eu consigo pegar a infomação de maxima minima tudo ok.

Mais a Pergunta como eu consigo pega somente do ultimo candel. 
Por exemplo o codigo vai execultar a cada 14 minutos ai se o candel de sell ele me emiti um alerta de buy para proximo.?

A ideia vou pegar o valo do candel de 14 e compara com o de 13 minutos se de 14 de abaixo ou acima emito o alerta.


Meu problema é pegar a infomarção a cada 13 minutos.


Isso é um EA ou um Indicador?

;)

Ivan Ronchi
340
Ivan Ronchi  

Tente usar o MqlDateTime.

Pegar a hora corrente e tratar o stm.min == 13, por exemplo, e fazer alguma coisa.

Pegue o candle atual onde o i == 0 (rates[i]) e compare com o candle anterior onde i ==1.

   datetime horafpc=TimeCurrent();  
   MqlDateTime stm;
   TimeToStruct(horafpc,stm);

  if (stm.min == ??)
  {
    .. faça alguma coisa
  }

Veja se ajuda essa informação.

Documentação sobre MQL5: Constantes, Enumeradores e Estruturas / Estruturas de Dados / Estrutura do Tipo Data
Documentação sobre MQL5: Constantes, Enumeradores e Estruturas / Estruturas de Dados / Estrutura do Tipo Data
  • www.mql5.com
O número do dia do ano, day_of_year, para ano bissexto, a partir de março, diferirá do número do dia correspondente a um ano não bissexto.
Nilo Vieira
17
Nilo Vieira  
sim estou montando um Flavio Jarabeck:

Isso é um EA ou um Indicador?

;)

sim estou tentando monta um robo para fins de estudo no momento. só com isso depois vou montar com uma estrategia.
Nilo Vieira
17
Nilo Vieira  
Ivan Ronchi:

Tente usar o MqlDateTime.

Pegar a hora corrente e tratar o stm.min == 13, por exemplo, e fazer alguma coisa.

Pegue o candle atual onde o i == 0 (rates[i]) e compare com o candle anterior onde i ==1.

Veja se ajuda essa informação.


a noite eu dou uma testada valeu. 

Para adicionar comentários, por favor Faça o login ou registrar