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

[Удален]  
По разным причинам ДЦ запрещают-разрешают автоторговлю. Хочу сделать скрипт, уведомляющий об изменении данного флага.
 
Поиск по форуму рулит, тема обсуждалась. Узнать можно только нарвавшись на ошибку.
[Удален]  
Пожалуйста, ссылку поиска подобной темы? Без торговых запросов возможно реализовать?
 
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 - позвонить по телефону в дц.
[Deleted]  
Господа, спешу поделиться вариантом запрещения торговли на уровне терминала, на который я сегодня наступил. Сервер - Альпри Микро. Вчера вечером проверял расчет лота по марже с рублевого счета. Простой код, типа запросить свободную маржу, рассчитать лот, вывести Принт. И, чтоб не циклилось, тригер-состояние, если запрос был выполнен - отключаем дальнейшие перезапросы. И как-то по невнимательности задал тригеру неверное значение, советник вошел в цикл и несколько минут принтил лот (запрашивал маржу). Все ничего, вроде никто ни на кого не обиделся. Вырубил этого советника, поставил основного торговать. В основном принты поубивал, чоб в лог не мусорило. Сегодня с утра проверяю - а он не торгует. Поправил код, добавил принты... А он даже Print первой строчкой функции start не выполняет! И надо же какое дело - в упор забыл, что вчера еще какого-то экспрта запускал. Сижу, как баран, ищу ошибку в коде или в настройке терминала... Не торгует и все тут. Перелогинюсь на демо счет, запускаю ссоветника - а вот они все принты, на месте. Все тикает, советник думает, проверяет чо-то. Я вообще в ужасе - неужели халявы не будет и на микро советников вырубает?... Затем, собравшись, вспомнил про вчерашнюю ДОС-атаку, перезапустил МТ4, вошел на микро, включил советника - часики затикали. Смысл написаного в том, что, похоже, есть выключение советника на уровне терминала, причем если оно сработало, то советник _вообще_ не выполняется. И чихал он на настройки терминала, чихал он так же и на собственную ехидную улыбку на экране. Никаких ошибок, советник загружается, пишет с какими параметрами его загрузили, пишет, если праметры меняются, но ни единой функции не выполняет. Пере-логон - и все опять в норме. И где найти условия введения терминала в такое ступорное состояние?! Очень боязно поймать сей глюк при открытой долитой позицией, которая по условию должна закрыться трейлинг-стопом...