IsTradeAllowed() = true, OrderSend() Error=133

 
Что-то не могу понять. Почему функция IsTradeAllowed() выдает TRUE, а OrderSend() выдает ошибку 133? Или, как определить, что торговля запрещена еще до вызова OrderSend()?
 
Возможно, Вы пытаетесь торговать CFD вне сессии.
 
Нет, валютой. На конкурсном счете, но торговля пока запрещена, вот хотел настроить эксперта, чтоб он не торговал пока торговлю не разрешат, а как это реализовать что-то не могу понять.
 
Я для себя в советнике сделал просто проверку времени торговли (это для InterbankFX):
if((DayOfWeek()==5 && TimeHour(CurTime())>=20) || DayOfWeek()==6 || (DayOfWeek()==0 && TimeHour(CurTime())<23)) time_trade_permition=false;
else time_trade_permition=true;

if(time_trade_permition){торгуем}


Думаю, что идея понятна? Для конкурсного счёта будет немного проще ;o)

 
Хотелось бы найти универсальное решение. Не могу только понять, почему функция IsTradeAllowed() не работает, она разве не для этих целей?
 
Я так раньше тоже думал ;o). Но видимо при работе с ней есть либо какая-то особенность, о которой нам неизвестно, либо разработчики просто "забыли" о её поддержке в новых билдах. Это уж только они смогут ответить как обстоят дела на самом деле.
 
Попробуйте вариант

MarketInfo(Symbol(),MODE_TRADEALLOWED)
интересно будет посмотреть на резульат. Хотя не факт, что на конкурсном счету этот параметр:
а) будет задействован
б) должен быть задействован
 
Функция IsTradeAllowed возвращает TRUE, если эксперту разрешено торговать и поток для выполнения торговых операций свободен, иначе возвращает FALSE.
 
У меня значение TRUE эта функция возвращает в субботу и воскресенье, когда торговля не происходит у брокера InterBankFX. Именно из-за этого пришлось городить проверку текущего времени, чтобы зацикленный эксперт не пытался посылать ордера на сервер в выходные дни. При этом терминал запускался не в рабочие дни, а именно в выходные для проверки. Может быть просто что-то не так с настройками сервера у брокера?
Проверка осуществлялась 3 недели назад. Правда они недавно переехали в другой офис и сменили сервер. Может быть попытаться проверить ещё разок в ближайшие выходные?
 
"Разрешено торговать" - имеется в виду галочка в настройках терминала :)
 
Эксперту разрешено торговать - это значит стоит галка "Разрешить советнику торговать" в свойствах эксперта.
Причина обращения: