Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 373

 
Alexey Viktorov:

Una vez más.

No te hablo de las acciones del comerciante, te hablo de esos registros (líneas) que pones a la vista del público.

Digamos, que no me importa que no haya una línea de apertura de orden y su primera modificación en los registros de la terminal...

¿Por qué no hay más historial de esta orden en los registros del corredor? ¿Dónde está el registro de que la orden funcionó? ¿Y fue modificado antes de ser activado?

Por alguna razón no puedo adjuntarlas a mi mensaje.

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

otra pregunta a los expertos

¿hay alguna posibilidad técnica en el mt4 del broker para reenviar los informes diarios de las fechas pasadas?

Por ejemplo, no hemos recibido los informes durante 2 semanas, ¿podemos volver a generarlos y enviarlos al correo electrónico del comerciante?

 
valeriy odintsov:

Tengo los registros - no puedo adjuntarlos a mi post por alguna razón.

No es necesario adjuntar los registros al mensaje.

Sólo presté atención a una línea del registro del corredor. La que fijó la activación de la orden pendiente.

 

Por favor, dígame cómo hacerlo - necesito obtener el valor del TF superior en el TF inferior en el momento del TF inferior - en 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, dígame cómo hacerlo - necesito obtener el valor de la TF superior en la TF inferior en el momento de la TF inferior - en 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);
  
  }

Leer la ayuda de la función iBarShift()
 
Vitalii Ananev:
Lea la ayuda de iBarShift()
Resulta que necesito obtener datetime , el valor de la variable pos, pero ¿cómo lo hago?
 
-Aleks-:
Resulta que necesito obtener datetime , el valor de la variable pos, pero ¿cómo hacerlo?
Si tiene un número de barra en la variable pos, puede obtener el valor del tiempo de esta barra utilizando la función Time[pos] o la función iTime(Symbol(),Period(),pos).
 
Vitalii Ananev:
Si tiene un número de barra en la variable pos, puede obtener el valor del tiempo de esta barra utilizando la función Time[pos] o la función iTime(Symbol(),Period() ,pos).

Sí, pero no puedo entender cómo termino con un valor de barra en el medio del día?

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

Obtengo los valores máximos de la barra...

Y necesito coger el cambio de barra cada 15 minutos, por ejemplo.

 
-Aleks-:

Sí, pero no puedo entender cómo termino con un valor de barra en el medio del día?

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

Obtengo los valores máximos de la barra...

Y necesito captar un cambio en la barra diaria cada 15 minutos, por ejemplo.

No estoy muy seguro de lo que quieres hacer. Corríjanme si me equivoco. ¿Quiere obtener los valores máximos del día cada N minutos?
 
Vitalii Ananev:
No estoy muy seguro de lo que quieres hacer. Corrígeme si me equivoco. ¿Quiere obtener los valores máximos del día cada N minutos?
Correcto.
 
-Aleks-:
Sí.
Entonces sólo hay que tomar el valor de iHigh(Symbol(),PERIOD_D1,0) después de un cierto período de tiempo. Pero si se toman los valores de los días pasados, serán los mismos en cualquier momento.