Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Делись ссылками на форуме. Теперь они имеют Rich Content!
Forex Trader
114255
Forex Trader 2006.11.13 08:56 
Что-то не могу понять. Почему функция IsTradeAllowed() выдает TRUE, а OrderSend() выдает ошибку 133? Или, как определить, что торговля запрещена еще до вызова OrderSend()?
Forex Trader
114255
Forex Trader 2006.11.13 09:38  
Возможно, Вы пытаетесь торговать CFD вне сессии.
Forex Trader
114255
Forex Trader 2006.11.13 09:45  
Нет, валютой. На конкурсном счете, но торговля пока запрещена, вот хотел настроить эксперта, чтоб он не торговал пока торговлю не разрешат, а как это реализовать что-то не могу понять.
Forex Trader
114255
Forex Trader 2006.11.13 09:51  
Я для себя в советнике сделал просто проверку времени торговли (это для 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
114255
Forex Trader 2006.11.13 10:21  
Хотелось бы найти универсальное решение. Не могу только понять, почему функция IsTradeAllowed() не работает, она разве не для этих целей?
Forex Trader
114255
Forex Trader 2006.11.13 10:31  
Я так раньше тоже думал ;o). Но видимо при работе с ней есть либо какая-то особенность, о которой нам неизвестно, либо разработчики просто "забыли" о её поддержке в новых билдах. Это уж только они смогут ответить как обстоят дела на самом деле.
Forex Trader
114255
Forex Trader 2006.11.13 10:39  
Попробуйте вариант

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