Perguntas de Iniciantes MQL5 MT5 MetaTrader 5 - página 373

 
Alexey Viktorov:

Mais uma vez.

Não estou a falar das acções do comerciante, estou a falar dos troncos (linhas) que coloca em exposição pública.

Digamos, não me interessa que não haja uma linha de abertura de encomendas e a sua primeira modificação nos registos do terminal...

Porque é que não existe mais nenhum historial desta encomenda nos registos do corretor? Onde está o registo de que a encomenda funcionou? E foi modificado antes de ser activado?

Não os posso anexar à minha mensagem por qualquer razão.

----------------------------

outra pergunta aos peritos

se existe uma possibilidade técnica no mt4 do corretor para reenviar relatórios diários para as datas passadas?

Por exemplo, não recebemos os relatórios há 2 semanas, podemos re-gerá-los e enviá-los para o e-mail do comerciante?

 
valeriy odintsov:

Tenho os registos - não os posso anexar ao meu posto por qualquer razão.

Não é necessário anexar os registos à mensagem.

Apenas prestei atenção a uma linha do diário de bordo do corretor. A que fixou a activação da ordem pendente.

 

Por favor, diga-me como fazê-lo - preciso de obter o valor do TF superior no TF inferior no momento do TF inferior - em MQL4.

int start()
  {
   
     int    i,counted_bars=IndicatorCounted();
//---- check for possible errors
   if(ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
   if(ExtCountedBars>0) ExtCountedBars--;
   int pos;
   if(nBars==0) pos=Bars-ExtCountedBars-1;
   else  pos=nBars-ExtCountedBars-1;
   while(pos>=0)
     {
      double iDeltaPeiceMA_= 0;
      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,pos) - iOpen(Symbol(),TF,pos);

     pos--;

     }

   return(0);
  
  }

 
-Aleks-:

Por favor, diga-me como fazê-lo - preciso de obter o valor do TF superior no TF inferior no momento do TF inferior - em MQL4.

int start()
  {
   
     int    i,counted_bars=IndicatorCounted();
//---- check for possible errors
   if(ExtCountedBars<0) return(-1);
//---- last counted bar will be recounted
   if(ExtCountedBars>0) ExtCountedBars--;
   int pos;
   if(nBars==0) pos=Bars-ExtCountedBars-1;
   else  pos=nBars-ExtCountedBars-1;
   while(pos>=0)
     {
      double iDeltaPeiceMA_= 0;
      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,pos) - iOpen(Symbol(),TF,pos);

     pos--;

     }

   return(0);
  
  }

Ler ajuda para a função iBarShift()
 
Vitalii Ananev:
Leia a ajuda do iBarShift()
Acontece que preciso de obter a data/hora , o valor da variável pos, mas como é que o faço?
 
-Aleks-:
Acontece que preciso de obter a data, o valor da variável pos, mas como fazê-lo?
Se tiver um número de barra na variável pos, pode obter o valor de tempo desta barra usando a função Time[pos] ou a função iTime(Symbol(),Period(),pos).
 
Vitalii Ananev:
Se tiver um número de barra na variável pos, pode obter o valor do tempo desta barra usando a função Time[pos] ou a função iTime(Symbol(),Period() ,pos).

Sim, mas não consigo perceber como é que acabo com um valor de barra a meio do dia?

      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]))-iOpen(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]));

Recebo valores máximos de barra...

E preciso de apanhar a mudança do bar de 15 em 15 minutos, por exemplo.

 
-Aleks-:

Sim, mas não consigo perceber como é que acabo com um valor de barra a meio do dia?

      if (Variant>0) iDeltaPeiceMA_=iHigh(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]))-iOpen(Symbol(),TF,iBarShift(Symbol(),TF, Time[pos]));

Recebo valores máximos de barra...

E eu preciso de apanhar uma mudança no bar diário a cada 15 minutos, por exemplo.

Não tenho bem a certeza do que quer fazer. Corrija-me se estiver errado. Quer obter os valores máximos do dia a cada N minutos?
 
Vitalii Ananev:
Não tenho bem a certeza do que quer fazer. Corrija-me se estiver errado. Quer obter os valores máximos do dia a cada N minutos?
Correcto.
 
-Aleks-:
Certo.
Depois basta tomar o valor de iHigh(Symbol(),PERÍODO_D1,0) após um certo período de tempo. Mas se tomarmos os valores dos dias passados, eles serão os mesmos em qualquer altura.
Razão: