Invalid expiration, когда победим? - страница 2 123 Новый комментарий Mikhail Filimonov 2015.12.07 00:11 #11 Sergey Chalyshev: Не прокатит, надо форматировать дату как показывал по ссылке.Посмотрим. Mikhail Filimonov 2015.12.07 04:36 #12 Сейчас 6:25 проверил на демо Открывашки. Всё работает (и модифицируется и удаляется)Делаю так:request.type_time = ORDER_TIME_SPECIFIED_DAY; request.expiration = datetime( SymbolInfoInteger( a_symbol, SYMBOL_EXPIRATION_TIME ) ); Mikhail Filimonov 2015.12.07 08:16 #13 А на РЕАЛЕ модифицирует, но НЕ УДАЛЯЕТ, при этом терминал не сообщает об ошибке!Это НИКОГДА не закончится.... Единственный выход, перед клирингами удалять ордера. И ставить:request.type_time = ORDER_TIME_DAY; Mikhail Filimonov 2015.12.07 20:16 #14 Вот и ещё один пример с отложками:https://www.mql5.com/ru/forum/11297/page42#comment_2098038 Опыты с МетаТрейдер 5 в "Открытие" www.mql5.com Опыты с МетаТрейдер 5 в "Открытие". - Страница 42 - Категория: биржевой трейдинг Mikhail Filimonov 2015.12.08 05:58 #15 Интересно, можно ли посмотреть в Quik с каким временем выставлен ордер,т.е какое реальное время выставляет МТ5? Sergey Chalyshev 2015.12.08 13:09 #16 Вчера специально, после 19:00, поставил ордер, дату экспирации не ставил (по умолчанию ставит ORDER_TIME_DAY).Сегодня с утра, пытаюсь передвинуть ордер мышкой, ругается и ордер не модифицирует.При этом другой ордер где стоит дата экспирации подальше (ORDER_TIME_SPECIFIED_DAY) модифицируется нормально. Вопрос с экcпирацией на Бета-версия платформы MetaTrader 5 ФОРТС: не происходит модификация Mikhail Filimonov 2015.12.08 13:31 #17 Sergey Chalyshev: Вчера специально, после 19:00, поставил ордер, дату экспирации не ставил (по умолчанию ставит ORDER_TIME_DAY).Сегодня с утра, пытаюсь передвинуть ордер мышкой, ругается и ордер не модифицирует.При этом другой ордер где стоит дата экспирации подальше (ORDER_TIME_SPECIFIED_DAY) модифицируется нормально. Тогда, действительно лучше делать так, как ты говорил, но толькочтобы не терять время, брать и "обнулять" нужно при инициализацииэксперта.int OnInit() { exp_time = GetCutTime( aSymbol ); return( INIT_SUCCEEDED ); } //+------------------------------------------------------------------+ //| Expert Set expiration time function | //+------------------------------------------------------------------+ datetime GetCutTime( const string t_symbol ) { MqlDateTime b_time; datetime a_time = datetime( SymbolInfoInteger( t_symbol, SYMBOL_EXPIRATION_TIME ) ); TimeToStruct( a_time, b_time ); b_time.hour = 0; b_time.min = 0; b_time.sec = 0; return( StructToTime( b_time ) ); } //------------- request.type_time = ORDER_TIME_SPECIFIED_DAY; request.expiration = exp_time; Mikhail Filimonov 2015.12.08 19:19 #18 Я думаю, что разработчики не учитывают время, при выставлении ордера,а только дату: ORDER_TIME_DAYОрдер будет действовать только в течение текущего торгового дняORDER_TIME_SPECIFIED_DAYОрдер будет действовать до 23:59:59 указанного дня. Если это время не попадает на торговую сессию, истечение наступит в ближайшее торговое время.Когда мы указываем время отличное от 00:00:00 это приводит к ошибке :( Разработчики не считают это ошибкой, потому что день заканчивается в 23:59:59 Запрос MqlTradeRequest Советники: Return Strategy Советники: Four pending orders Sergey Chalyshev 2015.12.09 17:15 #19 Михаил: Я думаю, что разработчики не учитывают время, при выставлении ордера,а только дату: ORDER_TIME_DAYОрдер будет действовать только в течение текущего торгового дняORDER_TIME_SPECIFIED_DAYОрдер будет действовать до 23:59:59 указанного дня. Если это время не попадает на торговую сессию, истечение наступит в ближайшее торговое время.Когда мы указываем время отличное от 00:00:00 это приводит к ошибке :( Разработчики не считают это ошибкой, потому что день заканчивается в 23:59:59 Я бы сказал иначе: Разработчики не считают это ошибкой, потому что, на форекс время начала торговой сессии начинается в 00:00.И терминал не предназначен для торговли на бирже где время начала торговой сессии начинается в 19:00. Mikhail Filimonov 2015.12.09 20:40 #20 Сегодняшний прикол:2015.12.09 19:05:12.631 Trades 'ххххх': buy limit 2.00 Si-3.17 at 74312 2015.12.09 19:05:12.825 Forts_trader (Si-12.16,H1) OnTradeTransaction: Buy ордер отклонён! Причина: Нет кода возврата.; Билет = 24716452 123 Новый комментарий
Не прокатит, надо форматировать дату как показывал по ссылке.
Сейчас 6:25 проверил на демо Открывашки.
Всё работает (и модифицируется и удаляется)
Делаю так:
А на РЕАЛЕ модифицирует, но НЕ УДАЛЯЕТ, при этом терминал не сообщает об ошибке!
Это НИКОГДА не закончится....
Единственный выход, перед клирингами удалять ордера.
И ставить:
request.type_time = ORDER_TIME_DAY;Вот и ещё один пример с отложками:
https://www.mql5.com/ru/forum/11297/page42#comment_2098038
Интересно, можно ли посмотреть в Quik с каким временем выставлен ордер,
т.е какое реальное время выставляет МТ5?
Вчера специально, после 19:00, поставил ордер, дату экспирации не ставил (по умолчанию ставит ORDER_TIME_DAY).
Сегодня с утра, пытаюсь передвинуть ордер мышкой, ругается и ордер не модифицирует.
При этом другой ордер где стоит дата экспирации подальше (ORDER_TIME_SPECIFIED_DAY) модифицируется нормально.
Вчера специально, после 19:00, поставил ордер, дату экспирации не ставил (по умолчанию ставит ORDER_TIME_DAY).
Сегодня с утра, пытаюсь передвинуть ордер мышкой, ругается и ордер не модифицирует.
При этом другой ордер где стоит дата экспирации подальше (ORDER_TIME_SPECIFIED_DAY) модифицируется нормально.
Тогда, действительно лучше делать так, как ты говорил, но только
чтобы не терять время, брать и "обнулять" нужно при инициализации
эксперта.
Я думаю, что разработчики не учитывают время, при выставлении ордера,
а только дату:
ORDER_TIME_DAY
Ордер будет действовать только в течение текущего торгового дня
ORDER_TIME_SPECIFIED_DAY
Ордер будет действовать до 23:59:59 указанного дня. Если это время не попадает на торговую сессию, истечение наступит в ближайшее торговое время.
Когда мы указываем время отличное от 00:00:00 это приводит к ошибке :(
Разработчики не считают это ошибкой, потому что день заканчивается в 23:59:59
Я думаю, что разработчики не учитывают время, при выставлении ордера,
а только дату:
ORDER_TIME_DAY
Ордер будет действовать только в течение текущего торгового дня
ORDER_TIME_SPECIFIED_DAY
Ордер будет действовать до 23:59:59 указанного дня. Если это время не попадает на торговую сессию, истечение наступит в ближайшее торговое время.
Когда мы указываем время отличное от 00:00:00 это приводит к ошибке :(
Разработчики не считают это ошибкой, потому что день заканчивается в 23:59:59
Я бы сказал иначе:
Разработчики не считают это ошибкой, потому что, на форекс время начала торговой сессии начинается в 00:00.
И терминал не предназначен для торговли на бирже где время начала торговой сессии начинается в 19:00.
Сегодняшний прикол: