PEÇO AJUDA PARA A COMUNIDADE!!! Preciso armazenar as ordens de COMPRA / VENDA executadas no mercado.

 

Em primeiro lugar gostaria de agradecer a vocês por qualquer ajuda.

Necessito  alimentar um sistema com as últimas ordens executadas no mercado, preferencialmente em tempo real.

Ao tentar receber guardar na estrutura mqltick as últimas ordens executadas, recebo várias vezes a ultima ordem executada no mercado

Os seguir mostro o PrtScn da tela mostrando o console com várias ordens repetidas e o código utilizado.


//+------------------------------------------------------------------+
//| Exemplo 1.0.mq5 |
//| Copyright 2018, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+

#property copyright "Copyright 2018, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
#property indicator_chart_window
//+------------------------------------------------------------------+
//| Custom indicator initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//--- indicator buffers mapping

//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Custom indicator iteration function |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &time[],
const double &open[],
const double &high[],
const double &low[],
const double &close[],
const long &tick_volume[],
const long &volume[],
const int &spread[])
{
//---
//Getting the Ticks
MqlTick Ticks;
MqlTick Array_Tick[];//Receiving array
int copied = CopyTicks(Symbol(),tick_array,COPY_TICKS_TRADE,0,_INPticks);//Receiving Function
ArraySetAsSeries(tick_array,true); //Reversing the indexing

Ticks = Array_Tick[0];
Print(Ticks.time + " " + Ticks.volume);

//--- return value of prev_calculated for next call
return(rates_total);
}
//+------------------------------------------------------------------+


 

Olá,

por favor em português.

 
Rogerio Giannetti Torres:

Olá,

por favor em português.

Olá Rogerio,

A dúvida, consiste em obter (tbm exportar)  as ordens que estão sendo executadas no mercado (histórico de negócios) como ntimes & sales.

No código, escrevi a maneira que conheço para armazenar na estrutura mqltick.

Ao tentar plotar no console ou exportar, recebo múltiplas vezes a última ordem executada no mercado mesmo usando o argumento COPY_TICKS_TRADE, como na imagem e código que anexei.

 
renatocastro1:

Olá Rogerio,

A dúvida, consiste em obter (tbm exportar)  as ordens que estão sendo executadas no mercado (como ntimes & sales).

No código, escrevi a maneira que conheço para armazenar na estrutura mqltick.

Ao tentar plotar no console ou exportar, recebo múltiplas vezes a última ordem executada no mercado, como na imagem que anexei.

Olá,

não sei responder, veja se esse tópico pode te ajudar: 

Times and Sales
Times and Sales
  • 2016.07.05
  • www.mql5.com
Olá pessoal, eu comecei a fazer um indicador que puxa que o histórico de negócios, porém eu estou com um problema na hora de mostrar o resultado n...
 
Renato Castro:

Em primeiro lugar gostaria de agradecer a vocês por qualquer ajuda.

Necessito  alimentar um sistema com as últimas ordens executadas no mercado, preferencialmente em tempo real.

Ao tentar receber guardar na estrutura mqltick as últimas ordens executadas, recebo várias vezes a ultima ordem executada no mercado

Os seguir mostro o PrtScn da tela mostrando o console com várias ordens repetidas e o código utilizado.



Seu codigo esta ok. O problema é no print. Vc esta printando Array_Tick[0]. Vc precisa printar Array_Tick[i], nesse i vc faz um for() para percorrer todo o array.

Acho que é isso.

Razão: