Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 6. - página 928

 
TarasBY:
if (iBarShift (_Symbol, PERIOD_D1, OrderOpenTime()) == 0) continue;

¡¡¡Estoy sorprendido!!! ¡¡¡Una línea!!! ¡¡¡Gracias!!! Ya he empezado a desglosar el tiempo en horas, minutos y segundos para obtener los segundos del principio del día y comparar...

A mí no se me habría ocurrido.

 
abeiks:
¡Hola!
¿Cómo puedo obtener cada tick de otros pares de divisas en el Asesor Experto (MQL4)?
Entonces, ¿puede decirme cómo obtener cada 10ms información sobre los ticks de otros pares de divisas?
 
OnTimer() le ayudará.
 
AlexeyVik:
OnTimer() es su ayuda.
Gracias.
 
AlexeyVik:
OnTimer() le ayudará.
Allí se utiliza la periodicidad especificada de EventSetTimer( int seconds ). ¿Significa que puedo obtener información sobre las garrapatas cada 1 segundo? Necesito más rápido - 10-20ms.
 

El indicador necesita obtener el índice a la hora de apertura de la barra diaria, en un marco temporal menor.

Sólo funciona correctamente en la barra de cero. ¿Qué ocurre?

#property indicator_separate_window
#property indicator_buffers 1
#property  indicator_color1 Magenta
//--- input parameters
//--- buffers
double I[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   IndicatorBuffers(1);
   SetIndexBuffer(0,I);
   IndicatorDigits(Digits+1);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
    int counted_bars=IndicatorCounted(),limit, i,index;
    datetime DAY;
    bool exact=true;
   if(counted_bars>0)
      counted_bars--;  
   limit=Bars-counted_bars-1;
   for(i=limit;i>=0;i--)
   {
      DAY=iTime(NULL,PERIOD_D1,i);
      index=iBarShift(NULL,PERIOD_CURRENT,DAY);
      I[i]=index;
   }
   return(0);
  }
//+------------------------------------------------------------------+
 
abeiks:
Allí se utiliza la periodicidad especificada de EventSetTimer( int seconds ). ¿Significa esto que puedo obtener información de garrapatas cada 1 segundo? Necesito más rápido - 10-20ms.
No sólo EventSetTimer( int seconds ) sino también EventSetMillisecondTimer, ¿por qué estás tan poco atento? Está escrito al lado.
 
AlexeyVik:
No sólo EventSetTimer( int seconds ) sino también EventSetMillisecondTimer, ¿por qué estás tan poco atento? Está escrito al lado.
Gracias. Estuve mirando en el libro de referencia OnTimer y sólo menciona EventSetTimer.
 
¿Puedes decirme cómo escribir un simple EA como este? Abre una orden a una hora determinada del día, y luego si la orden se cierra con un stop loss, abre la misma orden en sentido contrario. Al día siguiente todo se repite. Me gustaría probar este tipo de EA y ver si su beneficio es estable. Por favor, ayúdame a escribirlo.
 

Por favor, ayúdenme, ¿cómo escribo"si el precio proviene de un determinado rango"?

Ejemplo de la imagen: para abrir una operación, el precio debe venir de un determinado rango 1,1100 y 1,1100 debe venir de un determinado rango 1,1200.

La variante con iMayor y iMenor no es adecuada porque esta condición no depende del tiempo.

Razón de la queja: