Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Forex Trader
114283
Forex Trader  
Что-то не могу понять. Почему функция IsTradeAllowed() выдает TRUE, а OrderSend() выдает ошибку 133? Или, как определить, что торговля запрещена еще до вызова OrderSend()?
Forex Trader
114283
Forex Trader  
Возможно, Вы пытаетесь торговать CFD вне сессии.
Forex Trader
114283
Forex Trader  
Нет, валютой. На конкурсном счете, но торговля пока запрещена, вот хотел настроить эксперта, чтоб он не торговал пока торговлю не разрешат, а как это реализовать что-то не могу понять.
Forex Trader
114283
Forex Trader  
Я для себя в советнике сделал просто проверку времени торговли (это для 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)

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

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