Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 571

 
PolarSeaman:

¿Es, la hora actual resta la hora de apertura del bar?

//+------------------------------------------------------------------+
//| Количество секунд, остающихся до закрытия свечи                  |
//+------------------------------------------------------------------+
long SecondsToCandleClose(const string symbol_name,const ENUM_TIMEFRAMES timeframe)
  {
   datetime array[];
   return(CopyTime(symbol_name,timeframe,0,1,array)==1 ? PeriodSeconds(timeframe)+array[0]-TimeCurrent() : 0);
  }
//+------------------------------------------------------------------+
 
PolarSeaman:

¿se puede insertar OnCalculate() en OnTimer()?

No sé cómo sincronizar lahora local y laactual, no lo encuentro en la ayuda.

Se trata de dos manejadores de eventos diferentes. OnCalculate() se activa por un nuevo tick, OnTimer() se activa por el tiempo que se establece cuando se inicia el temporizador.

 
PolarSeaman:

¿cómo, no hacer? sólo este minuto tienes que comprobar, y dormir durante 24 horas)

Entonces no puedes prescindir de un temporizador.

 
Artyom Trishkin:

Gracias. Ahora tenemos que hacer que funcione, como quien, en ausencia de un tic.

        if(SecondsToCandleClose(Symbol(),0)<=60)
              {
               if(open[i]>close[i] && high[i]-low[i]>=100*Point)
                 {
                  BufferUP[i]=low[i]-distance*Point;
                 }
              }
 
PolarSeaman:

¿se puede insertar OnCalculate() en OnTimer()?

No sé cómo sincronizar lahora local y laactual, no lo encuentro en la ayuda.

En el momento de un tick contamos la diferencia TimeCurrent()-TimeLocal()
- este es nuestro desplazamiento en relación con el corredor; si este desplazamiento cambia más tarde, todo debe ser recalculado
- al inicio o aparición del compás D1, recalcular todos los tiempos necesarios, a la hora local
- esperamos el tiempo que hemos "contado" en el temporizador, al mismo tiempo comprobamos la desincronización, la desconexión con el broker, volvemos a poner las flechas locales.

 
Ihor Herasko:

Se trata de dos manejadores de eventos diferentes. OnCalculate() se activa por un nuevo tick, OnTimer() se activa por la expiración del tiempo, que se establece cuando se inicia el temporizador.

Gracias, ya veo. ¿Puede funcionar el indicador en OnTimer() ?

 
PolarSeaman:

Gracias. Ahora tenemos que hacer que funcione en ausencia de una garrapata.

El código debe insertarse en OnTimer(). Pero, de nuevo, no se puede utilizar en la historia. Así que pon 0 en lugar de i de inmediato.

 
PolarSeaman:

Gracias, ya veo. ¿Puede funcionar el indicador en OnTimer() ?

El evento OnTimer() funciona en el indicador. Pero no debes poner todo el código en OnTimer(). Sólo debería existir la parte responsable de controlar el tiempo que queda hasta el final de la vela. Todo lo demás debe funcionar en OnCalculate().

 
Taras Slobodyanik:

en el momento en que el tic aparece...

Bueno... ¿Qué pasa si la garrapata no viene? Necesita "empezar" sin la garrapata.

 
Ihor Herasko:

Pero, de nuevo, no puedes usarlo en una historia.

Lo siento, no entiendo por qué no puedes.

Razón de la queja: