¿Cómo saber si el mercado está cerrado? (mql4) - página 6

 
Alexey Busygin:
En algunos casos, ¡la respuesta tiene que venir del servidor del DC! Y a los DCs no les importa eso, por eso no funciona tan bien.

Oh, bien. Eso resolvió el problema.

:))))))))

 
Vasyl Nosal:

Oh, bien. Eso resolvió el problema.

:))))))))

Sí, claro, por qué usar algo que no funciona.
 
Vasyl Nosal:

Y hoy

IsTradeAllowed(Symbol(), TimeCurrent())

muestra la vaca.

La función parece centrarse únicamente en el calendario de operaciones. Y no puede considerar tales excepciones como días festivos porque requiere un horario adicional del corredor que no lo considera necesario.

Como resultado, llegamos a la conclusión de que no hay una forma sencilla de determinar un mercado cerrado. Queda el método que ya ha sido probado muchas veces en la práctica.

Por cierto, ¿por qué tienes la hora local?

Porque la hora del servidor (TimeCurrent()) no cambia los fines de semana.
 
Ihor Herasko:

...

Porque la hora del servidor (TimeCurrent()) no cambia los fines de semana.
No es cierto.
 
Verdadero, sin cambio, última hora conocida del servidor o tick, sin tick sin cambio de hora.
 
Alexander Bereznyak:
Realmente, no hay cambio, la última hora conocida del servidor o tick, sin tick no hay cambio de hora.
Joder..., ¿te cuesta ir ahora a la terminal y mirar?
 
Vasyl Nosal:
Joder, ¿te cuesta ir al terminal y mirarlo ahora?

¿Por qué harías eso? Al fin y al cabo, puedes ver por ti mismo que no cambia. Además, en la documentación aparece claramente:https://docs.mql4.com/ru/dateandtime/timecurrent.

Devuelve la última hora conocida del servidor

Es decir, se trata de la hora del último tick entrante para cualquiera de los símbolos de Market Watch. Esta hora puede cambiar los fines de semana, si el corredor proporciona cotizaciones incluso en fines de semana y días festivos. Sin embargo, la gran mayoría de los corredores no lo tienen: siempre obtendrá la hora del último tick del viernes en el fin de semana.

TimeCurrent - Документация на MQL4
  • docs.mql4.com
TimeCurrent - Документация на MQL4
 
Ihor Herasko:

¿Por qué harías eso? Puedes ver por ti mismo que no cambia. Además, en la documentación aparece claramente:https://docs.mql4.com/ru/dateandtime/timecurrent.

Es decir, es la hora del último tick entrante para cualquiera de los símbolos de la Observación del Mercado. Los fines de semana, esta hora puede cambiar si el corredor proporciona datos de cotización incluso en fines de semana y días festivos.

Porque si vas al terminal en fin de semana, la hora se actualiza por la fecha en que entraste y no importa si hay ticks o no.
 
Vasyl Nosal:
Porque si vas a la salida al terminal, la hora se actualiza allí por la fecha en que entraste al terminal y no importa si hay ticks o no.

Descartas lo evidente sin exponer los hechos. ¿Dónde has visto esto? ¿Tal vez en los terminales de los corredores que dan cotizaciones en el fin de semana? Entonces es correcto: habrá una actualización, pero no cuando se inicie el terminal, sino cuando lleguen los ticks.

Aunque lo más probable es que se refiera a otro momento. Por ejemplo, el tiempo en el diario. Pero este tiempo no se puede obtener de forma programada. Y aquí nos referimos exactamente a TimeCurrent().

 
Vasyl Nosal:
Porque si vas al terminal en fin de semana, la hora se actualiza en la fecha en que te conectaste y no importa si hay ticks.

Demuéstrelo, por favor. Una cosa más: "Estás hablando de TimeCurrent() - la última hora conocida del servidor, ¿verdad?". Y, por cierto, a juzgar por tu lógica, ¿basta con desconectarse de Internet (no habrá ticks - imitación de fin de semana), esperar 5 minutos, luego ir al terminal y la hora se actualiza en el terminal?