Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 668

 
Leo59:
Спасибо Виталий за искренние попытки помочь!!!!
Видимо, вопрос должен "отстояться". Возможно мне придётся поменять логику архитектуры кода. "Утро вечера мудреней"
Ещё раз ОГРОМНОЕ СПАСИБО !!!!

Попробуйте так, сейчас будет "0" - воскресенье

TimeDayOfWeek( TimeGMT() )
 
Leo59:
Артём, вопрос был о том, как программно определить выходной день не прибегая к TimeLocal(). ))

Видел, слышал, читал ;)

Но вы же сказали, что вам нужно сначала всё просчитать, а потом "в мир выпустить". И спросили как таймер для этого поможет - вот и предложил именно об этом вашем вопросе, а не об определении выходного дня.

 
Vitaly Muzichenko:

Попробуйте так, сейчас будет "0" - воскресенье

TimeDayOfWeek( TimeGMT() )

Точно!!! Возвращает "0". СПАСИБО!!!!

А я искал, что же мне может возвратить

Коды возврата торгового сервера


Код

Константа

Описание


132

ERR_MARKET_CLOSED

Рынок закрыт

 
Интересно, а что ещё, кроме OrderSend(),  возвращает ошибку 132 - рынок закрыт ?
 
Leo59:
Интересно, а что ещё, кроме OrderSend(),  возвращает ошибку 132 - рынок закрыт ?
ничего, только совершение торговой операции
 
Vitaly Muzichenko:
ничего, только совершение торговой операции
)) В принципе, этого вполне достаточно!!!!
СПАСИБО!!!!
 
Leo59:
)) В принципе, этого вполне достаточно!!!!
СПАСИБО!!!!
Посмотрите вот здесь, в конце ветки есть примитивное решение.
 
Vitaly Muzichenko:
Посмотрите вот здесь, в конце ветки есть примитивное решение.
Странно, по-моему разработчики что-то перемудрили. Чем отличаются функции, кроме Имени?


Позволяет получить время начала и время окончания  указанной котировочной сессии для указанных символа и дня недели.

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

Если данные для указанных сессии, символа и дня недели получены, то возвращает true, иначе возвращает false.

и

Позволяет получить время начала и время окончания  указанной торговой        сессии для указанных символа и дня недели.

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

Если данные для указанных сессии, символа и дня недели получены, то возвращает true, иначе возвращает false.

 
Leo59:
Странно, по-моему разработчики что-то перемудрили. Чем отличаются функции, кроме Имени?


Позволяет получить время начала и время окончания  указанной котировочной сессии для указанных символа и дня недели.

и

Позволяет получить время начала и время окончания  указанной торговой        сессии для указанных символа и дня недели.

Возможно и перемудрили если не разобраться) 

Есть инструменты, которые котируются в одно время, а вот торговать по ним можно только в определённое время, поэтому и есть две функции.

 

 

Ребята, осмелюсь спросить повторно, так как мой вопрос потерян среди сообщений

Есть вот такая конструкция, проходит по всем открытым графикам в терминале:

for(long currChart = ChartFirst(); currChart != -1; currChart=ChartNext(currChart)) {
 if(currChart == график тестера) continue; // Что сюда написать?
  ObjectSetInteger(currChart,"Sync",OBJPROP_BGCOLOR,clrGreen);
}

Как выяснить, что график не основной, а открытый в режиме тестера и его пропустить?

Спасибо!