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

 
Leo59:
¿Y cómo, en mi pregunta, se puede aplicar OnTimer()?

Bueno, no me corresponde a mí saber lo que va a contar antes de la apertura del mercado)

Por ejemplo, así:

// В Init ставим флаг connection=false;

void OnTimer() {
// Обрабатываем информацию независимо от работы рынка в функции DataProcessing
DataProcessing();

if(TimeCurrent()>starttime) { // если рынок работает
   connection=true; // ставим флаг в положение "true"
   ...             // или сразу обрабатываем весь остальной код, в основном - торгвый
  }
}

void DataProcessing() {
// что-то делаем по таймеру
}

if(connection==true) { // или здесь торговые операции и остальной код, чтоб не в таймере
  ...
}

 
Vitaly Muzichenko:

Bueno, no me corresponde a mí saber lo que va a contar antes de la apertura del mercado)


¡¡¡¡Gracias Vitaly por tus sinceros intentos de ayuda!!!!
Aparentemente, el asunto necesita "calmarse". Puede que tenga que cambiar la lógica de la arquitectura del código. "Siempre es mejor por la mañana".
¡¡¡¡Gracias un ENORME GRACIAS de nuevo !!!!
 
Leo59:
¡¡¡¡Gracias Vitaly por tus sinceros intentos de ayuda!!!!
Aparentemente, el asunto necesita "calmarse". Puede que tenga que cambiar la lógica de la arquitectura del código. "Siempre es mejor por la mañana".
¡¡¡¡MUCHAS GRACIAS de nuevo !!!!

Inténtelo de esta manera, ahora será "0" - Domingo

TimeDayOfWeekTimeGMT() )
 
Leo59:
Artyom, la pregunta se refería a cómo definir el día libre mediante programación sin recurrir a TimeLocal(). ))

Visto, oído, leído ;)

Pero ha dicho que primero hay que calcular todo y luego "salir al mundo". Y preguntaste cómo un temporizador podría ayudar con eso - así que eso es lo que tu pregunta sugirió, no sobre la definición de un día libre.

 
Vitaly Muzichenko:

Inténtelo de esta manera, ahora será "0" - Domingo

TimeDayOfWeekTimeGMT() )

¡¡¡Correcto!!! Devuelve "0". ¡¡¡¡GRACIAS!!!!

Y he estado buscando para ver qué puedo recuperar

Códigos de retorno del servidor de comercio


Código

Constante

Descripción


132

ERR_MARKET_CLOSED

El mercado está cerrado

 
Me pregunto qué más, aparte de OrderSend(), devuelve el error 132 - mercado cerrado?
 
Leo59:
Me pregunto qué otra cosa además de OrderSend() devuelve el error 132 - el mercado está cerrado?
nada, sólo hacer una operación de comercio
 
Vitaly Muzichenko:
nada, sólo hacer una transacción comercial
)) ¡¡¡¡En principio, es bastante!!!!
¡¡¡¡GRACIAS!!!!
 
Leo59:
)) ¡¡¡¡En principio, es bastante!!!!
¡¡¡¡GRACIAS!!!!
Mira aquí, hay una solución primitiva al final del hilo.
 
Vitaly Muzichenko:
Mira aquí, al final de la rama hay una solución primitiva.
Es extraño, los desarrolladores deben haber metido la pata en algo. ¿Cuál es la diferencia entre las funciones distintas del nombre?


Permite obtener la hora de inicio y la hora de finalización de la sesión de cotización especificada para el símbolo y el día de la semana especificados.

bool  SymbolInfoSessionQuote(
   string            name,                // имя символа
   ENUM_DAY_OF_WEEK  day_of_week,         // день недели
   uint              session_index,       // номер сессии
   datetime&         from,                // время начала сессии
   datetime&         to                   // время окончания сессии
   );

Si se reciben datos para la sesión, el símbolo y el día de la semana especificados, devuelve true, en caso contrario devuelve false.

и

Permite obtener la hora de inicio y fin de la sesión de negociación especificada para el símbolo y el día de la semana especificados.

bool  SymbolInfoSessionTrade(
   string            name,                // имя символа
   ENUM_DAY_OF_WEEK  day_of_week,         // день недели
   uint              session_index,       // номер сессии
   datetime&         from,                // время начала сессии
   datetime&         to                   // время окончания сессии
   );

Si se reciben los datos de la sesión, el símbolo y el día de la semana especificados, devuelve true, en caso contrario devuelve false.

Razón de la queja: