Ошибка заявки на FORTS (Market closed) - страница 5

 

Объединив два первых поста привожу небольшое резюме: 

В терминале MT5 существует известная проблема. Характер ее следующий.
При возобновлении торгов после открытия рынка или после клирингов, при отправке заявки роботом, в терминале MT5 в журнале появляется сообщение о том, что рынок закрыт.
Роботы, предназначенные  для терминала MT5 устроены следующим образом: при поступлении очередного тика с биржи робот запускается функция OnTick(),  анализирует текущую ситуацию и совершает либо не совершает определенных действий, предусмотренных алгоритмом.
Поступление тика говорит о том, что на бирже была совершена сделка, которая была транслирована клиенту.
В терминале MT5 есть такая проблема, что иногда тик приходит (то есть сделка совершается) до открытия рынка утром либо до открытия рынка после клиринга. Является ли это явление действительно заключаемыми сделками кем-то с кем-то до открытия рынка или это недоработки терминала MT5 сказать трудно.
В данном случае, в результате возникновения данной ситуации тик приходит до открытия рынка. Робот анализирует ситуацию и попытался совершить сделку. Но данная сделка отвергнута брокером, так как рынок еще не открылся.
Также возможен вариант, что рынок уже открыт, но в результате некорректной работы терминала MT5 сделка отвергается и выводится сообщение, что рынок закрыт. 
Причем, данная ошибка может возникать не на всех терминалах.

БД "Открытие" обещает исправить данную недоработку при следующем обновлении терминала MT5. Обещает уже около года. Результат пока равен нулю.

Хотелось бы у разработчиков терминала узнать в чем может быть причина данной ситуации. 

 
zhadaevs:

Объединив два первых поста привожу небольшое резюме: 

Вы забыли указать, что это ваша гипотеза, а не проверенное утверждение.

К сожалению, участники этой ветки не приводят детальных журналов, а объясняются на словах. Не протоколируют ни OnTick, ни цены в нем, ни точное время котировки, ни доказательство, что это OnTick по тому же торгуемому инструменту. Трейдерам, которые хотят совершить сделку по первому тику, такое несвойственно.

 

Такая проблема на ФОРТС действительно есть. Тоже недавно столкнулся.

Причина в том, что во время клиринга с 13:50 до 14:00 (время клиринга примерное, поскольку меняется) есть интервал времени, когда биржа разрешает снимать заявки. Так понимаю, что в МТ в этот момент генерится тик по изменению бида/аска.

Проклятое наследие форекса)) Но, рынок то в этот период действительно закрыт.

Есть еще такое подозрение, что в такой ситуации не возвращается ошибка исполнения приказа - это не проверял пока.

Все, что выше - ИМХО.

 
zhadaevs:

Объединив два первых поста привожу небольшое резюме: 

В терминале MT5 существует известная проблема. Характер ее следующий.
При возобновлении торгов после открытия рынка или после клирингов, при отправке заявки роботом, в терминале MT5 в журнале появляется сообщение о том, что рынок закрыт.
Роботы, предназначенные  для терминала MT5 устроены следующим образом: при поступлении очередного тика с биржи робот запускается функция OnTick(),  анализирует текущую ситуацию и совершает либо не совершает определенных действий, предусмотренных алгоритмом.
Поступление тика говорит о том, что на бирже была совершена сделка, которая была транслирована клиенту.
В терминале MT5 есть такая проблема, что иногда тик приходит (то есть сделка совершается) до открытия рынка утром либо до открытия рынка после клиринга. Является ли это явление действительно заключаемыми сделками кем-то с кем-то до открытия рынка или это недоработки терминала MT5 сказать трудно.
В данном случае, в результате возникновения данной ситуации тик приходит до открытия рынка. Робот анализирует ситуацию и попытался совершить сделку. Но данная сделка отвергнута брокером, так как рынок еще не открылся.
Также возможен вариант, что рынок уже открыт, но в результате некорректной работы терминала MT5 сделка отвергается и выводится сообщение, что рынок закрыт. 
Причем, данная ошибка может возникать не на всех терминалах.

БД "Открытие" обещает исправить данную недоработку при следующем обновлении терминала MT5. Обещает уже около года. Результат пока равен нулю.

Хотелось бы у разработчиков терминала узнать в чем может быть причина данной ситуации. 

К сожалению, предоставить доказательства, пока, невозможно.

Потому, что нужно взять время из пришедшей заявки в стакане, а функция

CopyTicks( _Symbol, my_tick, COPY_TICKS_INFO, 0, 1 )

 пока не работает (в стадии разработки), а по другому никак.

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

Т.е в момент, когда рынок действительно закрыт.

И только сравнив время пришедшей заявки можно предоставить доказательства! 

 
Mikalas:

К сожалению, предоставить доказательства, пока, невозможно.

Потому, что нужно взять время из пришедшей котировки, а функция

 пока не работает (в стадии разработки), а по другому никак.

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

Т.е в момент, когда рынок действительно закрыт.

И только сравнив время пришедшей котировки можно предоставить доказательства! 

Время последней котировки по инструменту можно получить с помощью SymbolinfoInteger( _Symbol, SYMBOL_TIME )
 
komposter:
Время последней котировки по инструменту можно получить с помощью SymbolinfoInteger( _Symbol, SYMBOL_TIME )

Извиняюсь, не правильно выразился :(  

Имеется ввиду не котировка (last), а время прихода заявок в стакан (Ask/Bid)

 

P/S Кстати, я (более года назад) сделал предложение в СД: 

Предложения, MetaTrader 5 MQL5, Открыта, Начата: 2013.10.21 16:34, #867679
Версия и битность терминала

5.0 build 842 64-bit Брокер "Открытие", реальный счёт

Описание проблемы

При работе на ФОРТС со стаканом цен возникает проблема с определением времени(стакан может меняться и вне торговой сессии).

Предлагаю добавить в структуру MqlBookInfo время последнего изменения стакана. 
 

Кстати говоря, время в MqlTick приходит с точностью до секунды. А этого явно не достаточно, чтобы различать отдельные тики.

Было бы неплохо добавить еще поле в структуру с мсек, хотя бы.

 
Dima_S:

Кстати говоря, время в MqlTick приходит с точностью до секунды. А этого явно не достаточно, чтобы различать отдельные тики.

Было бы неплохо добавить еще поле в структуру с мсек, хотя бы.

Напишите в СД, может Вам ответят быстрее, чем мне.

 

P/S К сожалению, нас очень мало (работающих на ФОРТС MT5)

А теперь вычтите из это количества тех, кто НЕ программирует.

Плюс какова техподдержка нашего брокера Вы знаете. 

Выводы очевидны. 

 

Пять лет прошло и воз и ныне там

Это опять Открывашка виновата?

2020.09.23 10:06:11.044 Trades  'ххххх': failed sell limit 2 YNDF-3.21 at 52529 [Market closed]
2020.09.23 10:06:11.087 Trades  'ххххх': failed sell limit 2 YNDF-3.21 at 52529 [Market closed]


2020.09.23 10:06:11.087 FCS_Trader (YNDF-3.21,M1)       StopTrading: Время сервера = 10:06:09; Статус ордера = SELL_ORDER; Билет = 0 OnTradeTransaction: Sell ордер не установлен! Причина:  Рынок закрыт
Причина обращения: