Análogo de TimeTradeServer para MT4 - página 8

 
Alexandr Gavrilin:

Bueno, en una moneda funciona en un día de negociación, ¿funcionará en un día no comercial?

Si se toma como trabajo algo que en principio no puede funcionar, entonces da igual que funcione en un día de negociación o en un fin de semana))

 
Алексей Тарабанов:

Bueno, los hombres sois unos dadores.

Algunos hombres y otros dan))

 
Alexandr Gavrilin:

La idea podría ayudar sin duda, me gustaría saber sobre los cierres de mercado sin demasiados errores. Tenemos que pensar en ello.

Es una batalla por un error, con docenas de errores al día en la copia.

 

¿Por qué exactamente -3? ¿Porque en un lugar resulta ser una coincidencia? ¿Sí?

 
Dmitry Fedoseev:

¿Por qué exactamente -3? ¿Porque en un lugar resulta ser una coincidencia? ¿Sí?

Si no recuerdo mal, los símbolos forex cotizan exactamente hasta la medianoche del viernes al sábado GMT+3 en verano (+2 en invierno).

 
Alexandr Gavrilin:

Vale, voy a hacer una pregunta tonta.

¿Cómo sé que es sábado en el servidor del corredor? No el viernes ni el domingo, sino el sábado. Intento utilizar todos los instrumentos disponibles y diferentes muletas como "compremos el tiempo y comparémoslo después" - el tiempo no marca cuando es sábado en el servidor del broker. Sin embargo, el domingo el mercado puede abrir más temprano y ninguna configuración de la sesión de negociación en el corredor le ayudará a determinar esto porque el tiempo no está marcando.


Si tiene una solución sensata será interesante.

La hora del corredor no siempre coincide con la hora gmt :-)

Ahora estás pensando de forma demasiado estrecha, no todo el mundo tiene oro para estar atado a su hora y conocer el gmt por ejemplo como sugeriste. Necesita una solución más universal.

Si necesita saber cuándo - entonces tome cualquier cosa de TimeLocal().

Si necesita saber que el mercado está cerrado, entonces ---

if(IsTradeAllowed(Symbol(),TimeCurrent()+10)==false)Print("Рынок закрыт!");

Puede utilizar ambos en OnTimer().

---

Exactamente el sábado no te ayudará porque, por ejemplo, el rublo no se negocia durante la noche, pero el bitcoin se negocia hoy también.

Por lo tanto, en lugar de Symbol(), sustituya el par que se negocia, en el caso de la multidivisa.

No intente calcular el inicio/fin de la negociación, es inútil

No intente calcular la hora de inicio/fin de las operaciones, es inútil porque a veces hay cambios temporales en el horario de las operaciones y funciona de forma diferente en las distintas empresas de corretaje.

----

Aunque...

Como quieras:

TimeDayOfWeek(TimeLocal())==6 es sábado

;)

 
Renat Akhtyamov:

Si necesitas saber cuándo - toma cualquier cosa de TimeLocal().

Si necesitamos saber si el mercado está cerrado, entonces:

if(IsTradeAllowed(Symbol(),TimeCurrent()+10)==false)Print("Рынок закрыт!");

Poner ambos en OnTimer().

---

Exactamente el sábado no le servirá, porque, por ejemplo, el rublo no se negocia por la noche, pero el bitcoin se negocia hoy.

Por lo tanto, en lugar de Symbol(), sustituya el par que se negocia, en el caso de la multidivisa.

No intente calcular el inicio/fin de la negociación, es inútil

Hay cambios temporales en los horarios de las operaciones y no es la forma en que se establece en su empresa de corretaje.

----

Aunque...

Como quieras:

TimeDayOfWeek(TimeLocal())==6 es sábado

;)

TimeDayOfWeek(TimeLocal())==6 es sábado.

Sí, y también el viernes en el corredor ... y aquí vamos.

Todas estas soluciones no son adecuadas para los redactores de textos publicitarios, los arbitrajistas.

 
Alexandr Gavrilin:

debe comprobar la función el sábado y el domingo. No fallará en días laborables.

¿Lo has comprobado?

 
fxsaber:

¿Lo has comprobado?

Me olvidé de comprobarlo.