Скачать MetaTrader 5

Вопрос с экcпирацией на ФОРТС

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Vladimir Karputov
Модератор
80854
Vladimir Karputov  
В эту тему были перенесены комментарии, не относящиеся к "Не удаётся выставить экспирацию ордера.".
Vasiliy Pushkaryov
5823
Vasiliy Pushkaryov  

Опять вопросы с экcпирацией на ФОРТС.

Выставляю лимитный ордер. До конца дня он модифицируется нормально. На следующий день при модификации выдает ошибку экспирации. На запрос свойств ордера выдает ORDER_TIME_DAY (Ордер будет действовать только в течение текущего торгового дня).

А терминал или сервер не удаляет отложенники, когда их срок действия истек? Т.е. нужно на следующий день самому проверить дату экспирации и удалить старый ордер, а потом поставить новый?



Sergey Chalyshev
5657
Sergey Chalyshev  
Vasiliy Pushkaryov:

Опять вопросы с экcпирацией на ФОРТС.

Выставляю лимитный ордер. До конца дня он модифицируется нормально. На следующий день при модификации выдает ошибку экспирации. На запрос свойств ордера выдает ORDER_TIME_DAY (Ордер будет действовать только в течение текущего торгового дня).

А терминал или сервер не удаляет отложенники, когда их срок действия истек? Т.е. нужно на следующий день самому проверить дату экспирации и удалить старый ордер, а потом поставить новый?




На нашей бирже ММВБ, день заканчиваетя в 18-50, с 19-00 уже другой день. Т.е. новые сутки начинаются с 19-00. А у Метатрейдера, как и у всех нормальных людей, новый день(сутки) начинается с 00 часов. Поэтому такие нестыковки.

Vasiliy Pushkaryov
5823
Vasiliy Pushkaryov  
Sergey Chalyshev:

На нашей бирже ММВБ, день заканчиваетя в 18-50, с 19-00 уже другой день. Т.е. новые сутки начинаются с 19-00. А у Метатрейдера, как и у всех нормальных людей, новый день(сутки) начинается с 00 часов. Поэтому такие нестыковки.


Просто интересует что подразумевается под фразой "Ордер будет действовать только в течение текущего торгового дня".

Я думал, что если срок ордера истек, то его система должна удалить. Но теперь вижу, что это не так, ордер остается в списке отложенных ордеров и на следующий день. Получается его только можно удалить самому, а модифицировать уже нельзя. А что будет если его цена проколет? Просто игнорирование? Это только на Московской Бирже просроченные ордера остаются? Или вообще так отложенные просроченные ордера и должны отрабатывать?

В тестере работало все без остановок, без ошибок. На реале долго проверять путем проб и ошибок, может кто сталкивался или где прочесть можно?

Sergey Chalyshev
5657
Sergey Chalyshev  
Vasiliy Pushkaryov:

Просто интересует что подразумевается под фразой "Ордер будет действовать только в течение текущего торгового дня".

Я думал, что если срок ордера истек, то его система должна удалить. Но теперь вижу, что это не так, ордер остается в списке отложенных ордеров и на следующий день. Получается его только можно удалить самому, а модифицировать уже нельзя. А что будет если его цена проколет? Просто игнорирование? Это только на Московской Бирже просроченные ордера остаются? Или вообще так отложенные просроченные ордера и должны отрабатывать?

В тестере работало все без остановок, без ошибок. На реале долго проверять путем проб и ошибок, может кто сталкивался или где прочесть можно?


Прочесть негде, с МТ5 только методом проб и ошибок.

Отложенные ордера удаляются в 19-00. После 19-00 новые сутки.

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

Тестер на ММВБ бесполезен. Только реал шишки набивать.

Vasiliy Pushkaryov
5823
Vasiliy Pushkaryov  

Сейчас увидел, что удалился только сегодня. Все равно неясно. Время экспирации вчерашнее ведь стояло.

int tt = 71677199;

void OnStart()
{
  Print("politic=", ENUM_SYMBOL_TRADE_EXECUTION(SymbolInfoInteger(_Symbol, SYMBOL_TRADE_EXEMODE)));

  if(!HistoryOrderSelect(tt)) {Print("Ордер не выбран №", tt); return;}

  Print(" Время постановки = ",  (datetime)HistoryOrderGetInteger(tt, ORDER_TIME_SETUP));
  Print(" время жизни = ", EnumToString((ENUM_ORDER_TYPE_TIME)HistoryOrderGetInteger(tt, ORDER_TYPE_TIME)));
  Print(" время экспирации = ",  (datetime)HistoryOrderGetInteger(tt, ORDER_TIME_EXPIRATION));
  Print(" время исполнения/снятия = ",  (datetime)HistoryOrderGetInteger(tt, ORDER_TIME_DONE));
}

Вот такой результат


Sergey Chalyshev
5657
Sergey Chalyshev  
Vasiliy Pushkaryov:

Сейчас увидел, что удалился только сегодня. Все равно неясно. Время экспирации вчерашнее ведь стояло.

Вот такой результат



Еще раз, на фортсе новый день начинается в 19-00 по москве.

Aleksey Vyazmikin
10036
Aleksey Vyazmikin  
Sergey Chalyshev:

Еще раз, на фортсе новый день начинается в 19-00 по москве.


Тогда как объяснить, что открытая отложка на вечерке уже не модифицируется после 10 следующего дня?

Vasiliy Pushkaryov
5823
Vasiliy Pushkaryov  
Sergey Chalyshev:

Еще раз, на фортсе новый день начинается в 19-00 по москве.

Сейчас глянул на их сайте, внизу есть приписочка, что в 19:05 начинается, но вечерняя сессия, а не новый торговый день.

Можно понимать и так, что вечерняя сессия закончится в 23:50. Или нет?


Sergey Chalyshev
5657
Sergey Chalyshev  
Aleksey Vyazmikin:

Тогда как объяснить, что открытая отложка на вечерке уже не модифицируется после 10 следующего дня?


Биржа считает что продолжается торговая сессия начатая вчера в 19-00 и в ордере дата установки вчерашняя.

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

Sergey Chalyshev
5657
Sergey Chalyshev  
Vasiliy Pushkaryov:

Сейчас глянул на их сайте, внизу есть приписочка, что в 19:05 начинается, но вечерняя сессия, а не новый торговый день.

Можно понимать и так, что вечерняя сессия закончится в 23:50. Или нет?



Здесь есть функция, возможно будет полезной.

12
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий