У меня проблема с пониманием того, открыт рынок или закрыт.
Я видел и другие темы, где говорят, что можно проверить дни недели.
А как насчет других праздников?
В последнее время рынок не открывался в пятницу из-за Страстной пятницы. Подобные вещи случаются и в другие дни недели. Это время, когда рынок закрыт. Я вижу это на вкладке «Журнал» МТ5, но не знаю, как отловить это в проблеме.
Пожалуйста, дайте мне знать, что я могу сделать?
https://www.mql5.com/ru/docs/constants/errorswarnings/enum_trade_return_codes
10018 | TRADE_RETCODE_MARKET_CLOSED | Рынок закрыт |

- www.mql5.com
https://www.mql5.com/ru/docs/constants/errorswarnings/enum_trade_return_codes
10018 | TRADE_RETCODE_MARKET_CLOSED | Рынок закрыт |
Это после попытки отправки ордера. А как узнать до?
Тем более, как узнать, что рынок открылся после стоп-торгов, не бомбардируя ордерами.
У меня проблема с пониманием того, открыт рынок или закрыт.
Я видел и другие темы, где говорят, что можно проверить дни недели.
А как насчет других праздников?
В последнее время рынок не открывался в пятницу из-за Страстной пятницы. Подобные вещи случаются и в другие дни недели. Это время, когда рынок закрыт. Я вижу это на вкладке «Журнал» МТ5, но не знаю, как отловить это в проблеме.
Пожалуйста, дайте мне знать, что я могу сделать?
Это после попытки отправки ордера. А как узнать до?
Тем более, как узнать, что рынок открылся после стоп-торгов, не бомбардируя ордерами.
"Рекомендуется самостоятельно проверить запрос перед отправкой его торговому серверу. Для проверки запроса существует функция OrderCheck(), которая не только проверит достаточность средств для совершения торговой операции, но и вернетв результатах проверки торгового запроса многие другие полезные параметры:..."
если рынок закрыт то индикаторы/эксперты не получают тиков, и срабатывать у Вас может OnTimer, там и решите по каким правилам проверять. при первом получении - рынок закрыт, к примеру, выставьте следующую проверку через 12 часов.

- www.mql5.com
"Рекомендуется самостоятельно проверить запрос перед отправкой его торговому серверу. Для проверки запроса существует функция OrderCheck(), которая не только проверит достаточность средств для совершения торговой операции, но и вернетв результатах проверки торгового запроса многие другие полезные параметры:..."
если рынок закрыт то индикаторы/эксперты не получают тиков, и срабатывать у Вас может OnTimer, там и решите по каким правилам проверять. при первом получении - рынок закрыт, к примеру, выставьте следующую проверку через 12 часов.
Не знаю, как сейчас, а в старых версиях МТ были большие претензии к функции OrderCheck(), когда ордер не проходил проверку, но при этом успешно отправлялся.
Я про рынок ФОРТС, когда после планки торги приостанавливаются на несколько минут. Как узнать, что торги возобновлены? 12 часов, и даже 12 минут - не вариант.
Также, открытие торгов после клиринга может происходить в разное время.
Тики могут приходить не только в результате сделок или выставления ордеров, но и в результате снятия ордеров, что может происходить и во время клиринга.
Тики могут приходить не только в результате сделок или выставления ордеров, но и в результате снятия ордеров, что может происходить и во время клиринга.
Что-то новое, что тики приходят без сделок!!!
Давайте шаг за шагом!
Для того чтобы что-то узнать в терминале или от сервера - нужно спросить! Так? ТАК!
У Вас два варианта:
1. Считать рынок всегда открытым пока нет ошибки - 10018, а если есть то как то на неё отреагировать по дополнительному условию (по планке фортс наверное нужен анализ стакана и/или нестандартного времени)
2. Считать рынок всегда закрытым, и менять этот условие когда выполнится пакет выбранных Вами условий.
Выбор вопросов/запросов к терминалу/серверу за Вами)
Что-то новое, что тики приходят без сделок!!!
Давайте шаг за шагом!
Для того чтобы что-то узнать в терминале или от сервера - нужно спросить! Так? ТАК!
У Вас два варианта:
1. Считать рынок всегда открытым пока нет ошибки - 10018, а если есть то как то на неё отреагировать по дополнительному условию (по планке фортс наверное нужен анализ стакана и/или нестандартного времени)
2. Считать рынок всегда закрытым, и менять этот условие когда выполнится пакет выбранных Вами условий.
Выбор вопросов/запросов к терминалу/серверу за Вами)
Снятие ордеров в стакане вполне может менять цены bid/ask без сделок.
TICK_FLAG_BID – тик изменил цену бид
TICK_FLAG_ASK – тик изменил цену аск
TICK_FLAG_LAST – тик изменил цену последней сделки
TICK_FLAG_VOLUME – тик изменил объем
TICK_FLAG_BUY – тик возник в результате сделки на покупку
TICK_FLAG_SELL – тик возник в результате сделки на продажу
Хотелось именно запросить (что-то типа TerminalInfoInteger()), а не отправлять ордер. Особенно для тестовой торговли с имитацией сделок, где может вообще не компилироваться логика отправки ордеров.
Но, видимо, придётся, нарвавшись на ошибку 10018 (а всегда ли будет отдаваться именно она? а не, например, 10013 - видел такое) у себя ставить флаг "рынок закрыт", и пусть эксперты долбят OrderCheck(), пока она не вернёт что-то отличное от 10018, если OrderCheck() вообще способна это корректно отрабатывать.
Снятие ордеров в стакане вполне может менять цены bid/ask без сделок.
TICK_FLAG_BID – тик изменил цену бид
TICK_FLAG_ASK – тик изменил цену аск
TICK_FLAG_LAST – тик изменил цену последней сделки
TICK_FLAG_VOLUME – тик изменил объем
TICK_FLAG_BUY – тик возник в результате сделки на покупку
TICK_FLAG_SELL – тик возник в результате сделки на продажу
Хотелось именно запросить (что-то типа TerminalInfoInteger()), а не отправлять ордер. Особенно для тестовой торговли с имитацией сделок, где может вообще не компилироваться логика отправки ордеров.
Но, видимо, придётся, нарвавшись на ошибку 10018 (а всегда ли будет отдаваться именно она? а не, например, 10013 - видел такое) у себя ставить флаг "рынок закрыт", и пусть эксперты долбят OrderCheck(), пока она не вернёт что-то отличное от 10018, если OrderCheck() вообще способна это корректно отрабатывать.
Снятие ближайших к рынку ордеров, вероятно. В стакане давно не бывал) Но!
Вы опять всё(все ситуации/условия) собрали в кучу. Решайте задачу поэтапно. Это конечно мой субъективный взгляд.
На мой взгляд Вы сами подсказали себе решение!
Анализируйте Флаги текущего Тика:
первые два считаем, что сняли ближайшие заявки
TICK_FLAG_BID – тик изменил цену бид
TICK_FLAG_ASK – тик изменил цену аск
и закрываем для себя рынок,
оставшиеся четыре - рынок открыт.(выбор за Вами)
Тик полюбому нужно запрашивать для заявки/ордера, а дальше уже получите отлуп по OrderSend() если рынок закроется и т.п. на Вашем тике)
А тестовая/имитационная торговля вообще одна вольная математика над полученными данными, и в ней лучше у себя(у теста) больше отнимать, чем себя дурить плюсами.
иногда надо читать почту
Платформы MetaTrader 4 / MetaTrader 5 Расписание торгов по CFD на US индексы (US30Cash, US500Cash, USTECHCash) и японский индекс JP225Cash 02.04.2021 - торговля закрыта с 16:00 по серверному времени. 05.04.2021 - возобновление торговли по обычному графику. Расписание торгов по CFD на немецкий индекс DE30Cash 02.04.2021 - торговля закрыта. 05.04.2021 - торговля закрыта. 06.04.2021 - возобновление торговли по обычному графику. Расписание торгов по Металлам (XAUUSD, XAGUSD) и CFD на нефть (Brent, WTI) 02.04.2021 - торговля закрыта. 05.04.2021 - возобновление торговли по обычному графику. Расписание торгов по CFD на US акции 02.04.2021 - торговля закрыта. 05.04.2021 - возобновление торговли по обычному графику. Расписание торгов по Российским GDR 02.04.2021 - торговля закрыта. 05.04.2021 - торговля закрыта. 06.04.2021 - возобновление торговли по обычному графику.
Mikhail Mishanin:
Анализируйте Флаги текущего Тика:
первые два считаем, что сняли ближайшие заявки
TICK_FLAG_BID – тик изменил цену бид
TICK_FLAG_ASK – тик изменил цену аск
и закрываем для себя рынок,
оставшиеся четыре - рынок открыт.(выбор за Вами)
Тик полюбому нужно запрашивать для заявки/ордера, а дальше уже получите отлуп по OrderSend() если рынок закроется и т.п. на Вашем тике)
А тестовая/имитационная торговля вообще одна вольная математика над полученными данными, и в ней лучше у себя(у теста) больше отнимать, чем себя дурить плюсами.
Могли не снять, а поставить. И тоже без сделки.
Да и тик получать не обязательно, если получаешь стакан.
И основная задача - не "узнать, что рынок закрыт", а "как можно быстрее узнать, что рынок открылся", без долбёжки ордерами.
Тестовая - это не прогон на истории, а имитация торговли в реальном времени, на реальном графике и стакане. И тут, для точности тестирования, надо учитывать периоды закрытой торговли.
Кстати, тестирование корректности работы в условиях "планки" само по себе непростая задача, ибо сложно обеспечить эти условия.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
У меня проблема с пониманием того, открыт рынок или закрыт.
Я видел и другие темы, где говорят, что можно проверить дни недели.
А как насчет других праздников?
В последнее время рынок не открывался в пятницу из-за Страстной пятницы. Подобные вещи случаются и в другие дни недели. Это время, когда рынок закрыт. Я вижу это на вкладке «Журнал» МТ5, но не знаю, как отловить это в проблеме.
Пожалуйста, дайте мне знать, что я могу сделать?