Как без торговых запросов узнать запрет автоторговли со стороны ДЦ?

 
По разным причинам ДЦ запрещают-разрешают автоторговлю. Хочу сделать скрипт, уведомляющий об изменении данного флага.
 
Поиск по форуму рулит, тема обсуждалась. Узнать можно только нарвавшись на ошибку.
 
Пожалуйста, ссылку поиска подобной темы? Без торговых запросов возможно реализовать?
 
getch:
Пожалуйста, ссылку поиска подобной темы? Без торговых запросов возможно реализовать?
Пожалуйста ;)
 
komposter:
getch:
Пожалуйста, ссылку поиска подобной темы? Без торговых запросов возможно реализовать?
Пожалуйста ;)
if (isTradesAllowed()) {
   Print("Торговля разрешена");
} else {
  Print("Торговля запрещена");
}
 
Это первое, что пришло в голову. Но, к сожалению, не работает. Проверял.
 
MarketInfo( SYMB, MODE_TRADEALLOWED  );
Насколько я понимаю, работоспособность этой конструкции зависит от брокера, именно от того, нажал он кнопку или нет. Поэтому у некоторых брокеров работает, а у других нет.
 
getch, почитай 'Как определить что ДЦ вырубает работу советника?', особенно посты Renat'a.
 

Цитата:

Meat 26.10.2007 00:27
Renat писал (а):
...достаточно вызвать
IsTradeAllowed(), чтобы понять - есть право торговать из эксперта или нет. Без исключений.


Вот тут Вы не правы. Что касается запрета экспертов брокером, то это никакой функцией не проверишь! Я по своему опыту говорю.
IsTradeAllowed говорит true, но ордер не отсылается, и, как я уже писал выше, возвращается ошибка 133, а в журнал выдаётся "trading by experts is prohibited".
Вот хорошо если бы вы ввели какую-нибудь специальную функцию для проверки запрета торговли брокером. А то приходится делать проверку на ошибку 133 уже после проведённой попытки торговой операции
Уважаемые разработчики, прошу вас ответить на вопрос в названии темы:
Как без торговых запросов узнать запрет автоторговли со стороны ДЦ?
 
getch:

Как без торговых запросов узнать запрет автоторговли со стороны ДЦ?


2 варианта: 1 - написать email в дц, 2 - позвонить по телефону в дц.
 
Господа, спешу поделиться вариантом запрещения торговли на уровне терминала, на который я сегодня наступил. Сервер - Альпри Микро. Вчера вечером проверял расчет лота по марже с рублевого счета. Простой код, типа запросить свободную маржу, рассчитать лот, вывести Принт. И, чтоб не циклилось, тригер-состояние, если запрос был выполнен - отключаем дальнейшие перезапросы. И как-то по невнимательности задал тригеру неверное значение, советник вошел в цикл и несколько минут принтил лот (запрашивал маржу). Все ничего, вроде никто ни на кого не обиделся. Вырубил этого советника, поставил основного торговать. В основном принты поубивал, чоб в лог не мусорило. Сегодня с утра проверяю - а он не торгует. Поправил код, добавил принты... А он даже Print первой строчкой функции start не выполняет! И надо же какое дело - в упор забыл, что вчера еще какого-то экспрта запускал. Сижу, как баран, ищу ошибку в коде или в настройке терминала... Не торгует и все тут. Перелогинюсь на демо счет, запускаю ссоветника - а вот они все принты, на месте. Все тикает, советник думает, проверяет чо-то. Я вообще в ужасе - неужели халявы не будет и на микро советников вырубает?... Затем, собравшись, вспомнил про вчерашнюю ДОС-атаку, перезапустил МТ4, вошел на микро, включил советника - часики затикали. Смысл написаного в том, что, похоже, есть выключение советника на уровне терминала, причем если оно сработало, то советник _вообще_ не выполняется. И чихал он на настройки терминала, чихал он так же и на собственную ехидную улыбку на экране. Никаких ошибок, советник загружается, пишет с какими параметрами его загрузили, пишет, если праметры меняются, но ни единой функции не выполняет. Пере-логон - и все опять в норме. И где найти условия введения терминала в такое ступорное состояние?! Очень боязно поймать сей глюк при открытой долитой позицией, которая по условию должна закрыться трейлинг-стопом...
Причина обращения: