Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Опубликуй торговый сигнал. Получи доступ к миллионам трейдеров!
Igor Kim
2740
Igor Kim 2008.03.21 08:31 

Ситуация.

Торговля фьючерсами. Торговля не круглосуточная. Есть ночные перерывы в торговле. Торговый сервер ДЦ в это время возвращает ошибку 133 (trade is disabled (торговля запрещена)). Если следовать рекомендациям разработчиков МТ4, то при такой ошибке нужно прекратить все попытки торговых операций, т.е. блокировать работу советника. Но если его блокировать, то как же он сможет торговать, когда торговля будет разрешена?

Вопрос.

Почему при ночных паузах в торговле ДЦ не применяют ошибку 132 (Рынок закрыт)? Это ошибка торгового сервера или ДЦ могут по своему усмотрению применять ошибку либо 132 (рынок закрыт), либо 133 (торговля запрещена)? Если так, то не следует ли тогда исправить рекомендации, чтобы ошибки 132 и 133 разработчики советников обрабатывали одинаково?

Sceptic Philozoff
Модератор
17846
Sceptic Philozoff 2008.03.21 09:43  

<Глупость удалена мной>

Игорь, а IsTradeAllowed() тут не помогает? Вроде как не торговый запрос...

Alexey Navoykov
3979
Alexey Navoykov 2008.03.21 15:42  
KimIV:

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

Ну можно ведь посылать например каждую минуту "левый" торговый запрос на сервер (например ордер по нулевой цене). Если возвратится ошибка, отличная от 133 (в данном случае вернётся 129), то значит торговля не запрещена. Этот же способ используется и для диагностики запрета торговли советниками.

Я думаю такой подход не будет особо перегружать сервер. В конце концов можно согласовать с ДЦ допустимую частоту таких запросов. Ведь другого решения у нас нет.

А вообще конечно ДЦ должен отключать торговлю в свойствах инструмента, чтобы MarketInfo(Symbol(),MODE_TRADEALLOWED) выдавало 0. Тогда и проблем никаких не будет

Ihor Herasko
8896
Ihor Herasko 2008.03.21 17:13  
Не совсем понял. Какой смысл пытаться торговать, если тики не поступают? Советник так точно будет бездействовать. Только зацикленный скрипт. Но опять же - какой смысл скрипту осуществлять торговые операции, если цена не изменилась?
Igor Kim
2740
Igor Kim 2008.06.23 15:59  
Mathemat писал (а) >>
Игорь, а IsTradeAllowed() тут не помогает? Вроде как не торговый запрос...

Нет, не помогает. IsTradeAllowed() проверяет вот эту галочку

и незанятость торгового потока.

Rider
740
Rider 2008.10.16 12:22  
KimIV >>:

Ситуация.

Торговля фьючерсами. Торговля не круглосуточная. Есть ночные перерывы в торговле. Торговый сервер ДЦ в это время возвращает ошибку 133 (trade is disabled (торговля запрещена)). Если следовать рекомендациям разработчиков МТ4, то при такой ошибке нужно прекратить все попытки торговых операций, т.е. блокировать работу советника. Но если его блокировать, то как же он сможет торговать, когда торговля будет разрешена?

Вопрос.

Почему при ночных паузах в торговле ДЦ не применяют ошибку 132 (Рынок закрыт)? Это ошибка торгового сервера или ДЦ могут по своему усмотрению применять ошибку либо 132 (рынок закрыт), либо 133 (торговля запрещена)? Если так, то не следует ли тогда исправить рекомендации, чтобы ошибки 132 и 133 разработчики советников обрабатывали одинаково?

To KimIV . Ситуация сходная, только на круглосуточном форексе. Специально поставил на малый таймфрейм (M15) полтора десятка советников, чтобы частоту сделок повысить и ошибки доступа отловить, паузы и т.д..

Все прекрасно безошибочно работало в течение около 8 часов, и потом вдруг поперло:


2008.10.16 17:24:31 '1150888': instant order sell 0.10 EURGBP at 0.7796 sl: 0.8081 tp: 0.0000
2008.10.16 17:24:27 '1150888': order was opened : #31320164 sell 0.10 EURGBP at 0.7795 sl: 0.8067 tp: 0.0000
2008.10.16 17:24:27 '1150888': request in process
2008.10.16 17:24:23 '1150888': request was accepted by server
2008.10.16 17:24:20 '1150888': instant order sell 0.10 EURGBP at 0.7795 sl: 0.8067 tp: 0.0000
2008.10.16 17:24:10 '1150888': requote 0.7794 / 0.7796 for open sell 0.10 EURGBP at 0.7796 sl: 0.8081 tp: 0.0000
2008.10.16 17:24:09 '1150888': request was accepted by server
2008.10.16 17:24:08 '1150888': instant order sell 0.10 EURGBP at 0.7796 sl: 0.8081 tp: 0.0000
2008.10.16 17:23:58 '1150888': order sell 0.10 EURGBP opening at 0.7795 sl: 0.8067 tp: 0.0000 failed [Trade is disabled]
2008.10.16 17:23:57 '1150888': instant order sell 0.10 EURGBP at 0.7795 sl: 0.8067 tp: 0.0000
2008.10.16 17:23:48 '1150888': order sell 0.10 EURGBP opening at 0.7796 sl: 0.8068 tp: 0.0000 failed [Trade is disabled]

........

с 17.15

потом вдруг внезапно успокоилось. Чтобы это значило, не подскажете? Может разобрались уже.
Igor Kim
2740
Igor Kim 2008.10.16 14:58  
rider писал(а) >>
To KimIV .
Может разобрались уже.

не, вопрос остался открытым...

Rider
740
Rider 2008.10.16 16:27  
KimIV >>:

не, вопрос остался открытым...

В, принципе, ничего страшного не присходит.... если в журнал не смотреть :).... остальные (по другим инструментам) ордера уже исполнились, да и пауза соблюдена. Единственное, что не исполнено, так это рекомендация разработчиков терминала..... но они же не брокер.

А, из опыта, на реале, - брокер как к этому отнесется?
Я у "этого" недавно, в техподдержку вопрос забросил, молчат пока.

Helex
1468
Helex 2008.10.16 16:35  

Sleep поставить эдак на пять минут при 133 ошибке

Igor Kim
2740
Igor Kim 2008.10.16 16:44  
rider писал(а) >>
А, из опыта, на реале, - брокер как к этому отнесется?
На реале у меня не было таких ошибок. В основном реквоты (138) и занятость торгового потока (146). Изредка таймауты (128).
Rider
740
Rider 2008.10.16 17:18  
Helex >>:

Sleep поставить эдак на пять минут при 133 ошибке

Sleep не вопрос.... вопрос во времени  открытия и в причинах такого поведения на спокойном рынке.

KimIV >>:
На реале у меня не было таких ошибок. В основном реквоты (138) и занятость торгового потока (146). Изредка таймауты (128).

146 и 128 я благополучно, благодаря статьям Komposter'a, отфильтровал....попробуйте. Простите за совет Дилетанта Мастеру :)

А вот с реквотами, видимо, бороться бесполезно, они есть всегда...... они не могут не Есть.

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